次の方法で共有


<knownCertificates> の <add>

既知の証明書のコレクションに X.509 証明書を追加します。

configuration
  system.serviceModel
    behaviors
      <serviceBehaviors>
        behavior
          <serviceCredentials>
            <issuedTokenAuthentication>
              <knownCertificates>
                <add>

構文

<knownCertificates>
   <add findValue="String"
      storeLocation="CurrentUser/LocalMachine"
      storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
      x509FindType="FindByThumbprint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindBySerialNumber/FindByTimeExpired/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier"/>
</knownCertificates>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
findValue 文字列 をオンにします。 検索する値。
storeLocation 列挙値。 検索する 2 つの格納場所のいずれかです。
storeName 列挙値。 検索するシステム ストアのいずれかです。
x509FindType 列挙値。 検索する証明書フィールドのいずれかです。

findValue 属性

[値] 説明
String 値は、検索されるフィールド (X509FindType 属性により指定される) によって異なります。 たとえば、サムプリント検索する場合、値は 16 進数の文字列にする必要があります。

x509FindType 属性

[値] 説明
列挙 値は、FindByThumbprint、FindBySubjectName、FindBySubjectDistinguishedName、FindByIssuerName、FindByIssuerDistinguishedName、FindBySerialNumber、FindByTimeValid、FindByTimeNotYetValid、FindBySerialNumber、FindByTimeExpired、FindByTemplateName、FindByApplicationPolicy、FindByCertificatePolicy、FindByExtension、FindByKeyUsage、FindBySubjectKeyIdentifier です。

storeLocation 属性

[値] 説明
列挙 CurrentUser または LocalMachine です。

storeName 属性

[値] 説明
列挙 値は、AddressBook、AuthRoot、CertificateAuthority、Disallowed、My、Root、TrustedPeople、および TrustedPublisher です。

子要素

なし。

親要素

要素 説明
<knownCertificates> セキュリティ トークンを検証するためのセキュリティ トークン サービス (STS) によって提供される X.509 証明書のコレクションを表します。

解説

発行されるトークンのシナリオには、3 つの段階があります。 まず、サービスにアクセスしようとしているクライアントがセキュリティ トークン サービスに参照されます。 次に、セキュリティ トークン サービスがクライアントを認証し、その後、クライアントにトークン (通常は、SAML (Security Assertions Markup Language) トークン) を発行します。 最後に、クライアントがトークンを持ってサービスに戻ります。 サービスはトークンを調べ、トークンを認証することでクライアントの認証を可能にするデータを確認します。 トークンを認証するには、セキュリティ トークン サービスで使用される証明書がサービスによって認識されている必要があります。

<issuedTokenAuthentication> 要素は、このようなセキュリティ トークン サービス証明書のリポジトリです。 証明書を追加するには、<knownCertificates> を使用します。 次の例に示すように、証明書ごとに <add> 要素 <knownCertificates> 要素を挿入します。

<issuedTokenAuthentication>
  <knownCertificates>
    <add findValue="www.contoso.com"
         storeLocation="LocalMachine"
         storeName="My"
         X509FindType="FindBySubjectName" />
  </knownCertificates>
</issuedTokenAuthentication>

既定では、証明書はセキュリティ トークン サービスから取得する必要があります。 このような "既知" の証明書により、正当なクライアントのみがサービスにアクセスできるようになります。

クライアントがフェデレーション サービスによって認証される条件と、この構成要素の使い方の詳細については、「方法 : フェデレーション サービスで資格情報を設定する」を参照してください。 フェデレーション シナリオの詳細については、「フェデレーションと発行済みトークン」を参照してください。

以下の例では、STS 証明書のリポジトリに証明書を追加します。

<serviceBehaviors>
  <behavior name="myServiceBehavior">
    <serviceCredentials>
      <issuedTokenAuthentication>
        <knownCertificates>
          <add findValue="www.contoso.com"
               storeLocation="LocalMachine"
               storeName="CertificateAuthority"
               x509FindType="FindByIssuerName" />
        </knownCertificates>
      </issuedTokenAuthentication>
    </serviceCredentials>
  </behavior>
</serviceBehaviors>

関連項目