共用方式為


<serviceCertificate> 項目的 <authentication>

指定用戶端 Proxy 用來驗證服務憑證的設定,而這份憑證是使用 SSL/TLS 交涉所取得。

<<system.serviceModel>>
  <behaviors>
    <endpointBehaviors>
      <endpointBehaviors> 的 <behavior>
        <clientCredentials>
          <serviceCredentials> 的 <serviceCertificate>
            <serviceCertificate> 項目的 <authentication>

<authentication customCertificateValidatorType="String" certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline" 
trustedStoreLocation="LocalMachine/CurrentUser" />

屬性和項目

屬性

屬性 描述

customCertificateValidator

字串。用來驗證自訂型別的型別和組件。

certifcateValidationMode

指定用來驗證認證之三個模式的其中一個。如果設定為 Custom,也必須提供 customCertificateValidator。預設為 ChainTrust

revocationMode

用於檢查撤銷憑證清單 (CRL) 的模式之一。預設為 Online

trustedStoreLocation

兩個系統存放位置的其中一個:LocalMachineCurrentUser。當與用戶端交涉服務憑證時,會使用這個值。會針對指定之存放位置內的 [受信任的人] 存放區來執行驗證。預設為 CurrentUser

子項目

無。

父項目

項目 描述

<clientCredentials> 項目的 <serviceCertificate>

指定對用戶端驗證服務時所使用的憑證。

備註

這個組態項目的 certifcateValidationMode 屬性會指定用來驗證憑證的信任層級。根據預設,層級會設為 ChainTrust,指定每一個憑證必須出現在鏈結頂端以受信任的憑證授權單位為結尾的憑證階層中。這是最安全的模式。您也可以將值設定為 PeerOrChainTrust,指定可接受自行發出的憑證 (對等信任),以及信任鏈結內的憑證。這個值會在開發及偵錯用戶端和服務時使用,因為自行發出的憑證不需要從受信任的授權單位購買。部署用戶端時,請改用 ChainTrust 值。您也可以將值設為 CustomNone。若要使用 Custom 值,您必須同時將 customCertificateValidator 屬性 (Attribute) 設為可用來驗證憑證的組件與型別。若要建立自己的自訂驗證程式,您必須繼承自抽象 X509CertificateValidator 類別。如需詳細資訊,請參閱 How To: Create a Service Employing a Custom Certificate Validator

revocationMode 屬性會指定檢查憑證是否已被撤銷的方法。預設為 online,表示會自動檢查該憑證是否已被撤銷。如需詳細資訊,請參閱Working with Certificates

範例

下列範例會執行兩個工作。第一,指定當用戶端以 HTTP 通訊協定與網域名稱為 www.contoso.com 的端點通訊時,使用的服務憑證。第二,指定驗證時使用的撤銷模式和存放區位置。

<serviceCertificate>
  <defaultCertificate findValue="www.contoso.com" 
                      storeLocation="LocalMachine"
                      storeName="TrustedPeople" 
                      x509FindType="FindByIssuerDistinguishedName" />
  <scopedCertificates>
     <add targetUri="https://www.contoso.com" 
          findValue="www.contoso.com" storeLocation="LocalMachine"
                  storeName="Root" x509FindType="FindByIssuerName" />
  </scopedCertificates>
  <authentication revocationMode="Online" 
   trustedStoreLocation="LocalMachine" />
</serviceCertificate>

請參閱

參考

<clientCertificate> 項目的 <authentication>
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication

其他資源

Security Behaviors in WCF
Working with Certificates
How To: Create a Service Employing a Custom Certificate Validator
Securing Clients
Securing Services and Clients