Поделиться через


<certificate> элемента <clientCertificate>

Указывает сертификат X.509, используемый для подписания и шифрования сообщений.

<Конфигурации>
  <system.serviceModel>
    <Поведения>
      <serviceBehaviors>
        <Поведение>
          <serviceCredentials>
            <clientCertificate>
              <Сертификат>

Синтаксис

<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 Задает расположение хранилища сертификатов Х.509, которое клиент использует для проверки сертификата сервера. Допустимые значения.

— LocalMachine: хранилище сертификатов, назначенное локальному компьютеру.
— CurrentUser: хранилище сертификатов, назначенное текущему пользователю.

По умолчанию используется значение LocalMachine.
storeName Задает имя открываемого хранилища сертификатов X.509. Допустимые значения.

— AddressBook: хранилище сертификатов для других пользователей.
— AuthRoot: хранилище сертификатов для сторонних центров сертификации (ЦС).
— CertificationAuthority: хранилище сертификатов для промежуточных центров сертификации (ЦС).
— Запрещено: хранилище сертификатов для отозванных сертификатов.
— My: хранилище сертификатов для личных сертификатов.
— Корневой каталог: хранилище сертификатов для доверенных корневых центров сертификации (ЦС).
— 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> используется в случаях, когда служба должна заранее получить клиентский сертификат для безопасного обмена данными с клиентом. Это характерно для дуплексного обмена данными. В более распространенном варианте «запрос/отклик» клиент включает сертификат в запрос, который используется службой для шифрования и подписания отклика. Тем не менее при дуплексном обмене данными служба не получает запроса от клиента, и ей, таким образом, необходим сертификат клиента заранее, чтобы обеспечить защиту сообщения, отправляемого клиенту. Следовательно, необходимо получить сертификат клиента при согласовании вне диапазона и указать сертификат с помощью этого элемента. Дополнительные сведения о дуплексных службах см. в разделе Практическое руководство. Создание дуплексного контракта.

Пример

В следующем примере кода демонстрируется поиск соответствующего сертификата 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>

См. также раздел