<certificate> do elemento <clientCertificate>
Especifica um certificado X.509 usado para assinar e criptografar mensagens.
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceCredentials>
<clientCertificate>
<certificate>
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 seções a seguir descrevem os atributos, os elementos filho e os elementos pai
Atributos
Atributo | Descrição |
---|---|
findValue |
Uma cadeia de caracteres que contém o valor a ser pesquisado no repositório de certificados X.509. O tipo contido no atributo deve atender aos requisitos do X509FindType especificado. O padrão é uma cadeia de caracteres vazia. |
storeLocation |
Especifica o local do repositório de certificados X.509 que o cliente usa para validar o certificado do servidor. Os valores válidos incluem os seguintes: - LocalMachine: o repositório de certificados atribuído ao computador local. - CurrentUser: o repositório de certificados atribuído ao usuário atual. O padrão é LocalMachine. |
storeName |
Especifica o nome do repositório de certificados X.509 a ser aberto. Os valores válidos incluem os seguintes: - AddressBook: o repositório de certificados X.509 para outros usuários. - AuthRoot: o repositório de certificados X.509 para ACs (autoridades de certificação) de terceiros. - CertificationAuthority: repositório de certificados para autoridades de certificação intermediárias (CAs). - Disallowed: o repositório de certificados para certificados revogados. - My: o repositório de certificados X.509 para certificados pessoais. - Root: o repositório de certificados X.509 para ACs (autoridades de certificação) confiáveis. - TrustedPeople: o repositório de certificados X.509 para recursos e pessoas diretamente confiáveis. - TrustedPublisher: o repositório de certificados para editores diretamente confiáveis. O padrão é My. |
X509FindType |
Define o tipo de pesquisa de X.509 a ser executada. Os valores válidos incluem os seguintes: - FindByThumbPrint - FindBySubjectName - FindBySubjectDistinguishedName - FindByIssuerName - FindByIssuerDistinguishedName - FindBySerialNumber - FindByTimeValid - FindByTimeNotYetValid - FindByTemplateName - FindByApplicationPolicy - FindByCertificatePolicy - FindByExtension - FindByKeyUsage - FindBySubjectKeyIdentifier O tipo contido no atributo findValue deve atender aos requisitos do X509FindType especificado.O valor padrão é FindBySubjectDistinguishedName. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<clientCertificate> |
Comentários
O elemento <certificate>
é usado quando o serviço deve ter o certificado do cliente com antecedência para se comunicar com segurança com o cliente. Isso ocorre ao usar o padrão de comunicação duplex. No padrão mais comum de solicitação/resposta, o cliente inclui seu certificado na solicitação, e o serviço o usa para criptografar e assinar sua resposta de volta ao cliente. No padrão de comunicação duplex, no entanto, o serviço não tem uma solicitação do cliente e, portanto, precisa do certificado do cliente com antecedência para proteger a mensagem ao cliente. Assim, você deve obter o certificado do cliente em uma negociação fora de banda e especificar o certificado usando esse elemento. Para obter mais informações sobre serviços duplex, consulte Como criar um contrato duplex.
Exemplo
O código a seguir especifica como encontrar um certificado X.509 apropriado e um tipo de validação personalizado no elemento <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>