私はSPとして働き、最近はIDPと統合する必要があります。 IDPの文書では、私にhttp postの応答を送るでしょう。応答には、ds:SignatureValueとds:X509Certificateがあります。このSAML: Why is the certificate within the Signature?のようなスレッドがあります。スレッドは、そのメッセージが誰であるかを確認する方法にのみ答えます。SAMLの信頼性確認
1)ds:SignatureValueとds:X509Certificateの意味は何ですか?
2)どのように応答するのが私のIDPからですか?ハッカーが私のhttp投稿アドレスを知っていれば、簡単に私のアプリケーションに同様のhttp投稿要求を送ることができます。 httpリクエストヘッダーにリファラーがあることがわかりました。私のIDPからのリクエストを確認するのに安全ですか?
3)IDPはSP公衆署名証明書を送信するように頼んだので、そのフォーマットはDERでエンコードされたバイナリX.509(* .CER)でなければなりません。公的な公的な署名証明書を作成するには?
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Reference URI="#_2152811999472b94a0e9644dbc932cc3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ec:InclusiveNamespaces PrefixList="ds saml samlp xs" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:DigestValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">bW1Os7+WykqRt5h0mdv9o3ZF0JI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
SignatureValue </ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>X509 certification</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
@ Study Hard:私の答えを投票していただきありがとうございます。これが正しいと思われる場合は、それを最良の答えとして受け入れて、人々が質問とその答えを読みやすくするようにしてください。 – Zeigeist
IdP証明書を使用して着信SAML応答に署名し、受信したds:IdPからSignatureValueと比較する方法を知りました。私はOpenSAMLを使用しており、アサーションと応答からシグネチャを得ることができます。 –
ポイント2にコード参照を追加しました。確認してください。 – Zeigeist