我有一个正在尝试与 Federated Security 集成的应用程序——特别是 Siteminder。我正在使用此处找到的 PHP-SAML 工具包:https ://github.com/onelogin/php-saml
我在应用程序中包含 x509 证书,一切正常,直到在 Siteminder 环境中打开加密。一旦打开,我就无法再登录——我收到了这条消息:无效的 SAML 响应:找不到签名节点
我已经能够确定从 Siteminder 发送到应用程序的 SAML 断言是加密的。我可以看到断言(示例如下)。不幸的是,我不知道如何解密该消息,以便我可以在我的应用程序中解析和使用。
<Response xmlns="urn:oasis:names:tc:SAML:2.0:protocol"
Destination="{VALUE HERE}"
ID="_076e8f69ec4adb3b72f0cc76570527222e37"
IssueInstant="2013-01-15T18:18:48Z"
Version="2.0"
>
<ns1:Issuer xmlns:ns1="urn:oasis:names:tc:SAML:2.0:assertion"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
>{VALUE HERE}</ns1:Issuer>
<Status>
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</Status>
<ns2:EncryptedAssertion xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion">
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
Type="http://www.w3.org/2001/04/xmlenc#Element"
>
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<xenc:CipherData>
<xenc:CipherValue>{VALUE HERE}</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
<ds:X509Data>
<ds:X509Certificate>
{CERTIFICATE HERE}
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>{VALUE HERE}</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</ns2:EncryptedAssertion>
</Response>
如果有人可以提供帮助,那就太棒了。