Compartir a través de


Elemento <authentication> de <serviceCertificate>

Especifica la configuración utilizada por el proxy del cliente para autenticar certificados del servicio que se obtienen utilizando la negociación de SSL/TLS.

<<system.serviceModel>>
  <comportamientos>
    <endpointBehaviors>
      <behavior> de <endpointBehaviors>
        <clientCredentials>
          Elemento <serviceCertificate> de <serviceCredentials>
            Elemento <authentication> de <serviceCertificate>

<authentication customCertificateValidatorType="String" certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline" 
trustedStoreLocation="LocalMachine/CurrentUser" />

Atributos y elementos

Atributos

Atributo Descripción

customCertificateValidator

String. Un tipo y ensamblado utilizados para validar un tipo personalizado.

certifcateValidationMode

Especifica uno de los tres modos utilizados para validar las credenciales. Si se establece en Custom, también debe proporcionarse un customCertificateValidator. El valor predeterminado es ChainTrust.

revocationMode

Uno de los modos utilizados para comprobar listas de certificados revocadas (CRL). El valor predeterminado es Online.

trustedStoreLocation

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 contra el Personas de confianza almacén en la ubicación del almacén especificada. El valor predeterminado es CurrentUser.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción

Elemento <serviceCertificate> de <clientCredentials>

Especifica el certificado que se va a utilizar al autenticar un servicio al cliente.

Comentarios

El atributo certifcateValidationMode de este elemento de configuración especifica el nivel de confianza utilizado para autenticar certificados. De forma predeterminada, el nivel está establecido en ChainTrust, que especifica que cada certificado debe encontrarse en una jerarquía de certificados que finalizan en una entidad emisora de certificados de confianza en la parte superior de la cadena. Éste es el modo más seguro. También puede establecer el valor en PeerOrChainTrust, que especifica que los certificados autoemitidos (confianza de mismo nivel) se aceptan, así como los certificados que están en una cadena de confianza. Se utiliza este valor cuando se desarrollan y depuran clientes y servicios porque los certificados autoemitidos no necesitan adquirirse desde una autoridad de confianza. Al implementar un cliente, utilice en su lugar el valor ChainTrust. También puede establecer el valor como Custom o None. Para utilizar el valor Custom, también debe establecer el atributo customCertificateValidator en un ensamblado y tipo utilizado para validar el certificado. Para crear su propio validador personalizado, debe heredar a partir de la clase abstracta X509CertificateValidator. Para obtener más información, vea How To: Create a Service Employing a Custom Certificate Validator.

El atributo revocationMode especifica cómo se comprueba la revocación de los certificados. El valor predeterminado es online que indica que se comprobará automáticamente la revocación de los certificados. Para obtener más información, vea Working with Certificates.

Ejemplo

El siguiente ejemplo realiza dos tareas: Especifica primero un certificado del servicio para que el cliente lo utilice al comunicarse con extremos cuyo nombre de dominio es www.contoso.com sobre el protocolo HTTP. En segundo lugar, especifica el modo de revocación y ubicación del almacén utilizado durante la autenticación.

<serviceCertificate>
  <defaultCertificate findValue="www.contoso.com" 
                      storeLocation="LocalMachine"
                      storeName="TrustedPeople" 
                      x509FindType="FindByIssuerDistinguishedName" />
  <scopedCertificates>
     <add targetUri="https://www.contoso.com" 
          findValue="www.contoso.com" storeLocation="LocalMachine"
                  storeName="Root" x509FindType="FindByIssuerName" />
  </scopedCertificates>
  <authentication revocationMode="Online" 
   trustedStoreLocation="LocalMachine" />
</serviceCertificate>

Consulte también

Referencia

Elemento <authentication> de <clientCertificate>
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication

Otros recursos

Security Behaviors in WCF
Working with Certificates
How To: Create a Service Employing a Custom Certificate Validator
Securing Clients
Securing Services and Clients