Partilhar via


<certificado> de <clientCertificate> Element

Especifica um certificado X.509 utilizado para assinar e encriptar mensagens.

<configuração>
  <system.serviceModel>
    <comportamentos>
      <serviceBehaviors>
        <comportamento>
          <serviceCredentials>
            <clientCertificate>
              <certificado>

Syntax

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

Atributos e Elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais

Atributos

Atributo Descrição
findValue Uma cadeia que contém o valor a procurar no arquivo de certificados X.509. O tipo contido no atributo tem de satisfazer os requisitos do X509FindType especificado. A predefinição é uma cadeia vazia.
storeLocation Especifica a localização do arquivo de certificados X.509 que o cliente utiliza para validar o certificado do servidor. Os valores válidos incluem o seguinte:

- LocalMachine: o arquivo de certificados atribuído ao computador local.
- CurrentUser: o arquivo de certificados atribuído ao utilizador atual.

A predefinição é LocalMachine.
storeName Especifica o nome do arquivo de certificados X.509 a abrir. Os valores válidos incluem o seguinte:

- AddressBook: arquivo de certificados para outros utilizadores.
- AuthRoot: arquivo de certificados para autoridades de certificação (ACs) de terceiros.
- CertificationAuthority: arquivo de certificados para autoridades de certificação (ACs) intermédias.
- Não permitido: arquivo de certificados para certificados revogados.
- O meu: arquivo de certificados para certificados pessoais.
- Raiz: arquivo de certificados para autoridades de certificação (ACs) de raiz fidedigna.
- TrustedPeople: arquivo de certificados para pessoas e recursos diretamente fidedignos.
- TrustedPublisher: arquivo de certificados para fabricantes diretamente fidedignos.

A predefinição é Meu .
X509FindType Define o tipo de pesquisa X.509 a ser executada. Os valores válidos incluem o seguinte:

- FindByThumbPrint
- FindBySubjectName
- FindBySubjectDistinguishedName
- FindByIssuerName
- FindByIssuerDistinguishedName
- FindBySerialNumber
- FindByTimeValid
- FindByTimeNotYetValid
- FindByTemplateName
- FindByApplicationPolicy
- FindByCertificatePolicy
- FindByExtension
- FindByKeyUsage
- FindBySubjectKeyIdentifier

O tipo contido no findValue atributo tem de satisfazer os requisitos do X509FindType especificado.

O valor predefinido é FindBySubjectDistinguishedName.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Descrição
<clientCertificate>

Observações

O <certificate> elemento é utilizado quando o serviço tem de ter o certificado do cliente com antecedência para comunicar de forma segura com o cliente. Isto ocorre ao utilizar o padrão de comunicação duplex. No padrão de pedido/resposta mais típico, o cliente inclui o respetivo certificado no pedido, que o serviço utiliza para encriptar e assinar a respetiva resposta de volta para o cliente. No padrão de comunicação duplex, no entanto, o serviço não tem um pedido do cliente e, portanto, precisa do certificado do cliente com antecedência para proteger a mensagem para o cliente. Por conseguinte, tem de obter o certificado do cliente numa negociação fora de banda e especificar o certificado com este elemento. Para obter mais informações sobre os serviços duplex, veja Como: Criar um Contrato Duplex.

Exemplo

O código seguinte especifica como encontrar um certificado X.509 adequado e um tipo de validação personalizado no <authentication> elemento .

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

Ver também