次の方法で共有


<clientCertificate> 要素の <certificate>

メッセージの署名と暗号化に使用される X.509 証明書を指定します。

configuration
  system.serviceModel
    behaviors
      <serviceBehaviors>
        behavior
          <serviceCredentials>
            <clientCertificate>
              <証明書 (certificate)>

構文

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

属性および要素

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

属性

属性 説明
findValue X.509 証明書ストアで検索する値を含む文字列。 属性に含まれている型は、指定された X509FindType の要件を満たしている必要があります。 既定値は空の文字列です。
storeLocation クライアントがサーバーの証明書の検証に使用する X.509 証明書ストアの場所を指定します。 有効な値は次のとおりです。

- LocalMachine: ローカル マシンに割り当てられた証明書ストア。
- CurrentUser: 現在のユーザーに割り当てられた証明書ストア。

既定値は LocalMachine です。
storeName 開く X.509 証明書ストアの名前を指定します。 有効な値は次のとおりです。

- AddressBook: 他のユーザー用の証明書ストア。
- AuthRoot: サードパーティ証明機関 (CA) の証明書ストア。
- CertificationAuthority: 中間証明機関 (CA) の証明書ストア。
- Disallowed: 失効した証明書の証明書ストア。
- My: 個人用証明書の証明書ストア。
- Root: 信頼されたルート証明機関 (CA) の証明書ストア。
- TrustedPeople: 直接信頼されたユーザーやリソースの証明書ストア。
- TrustedPublisher: 直接信頼された発行者の証明書ストア。

既定値は My です。
X509FindType 実行する X.509 検索の種類を定義します。 有効な値は次のとおりです。

- FindByThumbPrint
- FindBySubjectName
- FindBySubjectDistinguishedName
- FindByIssuerName
- FindByIssuerDistinguishedName
- FindBySerialNumber
- FindByTimeValid
- FindByTimeNotYetValid
- FindByTemplateName
- FindByApplicationPolicy
- FindByCertificatePolicy
- FindByExtension
- FindByKeyUsage
- FindBySubjectKeyIdentifier

findValue 属性に含まれている型は、指定された X509FindType の要件を満たしている必要があります。

既定値は FindBySubjectDistinguishedName です。

子要素

なし。

親要素

要素 説明
<clientCertificate>

解説

<certificate> 要素は、サービスがクライアントと安全に通信するために、サービスが前もってクライアントの証明書を持っている必要がある場合に使用します。 このような状況は、双方向通信パターンを使用する場合に生じます。 より一般的な要求/応答パターンでは、クライアントは自身の証明書を要求に含め、サービスはそれを使用してクライアントへの応答を暗号化し、署名します。 一方、双方向通信パターンでは、サービスにはクライアントからの要求が来ないので、クライアントの証明書をあらかじめ取得することで、クライアント宛のメッセージのセキュリティを保護する必要があります。 このため、クライアントの証明書を帯域外のネゴシエーションで取得し、この要素を使用して証明書を指定する必要があります。 双方向サービスの詳細については、「方法: 双方向コントラクトを作成する」を参照してください。

次のコードは、<authentication> 要素の適切な X.509 証明書とカスタム検証タイプの検索方法を指定します。

<serviceBehaviors>
  <behavior name="myServiceBehavior">
    <clientCertificate>
      <certificate findValue="www.cohowinery.com"
                   storeLocation="CurrentUser"
                   storeName="TrustedPeople"
                   x509FindType="FindByIssuerName" />
      <authentication customCertificateValidatorType="MyTypes.Coho"
                      certificateValidationMode="Custom"
                      revocationMode="Offline"
                      includeWindowsGroups="false"
                      mapClientCertificateToWindowsAccount="true" />
    </clientCertificate>
  </behavior>
</serviceBehaviors>

関連項目