SAML请求的以下部分能否导致原因:com.sun.xml.wss.impl.WssSoapFaultException:签名验证失败异常?

<ds:KeyInfo> <ds:X509Data/></ds:KeyInfo>

谢谢。

最佳答案

是的,它可以。 SAML消息中的Signature/KeyInfo/X509Data元素应包含带有用于签署SAML消息的公钥的证书。您的情况为空,这可能导致签名验证错误。

还要注意,通常您会事先通过带外信任通道为发件人确定公钥的真实性。如果您收到了多个证书或使用了证书颁发机构,则仅将X509Data用作指向实际公钥的指针。

请注意,KeyInfo元素是可选的,发件人可以从Signature中忽略它,在这种情况下,与提供一个空元素相比,这是一个更好的选择,因为它可能会破坏接收软件。后者似乎正在这里发生。 FWIW:绝大多数SAML实现始终包含KeyInfo元素。

09-27 10:09