<authentication> элемента < serviceCertificate>
Задает параметры, которые использует прокси клиента для проверки подлинности сертификатов службы, полученных при помощи согласования SSL/TLS.
Иерархия схемы
<system.serviceModel>
<варианты поведения>
<endpointBehaviors>
<behavior> для <endpointBehaviors>
<clientCredentials>
<serviceCertificate> для <serviceCredentials>
<authentication> элемента < serviceCertificate>
Синтаксис
<authentication customCertificateValidatorType="String" certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
customCertificateValidatorType |
Строка. Тип и сборка, используемые для проверки пользовательского типа. |
certificateValidationMode |
Задает один из трех режимов для проверки учетных данных. Если задано значение Custom, также необходимо предоставить customCertificateValidator. Значение по умолчанию — ChainTrust. |
revocationMode |
Один из режимов, используемых для проверки списков отозванных сертификатов (CRL). Значение по умолчанию — Online. |
trustedStoreLocation |
Одно из двух местоположений системного хранилища: LocalMachine или CurrentUser. Данное значение используется при согласовании сертификата службы для клиента. Проверка выполняется для хранилища Доверенные лица в указанном местоположении хранилища. Значение по умолчанию — CurrentUser. |
Дочерние элементы
Нет.
Родительские элементы
Элемент | Описание |
---|---|
Задает сертификат для использования при проверке подлинности службы для клиента. |
Замечания
Атрибут certificateValidationMode данного элемента конфигурации указывает уровень доверия, который используется при проверке подлинности сертификатов. По умолчанию для уровня устанавливается значение ChainTrust, которое указывает, что каждый сертификат должен находиться в иерархии сертификатов, которая на самом верху цепи завершается доверенным центром сертификации. Это наиболее безопасный режим. Также можно установить значение PeerOrChainTrust, в этом случае будут приниматься как самостоятельно выдаваемые сертификаты (доверие одноранговой группы), так и сертификаты, которые находятся в цепи доверия. Данное значение используется при разработке и отладке клиентов и служб, так как самостоятельно выданные сертификаты не нужно приобретать у доверенного центра сертификации. При развертывании клиента вместо этого значения следует использовать значение ChainTrust. Также можно задать значение Custom или None. Чтобы использовать значение Custom, необходимо также установить атрибут customCertificateValidator для сборки и типа, которые используются при проверке сертификата. Для создания собственного пользовательского проверяющего элемента управления необходимо унаследовать его от абстрактного класса X509CertificateValidator. Дополнительные сведения см. в разделе How To: Create a Service Employing a Custom Certificate Validator.
Атрибут revocationMode указывает способ проверки отозванных сертификатов. По умолчанию используется значение online, которое указывает, что проверка, является ли сертификат отозванным, будет выполняться автоматически. Дополнительные сведения см. в разделе Working with Certificates.
Пример
В следующем примере выполняется две задачи. Во-первых, указывается сертификат службы для клиента, который должен использоваться при связи по протоколу HTTP с конечными точками, именем домена которых является www.contoso.com. Во-вторых, в этом примере указывается режим отзыва и место хранения, которые используются при проверке подлинности.
<serviceCertificate>
<defaultCertificate findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindByIssuerDistinguishedName" />
<scopedCertificates>
<add targetUri="https://www.contoso.com"
findValue="www.contoso.com" storeLocation="LocalMachine"
storeName="Root" x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
См. также
Справочник
<authentication> элемента <clientCertificate>
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication
Другие ресурсы
Security Behaviors in WCF
Working with Certificates
How To: Create a Service Employing a Custom Certificate Validator
Securing Clients
Securing Services and Clients