<проверка подлинности><элемента clientCertificate>
Указывает расширения функциональности аутентификации для сертификатов клиентов, используемых службой.
<Конфигурации>
<system.serviceModel>
<Поведения>
<serviceBehaviors>
<Поведение>
<serviceCredentials>
<clientCertificate>
<Проверки подлинности>
Синтаксис
<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
includeWindowsGroups="Boolean"
mapClientCertificateToWindowsAccount="Boolean"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="CurrentUser/LocalMachine" />
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
customCertificateValidatorType | Необязательная строка. Тип и сборка, используемые для проверки пользовательского типа. Этот атрибут должен быть задан, когда certificateValidationMode имеет значение Custom . |
certificateValidationMode | Необязательное перечисление. Задает один из режимов для проверки учетных данных. Это атрибут типа X509CertificateValidationMode. Если свойству присвоено значение X509CertificateValidationMode.Custom, также необходимо указать свойство customCertificateValidator . Значение по умолчанию — X509CertificateValidationMode.ChainTrust. |
includeWindowsGroups | Необязательный логический атрибут. Указывает, включены ли группы Windows в контекст безопасности. Установка для этого атрибута значения true снижает производительность, поскольку приводит к расширению всей группы. Если нет необходимости устанавливать список групп, к которым принадлежит пользователь, установите для этого атрибута значение false . |
mapClientCertificateToWindowsAccount | Логическое. Указывает, может ли клиент сопоставляться с удостоверением Windows с помощью сертификата. Для этого необходимо включить службу Active Directory. |
revocationMode | Необязательное перечисление. Один из режимов, используемых для проверки списков отозванных сертификатов (RCL). Значение по умолчанию — Online . Это значение не учитывается при использовании безопасности транспорта HTTP. |
trustedStoreLocation | Необязательное перечисление. Одно из двух местоположений системного хранилища: LocalMachine или CurrentUser . Данное значение используется при согласовании сертификата службы для клиента. Проверка выполняется для доверенного хранилища Люди в указанном расположении хранилища. Значение по умолчанию — CurrentUser . |
Атрибут customCertificateValidatorType
Значение | Описание |
---|---|
Строка | Задает имя типа и сборку, а также другие данные, используемые для поиска типа. |
Атрибут certificateValidationMode
Значение | Описание |
---|---|
Перечисление | Одно из следующих значений: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Дополнительные сведения см. в разделе Работа с сертификатами. |
Атрибут revocationMode
Значение | Описание |
---|---|
Перечисление | Одно из следующих значений: NoCheck, Online, Offline. Дополнительные сведения см. в разделе Работа с сертификатами. |
Атрибут trustedStoreLocation
Значение | Описание |
---|---|
Перечисление | Одно из следующих значений: LocalMachine или CurrentUser . Значение по умолчанию — CurrentUser . Если клиентское приложение выполняется под учетной записью системы, сертификат обычно находится в расположении LocalMachine . Если клиентское приложение выполняется под учетной записью пользователя, то сертификат обычно находится в расположении CurrentUser . |
Дочерние элементы
Отсутствует.
Родительские элементы
Элемент | Описание |
---|---|
<clientCertificate> | Определяет сертификат X.509, используемый для проверки подлинности клиента по отношению к службе. |
Комментарии
Элемент <authentication>
соответствует классу X509ClientCertificateAuthentication. Это дает возможность настраивать способ проверки подлинности клиентов. Для атрибута certificateValidationMode
можно задать значение None
, ChainTrust
, PeerOrChainTrust
, PeerTrust
или Custom
. По умолчанию для этого уровня задано ChainTrust
значение , которое указывает, что каждый сертификат должен находиться в иерархии сертификатов, заканчивающейся в корневом центре в верхней части цепочки. Это наиболее безопасный режим. Также можно установить значение PeerOrChainTrust
, в этом случае будут приниматься как самостоятельно выдаваемые сертификаты (доверие одноранговой группы), так и сертификаты, которые находятся в цепи доверия. Данное значение используется при разработке и отладке клиентов и служб, так как самостоятельно выданные сертификаты не нужно приобретать у доверенного центра сертификации. При развертывании клиента вместо этого значения следует использовать значение ChainTrust
.
Также можно установить значение Custom
. При установке значения Custom
необходимо также задать атрибут customCertificateValidatorType
для сборки и тип, который используется при проверке сертификата. Для создания собственного пользовательского модуля проверки необходимо наследование от абстрактного класса X509CertificateValidator. Дополнительные сведения см. в разделе Практическое руководство. Создание службы, которая использует пользовательский проверяющий элемент управления сертификатами.
Пример
В следующем примере кода задается сертификат 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>
См. также раздел
- X509ClientCertificateAuthentication
- X509CertificateValidationMode
- Authentication
- Authentication
- X509ClientCertificateAuthenticationElement
- Поведение безопасности
- Практическое руководство. Создание службы, использующей пользовательский проверяющий элемент управления для сертификатов
- Работа с сертификатами