Elemento <authentication> de <clientCertificate>
Especifica los comportamientos de autenticación para los certificados de cliente utilizados por un servicio.
<<system.serviceModel>>
<comportamientos>
<serviceBehaviors>
Elemento <behavior> de <serviceBehaviors>
<serviceCredentials>
<clientCertificate> de <serviceCredentials>
Elemento <authentication> de <clientCertificate>
<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
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 tres modos utilizados para validar las credenciales. Si se establece en Custom, también debe proporcionarse un 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. |
Comentarios
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 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 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>
Consulte 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