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.
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior>
<clientCredentials>
<serviceCertificate>
<authentication>
Sintaxis
<authentication customCertificateValidatorType="String"
certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios
Atributos
Atributo | Descripción |
---|---|
customCertificateValidatorType | String. Tipo y ensamblado utilizados para validar un tipo personalizado. |
certificateValidationMode | 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 en el almacén Personas de confianza en la ubicación especificada. El valor predeterminado es CurrentUser . |
Atributo customCertificateValidator
Valor | Descripción |
---|---|
String | Especifica el nombre de tipo y el ensamblado y otros datos utilizados para buscar el tipo. |
Atributo certificateValidationMode
Valor | Descripción |
---|---|
Enumeración | Uno de los valores siguientes: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Para más información, consulte Trabajar con certificados. |
Atributo revocationMode
Valor | Descripción |
---|---|
Enumeración | Uno de los valores siguientes: NoCheck, Online, Offline. Para más información, consulte Trabajar con certificados. |
Atributo trustedStoreLocation
Valor | Descripción |
---|---|
Enumeración | Uno de los valores siguientes: 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 en 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 |
---|---|
<serviceCertificate> | Especifica el certificado que se va a utilizar al autenticar un servicio al cliente. |
Comentarios
El atributo certificateValidationMode
de este elemento de configuración especifica el nivel de confianza utilizado para autenticar certificados. De forma predeterminada, el nivel se establece 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. Este es el modo más seguro. También puede establecer el valor en PeerOrChainTrust
, que especifica que los certificados autoemitidos (confianza del 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 más información, consulte el artículo sobre cómo crear un servicio que emplee un validador de certificados personalizado.
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 más información, consulte Trabajar con certificados.
Ejemplo
El siguiente ejemplo realiza dos tareas: Especifica primero un certificado del servicio para que el cliente lo utilice al comunicarse con puntos de conexión 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="http://www.contoso.com"
findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="Root"
x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
Consulte también
- X509RecipientCertificateClientElement
- X509CertificateRecipientClientCredential
- Authentication
- X509ServiceCertificateAuthentication
- Comportamientos de seguridad
- Trabajar con certificados
- Procedimiento para crear un servicio que emplee un validador de certificado personalizado
- <authentication>
- Protección de clientes
- Protección de servicios y clientes