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 utilizados por un servicio.
Jerarquía del esquema
<<system.serviceModel>>
<comportamientos>
<serviceBehaviors>
Elemento <behavior> de <serviceBehaviors>
<serviceCredentials>
<clientCertificate> de <serviceCredentials>
Elemento <authentication> de <clientCertificate>
Sintaxis
<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 siguientes secciones se describen atributos, elementos secundarios y elementos primarios
Atributos
Atributo | Descripción |
---|---|
customCertificateValidatorType |
Cadena opcional. Un 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 modos usados para validar las credenciales. Este atributo es del tipo System.Servicemodel.Security.X509CertificateValidationMode. Si se establece en Custom, también debe proporcionarse un atributo customCertificateValidator. El valor predeterminado es ChainTrust. |
includeWindowsGroups |
Opcional booleano. Especifica si los grupos de Windows están incluidos en el contexto de seguridad. Al establecer este atributo en true, se tiene un impacto de rendimiento y tiene como resultado una expansión de grupo completa. Establezca este atributo en false si no necesita establecer la lista de grupos a los que un usuario pertenece. |
mapClientCertificateToWindowsAcccount |
Boolean. Especifica si el cliente puede estar asignado a una identidad de Windows utilizando el certificado. Active Directory debe estar habilitado para ello. Para obtener más información sobre cómo utilizar la característica de Active Directory, vea http://technet2.microsoft.com/WindowsServer/en/Library/0602148e-1a8f-4917-bb01-6fd342aba7161033.mspx. |
revocationMode |
Enumeración opcional. Uno de los modos utilizados para comprobar listas de certificados revocadas (RCL). 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 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 |
---|---|
Define un certificado X.509 utilizado para autenticar un cliente a un servicio. |
Notas
El elemento <authentication> corresponde a la clase X509ClientCertificateAuthentication. Le permite personalizar cómo se autentican los clientes. Puede establecer el atributo certificateValidationMode en None, ChainTrust, PeerOrChainTrust, PeerTrust o Custom. 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 raíz 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 se aceptan los certificados autoemitidos (confianza de mismo nivel), 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 obtener más información, vea How To: Create a Service Employing a Custom Certificate Validator.
Ejemplo
El código siguiente especifica un certificado X.509 y un tipo de validación personalizado en el elemento <authentication>.
<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>
Vea también
Referencia
X509ClientCertificateAuthentication
X509CertificateValidationMode
Authentication
Authentication
X509ClientCertificateAuthenticationElement
Otros recursos
Security Behaviors in WCF
How To: Create a Service Employing a Custom Certificate Validator
Working with Certificates