Federated Security (具体的には Siteminder) と統合しようとしているアプリケーションがあります。ここにある PHP-SAML ツールキットを使用しています: https://github.com/onelogin/php-saml
アプリケーションに x509 証明書が含まれており、Siteminder 環境で暗号化がオンになるまで、すべて正常に動作します。これをオンにすると、ログインできなくなりました -- 次のメッセージを受け取りました: Invalid SAML response: Cannot locate Signature Node
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>
誰かが助けることができれば、それは素晴らしいことです.