Partilhar via


<autenticação> do <elemento clientCertificate>

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

<configuração>
   <system.serviceModel>
     <comportamentos>
       <ServiceBehaviors>
         <comportamento>
           <serviceCredenciais>
             <Certificado do cliente>
               <autenticação>

Sintaxe

<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 seções a seguir descrevem atributos, elementos filho e elementos pai

Attributes

Attribute Description
customCertificateValidatorType Cadeia de caracteres opcional. Um tipo e conjunto usados para validar um tipo personalizado. Este atributo deve ser definido quando certificateValidationMode é definido como Custom.
certificateValidationMode Enumeração opcional. Especifica um dos modos usados para validar credenciais. Este atributo é do X509CertificateValidationMode tipo. Se definido para X509CertificateValidationMode.Custom, então também deve ser fornecido a 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 para true tem impacto no desempenho, pois resulta numa expansão completa do grupo. Defina este atributo para 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 Windows usando o certificado. O Active Directory deve estar ativado para fazer isto.
revocationMode Enumeração opcional. Um dos modos utilizados para verificar 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 de armazenamento do sistema: LocalMachine ou CurrentUser. Este valor é utilizado quando um certificado de serviço é negociado com o cliente. A validação é realizada contra o armazenamento de Pessoas Confiáveis na localização especificada do armazenamento. A predefinição é CurrentUser.

customCertificateValidatorType Atributo

Valor Description
Cordão Especifica o nome do tipo, o conjunto e outros dados usados para encontrar o tipo.

Atributo certificateValidationMode

Valor Description
Enumeração Um dos seguintes valores: Nenhum, PeerTrust, ChainTrust, PeerOrChainTrust, Personalizado.

Para obter mais informações, consulte Trabalhando com certificados.

Atributo revocationMode

Valor Description
Enumeração Um dos seguintes valores: NoCheck, Online, Offline. Para obter mais informações, consulte Trabalhando com certificados.

Atributo trustedStoreLocation

Valor Description
Enumeração Um dos seguintes valores: LocalMachine ou CurrentUser. A predefinição é CurrentUser. Se a aplicação cliente estiver a correr sob uma conta do sistema, então o certificado está normalmente sob LocalMachine. Se a aplicação cliente estiver a correr sob uma conta de utilizador, então o certificado está tipicamente em CurrentUser.

Elementos filho

Nenhum.

Elementos Principais

Elemento Description
<Certificado do cliente> Define um certificado X.509 usado para autenticar um cliente num serviço.

Observações

O <authentication> elemento corresponde à X509ClientCertificateAuthentication classe. Permite-lhe personalizar a autenticação dos clientes. Você pode definir o certificateValidationMode atributo como None, ChainTrust, , PeerOrChainTrustPeerTrust, ou Custom. 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 raiz na parte superior da cadeia. Este é o modo mais seguro. Você também pode definir o valor como PeerOrChainTrust, que especifica que os certificados autoemitidos (confiança de mesmo nível) são aceitos, bem como os 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 comprados de uma autoridade confiável. Ao implantar um cliente, use o ChainTrust valor em vez disso.

Você também pode definir o valor como Custom. Quando definido como o Custom valor, você também deve definir o customCertificateValidatorType atributo para um assembly e tipo usado para validar o certificado. Para criar seu próprio validador personalizado, você deve herdar da classe abstrata X509CertificateValidator . Para obter mais informações, consulte Como criar um serviço que emprega um validador de certificado personalizado.

Example

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>

Consulte também