Elemento <peerAuthentication>
Especifica as opções de autenticação para clientes ponto a ponto.
Para obter mais informações sobre a programação ponto a ponto, confira Rede ponto a ponto.
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<peer>
<peerAuthentication>
Syntax
<peerAuthentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="CurrentUser/LocalMachine" />
Atributos e elementos
As seções a seguir descrevem os atributos, os elementos filho e os elementos pai
Atributos
Atributo | Descrição |
---|---|
customCertificateValidatorType |
Cadeia de caracteres opcional. Um tipo e um assembly usados para validar um tipo personalizado. Esse atributo deverá ser definido quando certificateValidationMode estiver definido como Custom . |
certificateValidationMode |
Enumeração opcional. Especifica um dos três modos usados para validar credenciais. Se definido como Custom , também será necessário fornecer um customCertificateValidator . O padrão é ChainTrust . |
revocationMode |
Enumeração opcional. Um dos modos usados para verificar se há uma RCL (lista de certificados) revogada. O padrão é Online . |
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 de Pessoas Confiáveis no local do repositório especificado. O padrão é CurrentUser . |
Atributo customCertificateValidatorType
Valor | Descrição |
---|---|
String | Especifica o assembly e o nome do tipo e outros dados usados para localizar o tipo. No mínimo, um namespace e um nome de tipo são necessários. As informações opcionais incluem: nome do assembly, número de versão, cultura e token de chave pública. |
Atributo certificateValidationMode
Valor | Descrição |
---|---|
Enumeração | Um dos seguintes valores: None , PeerTrust , ChainTrust , PeerOrChainTrust , Custom . O padrão é ChainTrust .Para saber mais, confira Como trabalhar com certificados. |
Atributo revocationMode
Valor | Descrição |
---|---|
Enumeração | Um dos seguintes valores: NoCheck , Online , Offline . O padrão é Online .Para saber mais, confira Como trabalhar com certificados. |
Atributo trustedStoreLocation
Valor | Descrição |
---|---|
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á em CurrentUser . |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<peer> | Especifica uma credencial usada para autenticar o cliente em um serviço par. |
Comentários
O elemento <authentication>
corresponde à classe X509PeerCertificateAuthentication. Esse elemento especifica um validador, que é invocado durante a autenticação vizinho a vizinho na malha. Quando um novo par tentar estabelecer uma conexão de vizinho, ele passará sua própria credencial ao par que está respondendo. O validador do respondente será invocado para verificar a credencial da parte remota. Sempre que uma conexão de par for estabelecida na malha ambos os pares serão autenticados mutuamente, isso significa que os validadores em ambas as extremidades serão invocados.
Exemplo
O código a seguir define o modo de validação de certificado como PeerOrChainTrust
.
<behaviors>
<endpointBehaviors>
<behavior name="MyEndpointBehavior">
<clientCredentials>
<peer>
<certificate findValue="www.contoso.com"
storeLocation="LocalMachine"
x509FindType="FindByIssuerName" />
<peerAuthentication certificateValidationMode="PeerOrChainTrust" />
<messageSenderAuthentication certificateValidationMode="None" />
</peer>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>