Elemento <peerAuthentication>

Especifica las opciones de autenticación de clientes punto a punto.

Para más información acerca de la programación punto a punto, consulte Conexión de redes punto a punto.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <clientCredentials>
            <peer>
              <peerAuthentication>

Sintaxis

<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 y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios

Atributos

Atributo Descripción
customCertificateValidatorType Cadena opcional. Tipo y ensamblado utilizados para validar un tipo personalizado. Se debe establecer este atributo cuando certificateValidationMode está establecido en Custom.
certificateValidationMode Enumeración opcional. Especifica uno de los tres modos utilizados para validar las credenciales. Si se establece en Custom, también debe proporcionarse un customCertificateValidator. De manera predeterminada, es ChainTrust.
revocationMode Enumeración opcional. Uno de los modos utilizados para comprobar listas de certificados revocadas (CRL). El valor predeterminado es Online.
trustedStoreLocation Enumeración opcional. Una de las dos ubicaciones de almacenamiento del sistema: LocalMachine o CurrentUser. Se utiliza este valor cuando un certificado del servicio se negocia al cliente. La validación se realiza en el almacén Personas de confianza en la ubicación especificada. El valor predeterminado es CurrentUser.

Atributo customCertificateValidatorType

Valor Descripción
String Especifica el nombre de tipo y el ensamblado y otros datos utilizados para buscar el tipo. Como mínimo, se requieren un espacio de nombres y un nombre de tipo. La información opcionales incluye: nombre de ensamblado, número de versión, referencia cultural y token de clave pública.

Atributo certificateValidationMode

Valor Descripción
Enumeración Uno de los siguientes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. El valor predeterminado es ChainTrust.

Para más información, consulte Trabajar con certificados.

Atributo revocationMode

Valor Descripción
Enumeración Uno de los siguientes valores: NoCheck, Online, Offline. El valor predeterminado es Online.

Para más información, consulte Trabajar con certificados.

Atributo trustedStoreLocation

Valor Descripción
Enumeración Puede ser uno de los siguientes valores: LocalMachine o CurrentUser. El valor predeterminado es CurrentUser. Si la aplicación cliente se está ejecutando bajo una cuenta del sistema, entonces el certificado está normalmente bajo LocalMachine. Si la aplicación cliente se está ejecutando en una cuenta de usuario, entonces el certificado se encuentra normalmente en CurrentUser.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
<peer> Especifica una credencial utilizada para autenticar el cliente a un servicio del mismo nivel.

Comentarios

El elemento <authentication> corresponde a la clase X509PeerCertificateAuthentication. Este elemento especifica un validador, que se invoca durante la autenticación entre vecinos en la malla. Cuando un nuevo par intenta establecer una conexión de vecino, pasa su propia credencial al par que responde. El validador del contestador se invoca para comprobar la credencial de la parte remota. Cuando una conexión del mismo nivel se establece en la malla, se autentican ambos pares mutuamente, lo que significa que se invocan los validadores en ambos extremos.

Ejemplo

El código siguiente establece el modo de validación de certificados en 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>

Consulte también