<certificado> del elemento <clientCertificate>

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

<configuración>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceCredentials>
            <clientCertificate>
              <certificado>

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 los atributos, los elementos secundarios y los 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 utiliza para validar el certificado del servidor. Los valores válidos incluyen los siguientes:

- LocalMachine: el almacén de certificados asignado a la máquina 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 incluyen 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 incluyen 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>

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 patrón 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 Cómo crear un contrato dúplex.

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