Compartir a través de


<certificate> de <clientCertificate> (elemento)

Especifica un certificado X.509 usado para firmar y cifrar mensajes.

Jerarquía del esquema

<<system.serviceModel>>
  <comportamientos>
    <serviceBehaviors>
      Elemento <behavior> de <serviceBehaviors>
        <serviceCredentials>
          <clientCertificate> de <serviceCredentials>
            <certificate> de <clientCertificate> (elemento)

Sintaxis

<certificate findValue = "String" 
storeLocation = "CurrentUser/LocalMachine"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
X509FindType="FindByThumbPrint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier"
/>

Atributos y elementos

En las siguientes secciones se describen atributos, elementos secundarios y elementos primarios

Atributos

Atributo Descripción

findValue

Una cadena que contiene el valor que se va a buscar en el almacén de certificados X.509. El tipo contenido en el atributo debe satisfacer los requisitos del X509FindType especificado. El valor predeterminado es una cadena vacía.

storeLocation

Especifica la ubicación del almacén de certificados X.509 que el cliente usa para validar el certificado del servidor. Los valores válidos son los siguientes:

  • LocalMachine: el almacén de certificados asignado al equipo local.

  • CurrentUser: el almacén de certificados asignado al usuario actual.

El valor predeterminado es LocalMachine.

storeName

Especifica el nombre del almacén de certificados X.509 que se va a abrir. Los valores válidos son los siguientes:

  • AddressBook: almacén de certificados para otros usuarios.

  • AuthRoot: almacén de certificados para las entidades de certificación (CA) de terceros.

  • CertificationAuthority: almacén de certificados para las entidades de certificación (CA) intermedias.

  • Disallowed: almacén de certificados para los certificados revocados.

  • My: almacén de certificados para los certificados personales.

  • Root: almacén de certificados para las entidades de certificación (CA) raíz de confianza.

  • TrustedPeople: almacén de certificados para las personas y los recursos de confianza directa.

  • TrustedPublisher: almacén de certificados para publicadores de confianza directa.

El valor predeterminado es My.

X509FindType

Define el tipo de búsqueda de X.509 que se va a ejecutar. Los valores válidos son los siguientes:

  • FindByThumbPrint

  • FindBySubjectName

  • FindBySubjectDistinguishedName

  • FindByIssuerName

  • FindByIssuerDistinguishedName

  • FindBySerialNumber

  • FindByTimeValid

  • FindByTimeNotYetValid

  • FindByTemplateName

  • FindByApplicationPolicy

  • FindByCertificatePolicy

  • FindByExtension

  • FindByKeyUsage

  • FindBySubjectKeyIdentifier

El tipo contenido en el atributo findValue debe satisfacer los requisitos del X509FindType especificado.

El valor predeterminado es FindBySubjectDistinguishedName.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción

<clientCertificate> de <serviceCredentials>

Notas

El elemento <certificate> se usa cuando el servicio debe tener el certificado del cliente por anticipado para comunicarse de manera segura con el cliente. Esto se produce al utilizar el patrón de comunicación dúplex. En el patrón de solicitud/respuesta más típico, el cliente incluye su certificado en la solicitud, que utiliza el servicio para cifrar i firmar su respuesta de vuelta hasta el cliente. Sin embargo, en el modelo de comunicación dúplex, el servicio no tiene una solicitud del cliente y por consiguiente necesita que el certificado del cliente proteja de antemano el mensaje al cliente. Por tanto, debe obtener el certificado del cliente en una negociación fuera de banda y especificar el certificado usando este elemento. Para obtener más información sobre los servicios dúplex, vea How to: Create a Duplex Contract.

Ejemplo

El código siguiente especifica cómo buscar un certificado X.509 adecuado 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

Certificate
Certificate
X509ClientCertificateCredentialsElement

Otros recursos

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