Compartir a través de


<certificate> de <clientCertificate> (elemento)

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

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

<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

Atributos

Atributo Descripción

findValue

Una cadena que contiene el valor que se va a buscar en el almacén del certificado 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 del certificado X.509 que el cliente utiliza 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 del certificado X.509 que se va a abrir. Los valores válidos son los siguientes:

  • AddressBook: almacén del certificado para otros usuarios.
  • AuthRoot: almacén del certificado para las entidades de certificación (CA) de otros fabricantes.
  • CertificateAuthority: almacén del certificado para las entidades de certificación (CA) intermedias.
  • Disallowed: almacén del certificado para los certificados revocados.
  • My: almacén del certificado para los certificados personales.
  • Root: almacén del certificado para las entidades de certificación (CA) raíz de confianza.
  • TrustedPeople: almacén del certificado para las personas y los recursos de confianza directa.
  • TrustedPublisher: almacén del certificado para emisores 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>

Comentarios

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, consulte 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>

Consulte 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