Compartilhar via


elemento <messageSenderAuthentication>

Especifica as opções de autenticação para remetentes de mensagens 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>
              <messageSenderAuthentication>

Syntax

<messageSenderAuthentication 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 Um tipo e um assembly usados para validar um tipo personalizado. Esse atributo deverá ser definido quando certificateValidationMode estiver definido como Custom.
certificateValidationMode Especifica um dos três modos usados para validar credenciais. Se definido como Custom, também será necessário fornecer um customCertificateValidator.
revocationMode Um dos modos usados para verificar se há uma RCL (lista de certificados) revogada.
trustedStoreLocation 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.

Atributo customCertificateValidatorType

Valor Descrição
String Opcional. 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 Opcional. Um dos seguintes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. O padrão é ChainTrust. 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. O padrão é 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

Esse elemento deve ser configurado se a autenticação de mensagem for escolhida. Para canais de saída, cada mensagem é assinada usando o certificado fornecido pelo <certificado>. Todas as mensagens, antes de serem entregues ao aplicativo, são verificadas na credencial da mensagem usando o validador especificado pelo customCertificateValidatorType atributo desse elemento. O validador pode aceitar ou rejeitar a credencial.

Exemplo

O código a seguir define o modo de validação do remetente de mensagem como PeerOrChainTrust.

<behaviors>
  <endpointBehaviors>
    <behavior name="MyEndpointBehavior">
      <clientCredentials>
        <peer>
          <certificate findValue="www.contoso.com"
                       storeLocation="LocalMachine"
                       x509FindType="FindByIssuerName" />
          <messageSenderAuthentication certificateValidationMode="PeerOrChainTrust" />
          <messageSenderAuthentication certificateValidationMode="None" />
        </peer>
      </clientCredentials>
    </behavior>
  </endpointBehaviors>
</behaviors>

Confira também