2

ADFS で Relying Party (SP) をセットアップしようとしています。ADFS は、署名のない要求を認識して応答します。しかし、ADFS は署名済みの AuthRequest を検証できません。証明書を証明書利用者の「署名検証証明書」セクションにインポートしましたが、この証明書は証明書利用者からの要求の署名検証に使用されていないようです。

むしろ、「トークン復号化」証明書を使用しているようです。この証明書の目的がわかりません。これら2つの証明書の違いと、「トークン復号化」証明書を別の自己署名証明書(DERまたはpem形式)に置き換える方法を誰かが説明してもらえますか? ありがとう

参考: ADFS に送信される認証要求のサンプル

<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://adfs-sj1.sjlab.local/adfs/ls/" ID="_422d0bb72b1120db737695464793dedf4ea8ddd2" IssueInstant="2012-07-30T21:52:47.501Z" Version="2.0">
    <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">spid</saml2:Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
            <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
            <ds:Reference URI="#_422d0bb72b1120db737695464793dedf4ea8ddd2">
                <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                <ds:DigestValue>S5b7PCF8WscoOX++EcpyjQNW4q0=</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>g1PXYERi48Q/vGXNBPwZlteyihQmt3eo9+MIQlBdC8MqTsm8GdvE1Nq4osszEyprAK5Q6Uv5QV/UgctUWGV2hUxLc5bpXVwpaYaoywH0XPXArROR1EyGVz2g5YAjgGxpU0YbxJIk+2A1DblE0alYSK/88oHHcmpwp6dmgwmvfXcRA83DnVCeIZoKSPuNTqSLb6UKk+QxUABieuAb1ecsQmJsEjUXcrPq+RPL1+goNhC4/vbPatuK90ZyZe5CljwAtWXmqoBzWexxgWdzs4E9zIc/aQi/HFioGz0EnPiipgBjHRlV+Gv0iFV1dS++a24+F7H2NG6aZSGipcyj2kJMDg==</ds:SignatureValue>
    </ds:Signature>
</saml2p:AuthnRequest>
4

3 に答える 3

7

良い記事:AD FS 2.0:SSL、サービス通信、トークン署名、およびトークン復号化証明書を置き換える方法

サービス通信証明書は基本的にIISSSL証明書であり、同じ目的を果たします。

トークン復号化証明書は、他のクレームプロバイダーとの通信用です。彼らはこの証明書の公開鍵でトークンを暗号化し、ADFSは秘密鍵で復号化します。

トークン署名証明書は、RPに送信されたトークンに署名して、実際にADFSからのものであることを証明するために使用されます。

さらに、FedUtilを使用するときに暗号化オプションを選択すると、RP側で別の証明書を使用してトークンを暗号化します。この場合、SSLとRP証明書の2つの暗号化が行われます。

あなたの質問はやや紛らわしいです。ADFSは常にRPトークンに署名します。これはオプションではありません。明確にしていただけませんか?

于 2012-07-31T19:44:41.577 に答える
2
  • サービス通信— このSSL証明書は、サーバーへのすべてのクライアント接続を暗号化するために使用されAD FSます。

  • Token-Signing — このx.509証明書は、リレー側に送信されたトークンに署名して、それが実際に から来たことを証明するために使用されAD FSます。

  • Token-Decrypting — この証明書は、トランスポート層で再度暗号化される前x.509に、トークンのペイロードを暗号化するために使用されます。めったに使用されません。SAMLSSL

これがあなたの元の質問に答えることを願っています

于 2016-08-11T10:27:49.983 に答える