Joh*_*sch 5 saml single-sign-on
不久前,我致力于在 Web 应用程序中设置 SSO 用户身份验证。特定的 IdP 是 ADFS 服务器,但我认为这不是很重要。
配置应用程序的 SSO 设置时,我注意到需要 IdP 证书的指纹,而不是证书本身。现在,据我了解,应用程序使用指纹来验证已颁发的 SAML 令牌上的 IdP 签名。
问题是应用程序如何仅使用证书指纹来验证签名?它不需要证书的公钥,它是证书本身的一部分,但不是它的指纹的一部分?这个签名验证过程如何进行?
指纹在发送方和接收方之间进行带外交换,并在接收端进行配置。它使用公钥来唯一标识证书,发送者使用该公钥来签署其发送的 SAML 消息。
然后,证书本身可以作为 SAML 消息本身的一部分进行带内发送。接收方将将该证书的指纹与存储的指纹进行比较,以确认正在处理适当的发送方和关联的密钥,然后再使用该密钥对 SAML 消息进行加密验证。
这样做的优点是只需要预先在带外交换一条小消息。例如,当通过电话线读出时,这可能很有用,但缺点是需要与每条消息一起发送完整的证书(原则上至少是第一条消息......),这会增加每条消息的大小。
| 归档时间: |
|
| 查看次数: |
4107 次 |
| 最近记录: |