Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Especifica los comportamientos de autenticación para los certificados de cliente usados por un servicio.
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceCredentials>
<clientCertificate>
<authentication>
Syntax
<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
includeWindowsGroups="Boolean"
mapClientCertificateToWindowsAccount="Boolean"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="CurrentUser/LocalMachine" />
Atributos y elementos
En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.
Attributes
| Atributo | Description |
|---|---|
| customCertificateValidatorType | Cadena opcional. Tipo y ensamblado usado para validar un tipo personalizado. Este atributo debe establecerse cuando certificateValidationMode se establece en Custom. |
| certificateValidationMode | Enumeración opcional. Especifica uno de los modos usados para validar las credenciales. Este atributo es del X509CertificateValidationMode tipo . Si se establece en X509CertificateValidationMode.Custom, también se debe proporcionar un customCertificateValidator . El valor predeterminado es X509CertificateValidationMode.ChainTrust. |
| includeWindowsGroups | Boolean opcional. Especifica si los grupos de Windows se incluyen en el contexto de seguridad. Establecer este atributo en true tiene un impacto en el rendimiento, ya que da como resultado una expansión de grupo completa. Establezca este atributo false en si no es necesario establecer la lista de grupos a los que pertenece un usuario. |
| mapClientCertificateToWindowsAccount | booleano. Especifica si el cliente se puede asignar a una identidad de Windows mediante el certificado. Active Directory debe estar habilitado para ello. |
| revocationMode | Enumeración opcional. Uno de los modos usados para comprobar si hay listas de certificados revocadas (RCL). El valor predeterminado es Online. Este valor se omite cuando se usa la seguridad de transporte HTTP. |
| trustedStoreLocation | Enumeración opcional. Una de las dos ubicaciones del almacén del sistema: LocalMachine o CurrentUser. Este valor se usa cuando se negocia un certificado de servicio al cliente. La validación se realiza en el almacén de personas de confianza en la ubicación de almacén especificada. El valor predeterminado es CurrentUser. |
Atributo customCertificateValidatorType
| Importancia | Description |
|---|---|
| String | Especifica el nombre de tipo y el ensamblado y otros datos usados para buscar el tipo. |
atributo certificateValidationMode
| Importancia | Description |
|---|---|
| Enumeración | Uno de los siguientes valores: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Para obtener más información, vea Trabajar con certificados. |
Atributo revocationMode
| Importancia | Description |
|---|---|
| Enumeración | Uno de los siguientes valores: NoCheck, Online, Offline. Para obtener más información, vea Trabajar con certificados. |
Atributo trustedStoreLocation
| Importancia | Description |
|---|---|
| Enumeración | Uno de los siguientes valores: LocalMachine o CurrentUser. El valor predeterminado es CurrentUser. Si la aplicación cliente se ejecuta en una cuenta del sistema, el certificado suele estar en LocalMachine. Si la aplicación cliente se ejecuta en una cuenta de usuario, el certificado suele estar en CurrentUser. |
Elementos secundarios
Ninguno.
Elementos primarios
| Elemento | Description |
|---|---|
| <certificado de cliente> | Define un certificado X.509 que se usa para autenticar un cliente en un servicio. |
Observaciones
El <authentication> elemento corresponde a la X509ClientCertificateAuthentication clase . Permite personalizar cómo se autentican los clientes. Puede establecer el atributo certificateValidationMode en None, ChainTrust, PeerOrChainTrust, PeerTrust o Custom. De manera predeterminada, el nivel está establecido en ChainTrust, que especifica que cada certificado se debe encontrar en una jerarquía de certificados que finalizan en una entidad de certificación raíz 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 en Custom. Cuando se establezca en el valor Custom, también debe establecer el atributo customCertificateValidatorType en un ensamblado y tipo utilizados para validar el certificado. Para crear su propio validador personalizado, debe heredar a partir de la clase X509CertificateValidator abstracta. Para más información, consulte el artículo sobre cómo crear un servicio que emplee un validador de certificado personalizado.
Example
El código siguiente especifica un certificado X.509 y un tipo de validación personalizado en el <authentication> elemento .
<serviceBehaviors>
<behavior name="myServiceBehavior">
<clientCertificate>
<certificate findValue="www.cohowinery.com"
storeLocation="CurrentUser"
storeName="TrustedPeople"
x509FindType="FindByIssuerName" />
<authentication customCertificateValidatorType="MyTypes.Coho"
certificateValidationMode="Custom"
revocationMode="Offline"
includeWindowsGroups="false"
mapClientCertificateToWindowsAccount="true" />
</clientCertificate>
</behavior>
</serviceBehaviors>