指定用於簽署與加密訊息的 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" />
屬性和項目
下列各節說明屬性、子元素和父元素
Attributes
| Attribute | Description |
|---|---|
findValue |
一個包含在 X.509 憑證儲存庫中搜尋的值的字串。 屬性中包含的類型必須符合指定 X509FindType 的要求。 預設值是空字串。 |
storeLocation |
指定客戶端用來驗證伺服器憑證的 X.509 憑證儲存位置。 有效的數值包括以下幾項: - LocalMachine:分配給本地機器的憑證儲存庫。 - CurrentUser:指派給目前使用者的憑證儲存庫。 預設是 LocalMachine。 |
storeName |
指定要開啟的 X.509 憑證儲存名稱。 有效的數值包括以下幾項: - 通訊錄:其他使用者的憑證儲存庫。 - AuthRoot:第三方認證機構(CA)的憑證儲存庫。 - 認證機構:中介認證機構(CA)的憑證儲存庫。 - 不允許:為被撤銷的憑證儲存。 - My:個人憑證的憑證儲存庫。 - 根憑證:用於受信任根憑證授權機構(CA)的憑證儲存。 - TrustedPeople:直接儲存可信人員與資源的憑證。 - TrustedPublisher:直接可信發佈者的憑證儲存庫。 預設是「我的」。 |
X509FindType |
定義要執行的 X.509 搜尋類型。 有效的數值包括以下幾項: - FindByThumbPrint - 尋找主體名稱 - 尋找被主體傑出名稱 - 尋找發行人名稱 - FindByIssuerdistinguishedName - FindBySerialNumber - FindByTimeValid - 尋找時間尚未有效 - 尋找範本名稱 - FindByApplicationPolicy - FindByCertificatePolicy - FindByExtension - 尋找按鍵使用法 - FindBySubjectKeyIdentifier 屬性中包含的 findValue 類型必須符合指定 X509FindType 的要求。預設值為 FindBySubjectDistinguishedName。 |
子專案
沒有。
父項目
| 元素 | Description |
|---|---|
| <客戶憑證> |
備註
當服務必須事先取得客戶端憑證,才能與客戶端安全通訊時,會 <certificate> 使用此元素。 這種情況發生在使用雙工通訊模式時。 在較典型的請求/回應模式中,客戶端會在請求中包含其憑證,服務利用此憑證加密並簽署回應給客戶端。 然而,在雙工通訊模式中,服務沒有客戶端的請求,因此需要事先取得客戶端的憑證來保護訊息給客戶端的安全。 因此,您必須透過帶外協商取得客戶的憑證,並利用此元素指定憑證。 如需雙工服務的詳細資訊,請參閱操作說明:建立雙面合約。
Example
以下程式碼說明如何在元素中找到合適的 X.509 憑證及自訂驗證型別 <authentication> 。
<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>