Validación del certificado de cliente

SE APLICA A: todos los niveles de API Management

Use la directiva validate-client-certificate para exigir que un certificado presentado por un cliente a una instancia de API Management coincida con notificaciones y reglas de validación especificadas como un firmante o un emisor de certificado para una o varias identidades de certificación.

Para considerarlo válido, un certificado de cliente debe coincidir con todas las reglas de validación que se definen en los atributos en el elemento de nivel superior y coincidir con todas las notificaciones definidas para, al menos, una de las identidades definidas.

Use esta directiva para comprobar las propiedades del certificado entrante con respecto a las propiedades deseadas. Use esta directiva también para invalidar la validación predeterminada de los certificados de cliente en estos casos:

  • Si cargó certificados de entidades de certificación personalizados para validar solicitudes de cliente en la puerta de enlace administrada.
  • Si configuró entidades de certificación personalizadas para validar solicitudes de cliente en una puerta de enlace autoadministrada.

Para más información sobre las entidades de certificación y los certificados de entidades de certificación personalizadas, consulte Incorporación de un certificado de entidad de certificación personalizado a Azure API Management.

Nota:

Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.

Instrucción de la directiva

<validate-client-certificate 
    validate-revocation="true | false"
    validate-trust="true | false" 
    validate-not-before="true | false" 
    validate-not-after="true | false" 
    ignore-error="true | false">
    <identities>
        <identity
            thumbprint="certificate thumbprint"
            serial-number="certificate serial number"
            common-name="certificate common name"
            subject="certificate subject string"
            dns-name="certificate DNS name"
            issuer-subject="certificate issuer"
            issuer-thumbprint="certificate issuer thumbprint"
            issuer-certificate-id="certificate identifier"/>
    </identities>
</validate-client-certificate> 

Atributos

Asignar nombre Descripción Necesario Valor predeterminado
validate-revocation booleano. Especifica si el certificado se valida con la lista de revocación en línea. No se permiten expresiones de directiva.  No true
validate-trust booleano. Especifica si se debe generar un error de validación en caso de que la cadena no se pueda crear correctamente en una entidad de certificación de confianza. No se permiten expresiones de directiva. No true
validate-not-before booleano. Valida el valor con respecto a la hora actual. No se permiten expresiones de directiva. No true
validate-not-after booleano. Valida el valor con respecto a la hora actual. No se permiten expresiones de directiva. No true
ignore-error booleano. Especifica si la directiva debe continuar con el controlador siguiente o pasar al error si se genera un error en la validación. No se permiten expresiones de directiva. No false

Elementos

Elemento Descripción Obligatorio
Identidades Agregue este elemento para especificar uno o varios elementos identity con notificaciones definidas en el certificado de cliente. No

atributos de identidad

Nombre Descripción Necesario Valor predeterminado
thumbprint Huella digital del certificado. No N/D
serial-number Número de serie del certificado. No N/D
common-name Nombre común del certificado (parte de la cadena del firmante). No N/D
subject Cadena del firmante. Debe seguir el formato de nombre distintivo (DN). No N/D
dns-name Valor de la entrada dnsName dentro de la notificación Nombre alternativo del firmante. No N/D
issuer-subject Firmante del emisor. Debe seguir el formato de nombre distintivo (DN). No N/D
issuer-thumbprint Huella digital del emisor. No N/D
issuer-certificate-id Identificador de la entidad de certificación existente que representa la clave pública del emisor. Mutuamente excluyente con otros atributos del emisor. No N/D

Uso

Ejemplo

En el ejemplo siguiente se valida un certificado de cliente para que coincida con las reglas de validación predeterminadas de la directiva y se comprueba si el nombre del firmante y el emisor coinciden con los valores especificados.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            subject="C=US, ST=Illinois, L=Chicago, O=Contoso Corp., CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

Para más información sobre el trabajo con directivas, vea: