SAML请求的以下部分能否导致原因:com.sun.xml.wss.impl.WssSoapFaultException:签名验证失败异常?<ds:KeyInfo> <ds:X509Data/></ds:KeyInfo>
谢谢。
最佳答案
是的,它可以。 SAML消息中的Signature/KeyInfo/X509Data
元素应包含带有用于签署SAML消息的公钥的证书。您的情况为空,这可能导致签名验证错误。
还要注意,通常您会事先通过带外信任通道为发件人确定公钥的真实性。如果您收到了多个证书或使用了证书颁发机构,则仅将X509Data
用作指向实际公钥的指针。
请注意,KeyInfo
元素是可选的,发件人可以从Signature
中忽略它,在这种情况下,与提供一个空元素相比,这是一个更好的选择,因为它可能会破坏接收软件。后者似乎正在这里发生。 FWIW:绝大多数SAML实现始终包含KeyInfo
元素。