<autenticação> do elemento <serviceCertificate>
Especifica as configurações usadas pelo proxy do cliente para autenticar certificados de serviço que são obtidos usando negociação SSL/TLS.
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<serviceCertificate>
<authentication>
Syntax
<authentication customCertificateValidatorType="String"
certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
Atributos e elementos
As seções a seguir descrevem os atributos, os elementos filho e os elementos pai
Atributos
Atributo | Descrição |
---|---|
customCertificateValidatorType | Cadeia de caracteres. Um tipo e um assembly usados para validar um tipo personalizado. |
certificateValidationMode | Especifica um dos três modos usados para validar credenciais. Se definido como Custom , deve ser fornecido também um customCertificateValidator. O padrão é ChainTrust . |
revocationMode | Um dos modos usados para verificar se há uma RCL (lista de certificados) revogada. O padrão é Online . |
trustedStoreLocation | Um dos dois locais do repositório do sistema: LocalMachine ou CurrentUser . Esse valor é usado quando um certificado de serviço é negociado com o cliente. A validação é executada no repositório de Pessoas Confiáveis no local do repositório especificado. O padrão é CurrentUser . |
Atributo customCertificateValidator
Valor | Descrição |
---|---|
String | Especifica o assembly e o nome do tipo e outros dados usados para localizar o tipo. |
Atributo certificateValidationMode
Valor | Descrição |
---|---|
Enumeração | Um dos seguintes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Para saber mais, confira Como trabalhar com certificados. |
Atributo revocationMode
Valor | Descrição |
---|---|
Enumeração | Um dos seguintes valores: NoCheck, Online, Offline. Para saber mais, confira Como trabalhar com certificados. |
Atributo trustedStoreLocation
Valor | Descrição |
---|---|
Enumeração | Um dos seguintes valores: LocalMachine ou CurrentUser. O padrão é CurrentUser. Se o aplicativo cliente estiver em execução em uma conta do sistema, o certificado normalmente estará em LocalMachine. Se o aplicativo cliente estiver em execução em uma conta de usuário, o certificado normalmente estará em CurrentUser. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<serviceCertificate> | Especifica um certificado que será utilizado ao autenticar um serviço para o cliente. |
Comentários
O atributo certificateValidationMode
desse elemento de configuração especifica o nível de confiança usado para autenticar certificados. Por padrão, o nível é definido como ChainTrust
, que especifica que cada certificado deve ser encontrado em uma hierarquia de certificados que termina em uma autoridade de certificação confiável na parte superior da cadeia. Este é o modo de maior segurança. Você também pode definir o valor como PeerOrChainTrust
, que especifica que certificados autoemitidos (confiança de par) são aceitos, bem como certificados que estão em uma cadeia confiável. Esse valor é usado ao desenvolver e depurar clientes e serviços porque os certificados autoemitidos não precisam ser adquiridos de uma autoridade confiável. Ao implantar um cliente, use o valor ChainTrust
em seu lugar. Também é possível definir o valor como Custom
ou None
. Para usar o valor Custom
, você também deverá definir o atributo customCertificateValidator
para um assembly e um tipo usados para validar o certificado. Para criar seu próprio validador personalizado, você deve herdar da classe abstrata x509CertificateValidator. Para mais informações, confira Como: criar um serviço que emprega um validador de certificado personalizado.
O atributo revocationMode
especifica como os certificados são verificados para revogação. O padrão é online
, o que indica que os certificados serão verificados automaticamente para revogação. Para saber mais, confira Como trabalhar com certificados.
Exemplo
O exemplo a seguir faz duas tarefas. Primeiro, especifica um certificado de serviço para o cliente usar ao se comunicar com pontos de extremidade cujo nome de domínio é www.contoso.com
sobre o protocolo HTTP. Em segundo lugar, especifica o modo de revogação e o local do repositório usados durante a autenticação.
<serviceCertificate>
<defaultCertificate findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindByIssuerDistinguishedName" />
<scopedCertificates>
<add targetUri="http://www.contoso.com"
findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="Root"
x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
Confira também
- X509RecipientCertificateClientElement
- X509CertificateRecipientClientCredential
- Authentication
- X509ServiceCertificateAuthentication
- Comportamentos de segurança
- Trabalhando com certificados
- Como: criar um serviço que utiliza um validador de certificado personalizado
- <authentication>
- Protegendo clientes
- Protegendo serviços e clientes