<peerAuthentication> 元素
指定對等用戶端的驗證選項。
如需對等程式設計的詳細資訊,請參閱對等網路。
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<peer>
<peerAuthentication>
Syntax
<peerAuthentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="CurrentUser/LocalMachine" />
屬性和項目
下列各節說明屬性、子元素和父元素
屬性
屬性 | 描述 |
---|---|
customCertificateValidatorType |
選擇性字串。 用來驗證自訂型別的型別和組件。 當 certificateValidationMode 設定為 Custom 時,必須設定這個屬性。 |
certificateValidationMode |
選擇性列舉。 指定用來驗證認證之三個模式的其中一個。 如果設定為 Custom ,也必須提供 customCertificateValidator 。 預設為 ChainTrust 。 |
revocationMode |
選擇性列舉。 用於檢查撤銷憑證清單 (CRL) 的模式之一。 預設值為 Online 。 |
trustedStoreLocation |
選擇性列舉。 兩個系統存放位置的其中一個:LocalMachine 或 CurrentUser 。 當與用戶端交涉服務憑證時,會使用這個值。 對指定存放位置內信任的個人存放區執行驗證。 預設值為 CurrentUser 。 |
customCertificateValidatorType 屬性
值 | 描述 |
---|---|
String | 指定型別名稱和組件以及用來尋找此型別的其他資料。 至少需要命名空間和型別名稱。 選擇性的資訊包括:組件名稱、版本號碼、文化特性和公開金鑰權杖。 |
certificateValidationMode 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:None 、PeerTrust 、ChainTrust 、PeerOrChainTrust 、Custom 。 預設值為 ChainTrust 。如需詳細資訊,請參閱使用憑證。 |
revocationMode 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:NoCheck 、Online 、Offline 。 預設值為 Online 。如需詳細資訊,請參閱使用憑證。 |
trustedStoreLocation 屬性
值 | 描述 |
---|---|
列舉型別 | 下列其中一個值:LocalMachine 或 CurrentUser 。 預設值為 CurrentUser 。 如果用戶端應用程式是在系統帳戶下執行,則憑證通常位於 LocalMachine 之下。 如果用戶端應用程式是在使用者帳戶下執行,則憑證通常位於 CurrentUser 。 |
子元素
無。
父項目
元素 | 描述 |
---|---|
<peer> | 指定向對等服務驗證用戶端時所使用的認證。 |
備註
<authentication>
項目對應至 X509PeerCertificateAuthentication 類別。 這個項目會指定驗證程式,當網狀結構中進行鄰居對鄰居驗證時,就會叫用此驗證程式。 當新對等嘗試建立鄰居連線時,它會將自己的認證傳遞至對應的對等。 會叫用回應程式的驗證器來驗證遠端方的認證。 每次在網狀結構中建立對等連線時,對等的兩方會互相驗證,亦即會叫用兩端的驗證程式。
範例
下列程式碼會將憑證驗證模式設定為 PeerOrChainTrust
。
<behaviors>
<endpointBehaviors>
<behavior name="MyEndpointBehavior">
<clientCredentials>
<peer>
<certificate findValue="www.contoso.com"
storeLocation="LocalMachine"
x509FindType="FindByIssuerName" />
<peerAuthentication certificateValidationMode="PeerOrChainTrust" />
<messageSenderAuthentication certificateValidationMode="None" />
</peer>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>