我最近继承了一个使用Spring SAML 2.0的项目,但代码似乎没有验证X509证书。我可以看到它正在验证时间戳和签名值,而不是证书本身。我很难找到清楚解释证书验证过程的文档,这里的任何人是否有我可以找到所需信息的位置,或者有能力解释它。
SAML 2规范仅规定服务提供商(即消费应用程序)应验证签名,它不要求SP对证书本身执行任何验证,即不需要检查证书过期或证书链的有效性等。事实上,SAML规范建议使用长寿命自签名证书,不鼓励使用寿命短的证书或由CA签名的证书。有关更多信息,请参阅本文。
这解释了为什么Spring SAML(以及大多数SAML2实现)不会对x509证书执行验证