<clientCertificate> 元素的 <certificate>
指定用來簽署與加密訊息的 X.509 憑證。
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceCredentials>
<clientCertificate>
<certificate>
Syntax
<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" />
屬性和項目
下列各節說明屬性、子元素和父元素
屬性
屬性 | 描述 |
---|---|
findValue |
字串,其中包含要在 X.509 憑證存放區內搜尋的值。 屬性所包含的型別必須滿足指定之 X509FindType 的需求。 預設為空字串。 |
storeLocation |
指定 X.509 憑證存放區的位置,用戶端會使用該憑證存放區來驗證伺服器的憑證。 有效值如下: - LocalMachine:指派給本機電腦的憑證存放區。 - CurrentUser:指派給目前使用者的憑證存放區。 預設為 LocalMachine。 |
storeName |
指定要開啟之 X.509 憑證存放區的名稱。 有效值如下: - AddressBook:其他使用者的憑證存放區。 - AuthRoot:協力廠商憑證授權單位 (CA) 的憑證存放區。 - CertificationAuthority:中繼憑證授權單位 (CA) 的憑證存放區。 - Disallowed:已撤銷憑證的憑證存放區。 - My:個人憑證的憑證存放區。 - Root:可信根憑證授權單位 (CA) 的憑證存放區。 - TrustedPeople:直接信任人員和資源的憑證存放區。 - TrustedPublisher:直接信任發行者的憑證存放區。 預設為 My。 |
X509FindType |
定義要執行之 X.509 搜尋的類型。 有效值如下: - FindByThumbPrint - FindBySubjectName - FindBySubjectDistinguishedName - FindByIssuerName - FindByIssuerDistinguishedName - FindBySerialNumber - FindByTimeValid - FindByTimeNotYetValid - FindByTemplateName - FindByApplicationPolicy - FindByCertificatePolicy - FindByExtension - FindByKeyUsage - FindBySubjectKeyIdentifier findValue 屬性所包含的型別必須滿足指定之 X509FindType 的需求。預設值為 FindBySubjectDistinguishedName。 |
子元素
無。
父項目
元素 | 描述 |
---|---|
<clientCertificate> |
備註
當服務必須具有用戶端的憑證,進而與用戶端安全地進行通訊時,則會使用 <certificate>
項目。 這種情況發生在使用雙工通訊模式時。 在較為典型的要求/回應模式中,用戶端會在要求中納入其憑證,服務便使用此憑證加密與簽署其對於用戶端的回應。 然而,在雙工通訊模式中,服務沒有來自用戶端的要求,因此需要用戶端的憑證,進而保護傳送到用戶端的訊息安全。 所以,您必須在超出範圍的交涉中取得用戶端的憑證,並使用此項目指定憑證。 如需雙面服務的詳細資訊,請參閱操作說明:建立雙面合約。
範例
下列程式碼說明如何在 <authentication>
項目中尋找適當的 X.509 憑證和自訂驗證類型。
<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>