<serviceCertificate> 元素的<authentication>
指定用戶端 Proxy 用來驗證服務憑證的設定,而這份憑證是使用 SSL/TLS 交涉所取得。
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<serviceCertificate>
<authentication>
Syntax
<authentication customCertificateValidatorType="String"
certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
屬性和項目
下列各節說明屬性、子元素和父元素
屬性
屬性 | 描述 |
---|---|
customCertificateValidatorType | 字串。 用來驗證自訂型別的型別和組件。 |
certificateValidationMode | 指定用來驗證認證之三個模式的其中一個。 如果設定為 Custom ,也必須提供 customCertificateValidator。 預設值為 ChainTrust 。 |
revocationMode | 用於檢查撤銷憑證清單 (CRL) 的模式之一。 預設值為 Online 。 |
trustedStoreLocation | 兩個系統存放位置的其中一個:LocalMachine 或 CurrentUser 。 當與用戶端交涉服務憑證時,會使用這個值。 對指定存放位置內信任的個人存放區執行驗證。 預設值為 CurrentUser 。 |
customCertificateValidator 屬性
值 | 描述 |
---|---|
String | 指定型別名稱和組件以及用來尋找此型別的其他資料。 |
certificateValidationMode 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:None、PeerTrust、ChainTrust、PeerOrChainTrust、Custom。 如需詳細資訊,請參閱使用憑證。 |
revocationMode 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:NoCheck、Online、Offline。 如需詳細資訊,請參閱使用憑證。 |
trustedStoreLocation 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:LocalMachine 或 CurrentUser。 預設值為 CurrentUser。 如果用戶端應用程式是在系統帳戶下執行,則憑證通常位於 LocalMachine 之下。 如果用戶端應用程式是在使用者帳戶下執行,則憑證通常位於 CurrentUser 中。 |
子元素
無。
父項目
元素 | 描述 |
---|---|
<serviceCertificate> | 指定對用戶端驗證服務時所使用的憑證。 |
備註
這個組態項目的 certificateValidationMode
屬性會指定用來驗證憑證的信任層級。 根據預設,層級會設為 ChainTrust
,指定每一個憑證必須出現在鏈結頂端以受信任的憑證授權單位為結尾的憑證階層中。 這是最安全的模式。 您也可以將值設定為 PeerOrChainTrust
,指定可接受自行發出的憑證 (對等信任),以及信任鏈結內的憑證。 這個值會在開發及偵錯用戶端和服務時使用,因為自行發出的憑證不需要從受信任的授權單位購買。 部署用戶端時,請改用 ChainTrust
值。 您也可以將值設為 Custom
或 None
。 若要使用 Custom
值,您必須同時將 customCertificateValidator
屬性 (Attribute) 設為可用來驗證憑證的組件與型別。 若要建立自己的自訂驗證程式,您必須繼承自抽象 X509CertificateValidator 類別。 如需詳細資訊,請參閱操作說明:建立使用自訂憑證驗證程式的服務。
revocationMode
屬性會指定檢查憑證是否已被撤銷的方法。 預設為 online
,表示會自動檢查該憑證是否已被撤銷。 如需詳細資訊,請參閱使用憑證。
範例
下列範例會執行兩個工作。 首先會為用戶端指定其在使用 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>