Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica comportamentos de autenticação para certificados de cliente usados por um serviço.
<configuração>
<system.serviceModel>
<Comportamentos>
<Servicebehaviors>
<comportamento>
<Servicecredentials>
<Clientcertificate>
<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 um assembly usados para validar um tipo personalizado. Esse atributo deve ser definido quando certificateValidationMode é definido como Custom. |
| certificateValidationMode | Enumeração opcional. Especifica um dos modos usados para validar as credenciais. Esse atributo é do X509CertificateValidationMode tipo. Se definido comoX509CertificateValidationMode.Custom, também deve ser fornecido.customCertificateValidator O padrão é X509CertificateValidationMode.ChainTrust. |
| includeWindowsGroups | Booleano opcional. Especifica se os grupos do Windows estão incluídos no contexto de segurança. Definir esse atributo true tem um impacto no desempenho, pois resulta em uma expansão completa do grupo. Defina esse atributo para false se você não precisar estabelecer a lista de grupos aos quais um usuário pertence. |
| mapClientCertificateToWindowsAccount | Booliano. Especifica se o cliente pode ser mapeado para uma identidade do Windows usando o certificado. O Active Directory deve estar habilitado para fazer isso. |
| Revocationmode | Enumeração opcional. Um dos modos usados para verificar se há uma RCL (listas de certificados revogadas). O padrão é Online. Esse valor é ignorado ao usar a segurança de transporte HTTP. |
| trustedStoreLocation | Enumeração opcional. Um dos dois locais do repositório do sistema: LocalMachine ou CurrentUser. Esse valor é usado quando um certificado de serviço é negociado com o cliente. A validação é executada no repositório Pessoas Confiáveis no local do repositório especificado. O padrão é CurrentUser. |
Atributo customCertificateValidatorType
| Value | Description |
|---|---|
| String | Especifica o nome do tipo e o assembly e outros dados usados para localizar o tipo. |
Atributo certificateValidationMode
| Value | Description |
|---|---|
| Enumeração | Um dos seguintes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Para obter mais informações, consulte Como trabalhar com certificados. |
Atributo revocationMode
| Value | Description |
|---|---|
| Enumeração | Um dos seguintes valores: NoCheck, Online, Offline. Para obter mais informações, consulte Como trabalhar com certificados. |
Atributo trustedStoreLocation
| Value | Description |
|---|---|
| Enumeração | Um dos seguintes valores: LocalMachine ou CurrentUser. O padrão é CurrentUser. Se o aplicativo cliente estiver em execução em uma conta do sistema, o certificado normalmente estará em LocalMachine. Se o aplicativo cliente estiver em execução em uma conta de usuário, o certificado normalmente estará.CurrentUser |
Elementos filho
Nenhum.
Elementos pai
| Elemento | Description |
|---|---|
| <certificado do cliente> | Define um certificado X.509 usado para autenticar um cliente em um serviço. |
Observações
O <authentication> elemento corresponde à X509ClientCertificateAuthentication classe. Ele permite personalizar como os clientes são autenticados. Você pode definir o atributo certificateValidationMode como None, ChainTrust, PeerOrChainTrust, PeerTrust 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 de maior segurança. Você também pode definir o valor como PeerOrChainTrust, que especifica que certificados autoemitidos (confiança de par) são aceitos, bem como 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 adquiridos de uma autoridade confiável. Ao implantar um cliente, use o valor ChainTrust em seu lugar.
Também é possível definir o valor como Custom. Para usar o valor Custom, você também precisa definir o atributo customCertificateValidatorType para um assembly e um tipo usados para validar o certificado. Para criar um validador personalizado, você deve herdar da classe abstrata X509CertificateValidator. Para obter mais informações, consulte Como criar um serviço que utiliza um validador de certificado personalizado.
Example
O código a seguir 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>