Partilhar via


<autenticação> do <ClientCertificate> Element

Especifica comportamentos de autenticação para certificados de cliente utilizados por um serviço.

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

Syntax

<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
                certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
                includeWindowsGroups="Boolean"
                mapClientCertificateToWindowsAccount="Boolean"
                revocationMode="NoCheck/Online/Offline"
                trustedStoreLocation="CurrentUser/LocalMachine" />

Atributos e Elementos

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

Atributos

Atributo Descrição
customCertificateValidatorType Cadeia opcional. Um tipo e assemblagem utilizados para validar um tipo personalizado. Este atributo tem de ser definido quando certificateValidationMode estiver definido como Custom.
certificateValidationMode Enumeração opcional. Especifica um dos modos utilizados para validar credenciais. Este atributo é do X509CertificateValidationMode tipo . Se estiver definido como X509CertificateValidationMode.Custom, também tem de ser fornecido um customCertificateValidator . A predefinição é X509CertificateValidationMode.ChainTrust.
includeWindowsGroups Booleano opcional. Especifica se os grupos do Windows estão incluídos no contexto de segurança. Definir este atributo como true tem um impacto no desempenho, uma vez que resulta numa expansão completa do grupo. Defina este atributo como false se não precisar de estabelecer a lista de grupos a que um utilizador pertence.
mapClientCertificateToWindowsAccount Booleano. Especifica se o cliente pode ser mapeado para uma identidade do Windows com o certificado. O Active Directory tem de estar ativado para o fazer.
revocationMode Enumeração opcional. Um dos modos utilizados para verificar a existência de listas de certificados revogados (RCL). A predefinição é Online. Este valor é ignorado ao utilizar a segurança de transporte HTTP.
trustedStoreLocation Enumeração opcional. Uma das duas localizações do arquivo do sistema: LocalMachine ou CurrentUser. Este valor é utilizado quando um certificado de serviço é negociado com o cliente. A validação é efetuada no arquivo Pessoas Fidedigno na localização do arquivo especificada. A predefinição é CurrentUser.

atributo customCertificateValidatorType

Valor Description
String Especifica o nome do tipo e assemblagem e outros dados utilizados para localizar o tipo.

atributo certificateValidationMode

Valor Descrição
Enumeração Um dos seguintes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Para obter mais informações, veja Trabalhar com Certificados.

atributo revocationMode

Valor Descrição
Enumeração Um dos seguintes valores: NoCheck, Online, Offline. Para obter mais informações, veja Trabalhar com Certificados.

atributo trustedStoreLocation

Valor Descrição
Enumeração Um dos seguintes valores: LocalMachine ou CurrentUser. A predefinição é CurrentUser. Se a aplicação cliente estiver em execução numa conta de sistema, o certificado está normalmente em LocalMachine. Se a aplicação cliente estiver em execução numa conta de utilizador, o certificado está normalmente em CurrentUser.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Descrição
<clientCertificate> Define um certificado X.509 utilizado para autenticar um cliente num serviço.

Observações

O <authentication> elemento corresponde à X509ClientCertificateAuthentication classe . Permite-lhe personalizar a forma como os clientes são autenticados. Pode definir o certificateValidationMode atributo como None, ChainTrust, PeerOrChainTrust, PeerTrustou Custom. Por predefinição, o nível está definido como ChainTrust, que especifica que cada certificado tem de ser encontrado numa hierarquia de certificados que termine numa autoridade de raiz na parte superior da cadeia. Este é o modo mais seguro. Também pode definir o valor como PeerOrChainTrust, que especifica que os certificados auto-emitidos (confiança do elemento da rede) são aceites, bem como certificados que estão numa cadeia fidedigna. Este valor é utilizado ao desenvolver e depurar clientes e serviços porque os certificados auto-emitidos não precisam de ser comprados a uma autoridade fidedigna. Ao implementar um cliente, utilize o ChainTrust valor como alternativa.

Também pode definir o valor como Custom. Quando definido como o Custom valor, também tem de definir o customCertificateValidatorType atributo para uma assemblagem e tipo utilizados para validar o certificado. Para criar o seu próprio validador personalizado, tem de herdar da classe abstrata X509CertificateValidator . Para obter mais informações, veja How to: Create a Service that Employs a Custom Certificate Validator (Como: Criar um Serviço que Emprega um Validador de Certificado Personalizado).

Exemplo

O código seguinte especifica um certificado X.509 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