SSL/TLS ネゴシエーションを使用して取得されるサービス証明書を認証するためにクライアント プロキシによって使用される設定を指定します。
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<serviceCertificate>
<authentication>
構文
<authentication customCertificateValidatorType="String"
certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します
Attributes
| 特性 | Description |
|---|---|
| customCertificateValidatorType | String. カスタム型の検証に使用される型とアセンブリ。 |
| certificateValidationMode | 資格情報の検証に使用する 3 つのモードのいずれかを指定します。
Customに設定した場合は、customCertificateValidator も指定する必要があります。 既定値は ChainTrustです。 |
| revocationMode | 失効した証明書リスト (CRL) のチェックに使用されるモードの 1 つ。 既定値は Onlineです。 |
| trustedStoreLocation |
LocalMachineまたはCurrentUserの 2 つのシステム ストアの場所のいずれか。 この値は、サービス証明書がクライアントにネゴシエートされるときに使用されます。 検証は、指定されたストアの場所にある 信頼されたユーザー ストアに対して実行されます。 既定値は CurrentUserです。 |
customCertificateValidator 属性
| 価値 | Description |
|---|---|
| 糸 | 型名とアセンブリ、および型の検索に使用されるその他のデータを指定します。 |
certificateValidationMode 属性
| 価値 | Description |
|---|---|
| 列挙 | 次のいずれかの値: None、PeerTrust、ChainTrust、PeerOrChainTrust、Custom。 詳細については、「 証明書の操作」を参照してください。 |
revocationMode 属性
| 価値 | Description |
|---|---|
| 列挙 | 次のいずれかの値: NoCheck、Online、Offline。 詳細については、「 証明書の操作」を参照してください。 |
trustedStoreLocation 属性
| 価値 | Description |
|---|---|
| 列挙 | 次のいずれかの値: LocalMachine または CurrentUser。 既定値は CurrentUser です。 クライアント アプリケーションがシステム アカウントで実行されている場合、証明書は通常 LocalMachine の下にあります。 クライアント アプリケーションがユーザー アカウントで実行されている場合、証明書は通常 CurrentUser にあります。 |
子要素
なし。
親要素
| 要素 | Description |
|---|---|
| <serviceCertificate> | クライアントに対してサービスを認証するときに使用する証明書を指定します。 |
注釈
この構成要素の certificateValidationMode 属性は、証明書の認証に使用される信頼レベルを指定します。 既定では、レベルは ChainTrust に設定されます。このレベルでは、チェーンの上部にある信頼された証明機関で終わる証明書の階層で各証明書が見つかる必要があることを指定します。 これは最もセキュリティで保護されているモードです。 また、値を PeerOrChainTrust に設定することもできます。これは、信頼されたチェーン内の証明書と共に、自己発行された証明書 (ピア信頼) も受け入れるよう指定します。 自己発行の資格情報は信頼された証明機関から購入したものである必要はないため、この値はクライアントとサービスの開発およびデバッグに使用されます。 クライアントを展開するときは、代わりに ChainTrust 値を使用します。 値を Custom または Noneに設定することもできます。
Custom値を使用するには、証明書の検証に使用するアセンブリと型にcustomCertificateValidator属性を設定する必要もあります。 独自のカスタム 検証コントロールを作成するには、抽象 X509CertificateValidator クラスから継承する必要があります。 詳細については、「方法: カスタム証明書検証を使用するサービスを作成する」を参照してください。
revocationMode属性は、証明書の失効を確認する方法を指定します。 既定値は online で、証明書が自動的に失効チェックされることを示します。 詳細については、「 証明書の操作」を参照してください。
Example
次の例では、2 つのタスクを実行します。 最初に、ドメイン名が HTTP プロトコル経由で www.contoso.com エンドポイントと通信するときにクライアントが使用するサービス証明書を指定します。 次に、認証時に使用される失効モードとストアの場所を指定します。
<serviceCertificate>
<defaultCertificate findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindByIssuerDistinguishedName" />
<scopedCertificates>
<add targetUri="http://www.contoso.com"
findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="Root"
x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
こちらも参照ください
.NET