<authentication> do <serviceCertificate> elemento<authentication> of <serviceCertificate> Element

Especifica as configurações usadas pelo proxy do cliente para autenticar certificados de serviço que são obtidos usando a negociação SSL/TLS.Specifies the settings used by the client proxy to authenticate service certificates that are obtained using SSL/TLS negotiation.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <clientCredentials>
            <serviceCertificate>
              <authentication>

SyntaxSyntax

<authentication customCertificateValidatorType="String"
                certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
                revocationMode="NoCheck/Online/Offline"
                trustedStoreLocation="LocalMachine/CurrentUser" />

Atributos e elementosAttributes and Elements

As seções a seguir descrevem atributos, elementos filho e elementos paiThe following sections describe attributes, child elements, and parent elements

AtributosAttributes

AtributoAttribute DescriçãoDescription
customCertificateValidatorTypecustomCertificateValidatorType Cadeia de caracteres.String. Um tipo e um assembly usados para validar um tipo personalizado.A type and assembly used to validate a custom type.
certificateValidationModecertificateValidationMode Especifica um dos três modos usados para validar as credenciais.Specifies one of three modes used to validate credentials. Se definido como Custom , um customCertificateValidator também deverá ser fornecido.If set to Custom, then a customCertificateValidator must also be supplied. O padrão é ChainTrust.The default is ChainTrust.
rerevocationmoderevocationMode Um dos modos usados para verificar se há listas de certificados revogados (CRL).One of the modes used to check for a revoked certificate lists (CRL). O padrão é Online.The default is Online.
trustedStoreLocationtrustedStoreLocation Um dos dois locais de armazenamento do sistema: LocalMachine ou CurrentUser .One of the two system store locations: LocalMachine or CurrentUser. Esse valor é usado quando um certificado de serviço é negociado para o cliente.This value is used when a service certificate is negotiated to the client. A validação é executada no repositório de pessoas confiáveis no local de armazenamento especificado.Validation is performed against the Trusted People store in the specified store location. O padrão é CurrentUser.The default is CurrentUser.

Atributo customCertificateValidatorcustomCertificateValidator Attribute

ValorValue DescriçãoDescription
StringString Especifica o nome do tipo e o assembly e outros dados usados para localizar o tipo.Specifies the type name and assembly and other data used to find the type.

Atributo certificateValidationModecertificateValidationMode Attribute

ValorValue DescriçãoDescription
EnumeraçãoEnumeration Um dos seguintes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.One of the following values: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Para obter mais informações, consulte trabalhando com certificados.For more information, see Working with Certificates.

Atributo rerevocationmoderevocationMode Attribute

ValorValue DescriçãoDescription
EnumeraçãoEnumeration Um dos seguintes valores: NOCHECK, online, offline.One of the following values: NoCheck, Online, Offline.

Para obter mais informações, consulte trabalhando com certificados.For more information, see Working with Certificates.

Atributo trustedStoreLocationtrustedStoreLocation Attribute

ValorValue DescriçãoDescription
EnumeraçãoEnumeration Um dos seguintes valores: LocalMachine ou CurrentUser.One of the following values: LocalMachine or CurrentUser. O padrão é CurrentUser.The default is CurrentUser. Se o aplicativo cliente estiver sendo executado em uma conta do sistema, o certificado normalmente estará em LocalMachine.If the client application is running under a system account, then the certificate is typically under LocalMachine. Se o aplicativo cliente estiver sendo executado em uma conta de usuário, o certificado normalmente será em CurrentUser.If the client application is running under a user account, then the certificate is typically in CurrentUser.

Elementos filhoChild Elements

Nenhum.None.

Elementos paiParent Elements

ElementoElement DescriçãoDescription
<serviceCertificate> Especifica um certificado a ser usado ao autenticar um serviço para o cliente.Specifies a certificate to use when authenticating a service to the client.

ComentáriosRemarks

O certificateValidationMode atributo desse elemento de configuração especifica o nível de confiança usado para autenticar certificados.The certificateValidationMode attribute of this configuration element specifies the level of trust used to authenticate certificates. 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.By default, the level is set to ChainTrust, which specifies that each certificate must be found in a hierarchy of certificates ending in a trusted certification authority at the top of the chain. Esse é o modo mais seguro.This is the most secure mode. Você também pode definir o valor como PeerOrChainTrust , que especifica que os certificados emitidos por conta própria (peer Trust) são aceitos, bem como certificados que estão em uma cadeia confiável.You can also set the value to PeerOrChainTrust, which specifies that self-issued certificates (peer trust) are accepted as well as certificates that are in a trusted chain. Esse valor é usado ao desenvolver e depurar clientes e serviços porque certificados emitidos por conta própria não precisam ser comprados de uma autoridade confiável.This value is used when developing and debugging clients and services because self-issued certificates need not be purchased from a trusted authority. Ao implantar um cliente, use o ChainTrust valor em vez disso.When deploying a client, use the ChainTrust value instead. Você também pode definir o valor para Custom ou None .You can also set the value to Custom or 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.To use the Custom value, you must also set the customCertificateValidator attribute to an assembly and type used to validate the certificate. Para criar seu próprio validador personalizado, você deve herdar da classe abstrata X509CertificateValidator.To create your own custom validator, you must inherit from the abstract X509CertificateValidator class. Para obter mais informações, consulte como: criar um serviço que emprega um validador de certificado personalizado.For more information, see How to: Create a Service that Employs a Custom Certificate Validator.

O revocationMode atributo especifica como os certificados são verificados para revogação.The revocationMode attribute specifies how certificates are checked for revocation. O padrão é online que indica que os certificados serão verificados automaticamente para revogação.The default is online which indicates that certificates will be checked automatically for revocation. Para obter mais informações, consulte trabalhando com certificados.For more information, see Working with Certificates.

ExemploExample

O exemplo a seguir executa duas tarefas.The following example does two tasks. Ele especifica primeiro um certificado de serviço para o cliente usar ao se comunicar com pontos de extremidade cujo nome de domínio está www.contoso.com sobre o protocolo http.It first specifies a service certificate for the client to use when communicating with endpoints whose domain name is www.contoso.com over the HTTP protocol. Em segundo lugar, ele especifica o modo de revogação e o local de armazenamento usados durante a autenticação.Second, it specifies the revocation mode and store location used during authentication.

<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>

Consulte tambémSee also