提问者:小点点

请解释SAML2签名和PKs


我正在开发SAML2服务提供商功能(支持IdP启动的SSO)。

我理解一般流程是: 1)用户在IdP进行身份验证。2)用户通过HTTPPOST启动到我的SP到我的SAMLendpoint——包含XML令牌。3)我SP的断言消费者服务吃掉该令牌,验证它并登录该用户。

我不明白的是证书/私钥部分。我知道IdP与SP共享一个证书,证书用于在SAML令牌到达时验证它…但是,我找不到任何细节(除了官方的SAML规范,我真的很难理解)。

我的问题是:1)谁创建证书?IdP还是SP?2)谁创建私钥?IdP还是SP?3)密钥与证书如何关联?4)密钥/证书如何共享?5)密钥/证书如何创建?

所以,如你所见,我只是想要一个假人的PK/证书解释。就谁创建它们/它们是如何创建的/它们存储在哪里等而言…

非常感谢,


共1个答案

匿名用户

IDP将使用私钥对正在生成并发送给SP的SAML令牌进行签名。SP将使用公钥证书来验证SAML令牌中的签名。

私钥-公钥对将由IDP和保存在IDP服务器上以供签名时使用的私钥创建。公钥将作为元数据的一部分提供给SP。

我建议您阅读PKI文章,以了解PKI设置的详细信息。私钥的存储非常关键,因为它们用于保证令牌不被篡改。