Dan*_*tto 7 adfs saml shibboleth service-provider
我正在查看SAML IdP的元数据,它列出了三个唯一的证书-2个签名和1个加密。
...
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
...Run Code Online (Sandbox Code Playgroud)
我知道为什么它列出了签名和加密证书,但是如何确定在服务提供商中使用哪个签名证书?为什么根本没有两个签名证书?
提前致谢!
And*_*bel 10
当IDP更改其签名证书时,它首先与元数据中的旧证书并行发布新证书。当idp实际上切换到使用新证书时,所有SP都必须知道新证书,否则它们将无法验证签名。
作为SP,您不知道IDP在此过程中的位置,因此您必须检查签名是否对列出的两个证书中的任何一个进行验证。