Validando el propósito del certificado

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

En este documento, se explica cómo validar el propósito de un certificado antes de subirlo a un almacén de claves o un almacén de confianza. El proceso depende de OpenSSL para la validación y es aplicable en cualquier entorno en el que OpenSSL esté disponible.

Por lo general, los certificados TLS se emiten con uno o más fines para los que se pueden usar. Normalmente, esto se hace para restringir el número de operaciones para las que contiene una clave pública que se incluyen en el certificado. El propósito del certificado está disponible en los siguientes extensiones de certificado:

  • Uso de la clave
  • Uso extendido de la clave

Uso de la clave

La extensión de uso de claves define el propósito (por ejemplo, cifrado, firma o firma del certificado) de la clave contenida en el certificado. Si la clave pública se usa para autenticación de la entidad, la extensión del certificado debe tener el uso de la clave Firma digital.

Las distintas extensiones de uso de claves disponibles para un certificado TLS creado con el Los procesos de la autoridad certificadora (AC) son los siguientes:

  • Firma digital
  • No rechazo
  • Cifrado de claves
  • Cifrado de datos
  • Acuerdo de claves
  • Firma de certificados
  • Firma de CRL
  • Solo para cifrado
  • Solo para descifrar

Para obtener más información sobre estas extensiones de uso de claves, consulta RFC5280, Uso de la clave.

Uso extendido de la clave

Esta extensión indica uno o más propósitos para los que se puede usar la clave pública certificada. además de los fines básicos que se indican en la extensión de uso de claves, o en su lugar. En En general, esta extensión solo aparecerá en los certificados de entidades finales.

A continuación, se incluyen algunas extensiones comunes de uso extendido de claves:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Una clave extendida puede ser crítica o no crítica.

  • Si la extensión es crítica, el certificado debe usarse solo para la extensión que se indica con fines o propósitos específicos. Si el certificado se utiliza para otro propósito, incumple las la política de la AC.
  • Si la extensión no es esencial, indica el propósito o los fines previstos de la clave es informativa y no implica que la AC restrinja el uso de la clave a la propósito indicado. Sin embargo, las aplicaciones que usan certificados pueden requerir que se ejecute propósito del certificado para que el certificado sea aceptable.

Si un certificado contiene tanto el campo de uso de claves como el campo de uso de clave extendido, como es fundamental, entonces ambos campos deben procesarse de forma independiente y el certificado se puede usar con el fin de cumplir con ambos valores de uso de claves. Sin embargo, si no hay que pueda satisfacer ambos valores de uso de claves, no se debe usar ese certificado para para cualquier propósito.

Cuando adquieras un certificado, asegúrate de que se defina el uso de claves adecuado para satisfacer los requisitos de los certificados de cliente o servidor sin los cuales el protocolo de enlace TLS fallaría.

Purpose Uso de la clave

(obligatorio)

Uso extendido de la clave

(opcional)

Certificado de entidad del servidor que se usa en el almacén de claves del host virtual de Apigee Edge
  • Firma digital
  • Cifrado de clave o acuerdo de clave
Autenticación del servidor web TLS
Certificado de entidad del cliente que se usa en el almacén de confianza del host virtual de Apigee Edge
  • Firma digital o acuerdo de claves
Autenticación de cliente web TLS
Certificado de entidad de servidor que se usa en el almacén de confianza del servidor de destino de Apigee Edge
  • Firma digital
  • Cifrado de clave o acuerdo de clave
Autenticación del servidor web TLS
Certificado de entidad de cliente que se usa en el almacén de claves del servidor de destino de Apigee Edge
  • Firma digital o acuerdo de claves
Autenticación de cliente web TLS
Certificados intermedios y raíz
  • Signo del certificado
  • Firma de lista de revocación de certificados (CRL)

Antes de comenzar

Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:

  • Si no conoces una cadena de certificados, lee lo siguiente: Cadena de confianza.
  • Si todavía no conoces la biblioteca de OpenSSL, OpenSSL
  • Si quieres obtener más información sobre las extensiones de uso de claves y el uso extendido de claves, lee RFC5280:
  • Si deseas usar los ejemplos de línea de comandos de esta guía, instala la versión más reciente versión de OpenSSL client
  • Asegúrate de que los certificados estén en formato PEM. De lo contrario, convertir los certificados a formato PEM.

Validar el propósito del certificado

En esta sección, se describen los pasos que se usan para validar el propósito del certificado.

  1. Accede al servidor en el que existe OpenSSL.
  2. Para obtener el uso de la clave de un certificado, ejecuta el siguiente comando de OpenSSL:
    openssl x509 -noout -ext keyUsage < certificate

    En el ejemplo anterior, certificate es el nombre del certificado.

    Resultado de muestra

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. Si el uso de la clave es obligatorio, se definirá como crítico de la siguiente manera:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. Ejecuta el siguiente comando para obtener el uso extendido de la clave para un certificado. Si el uso extendido de la clave no se define como crítico, entonces es una recomendación y no es un mandato.
    openssl x509 -noout -ext extendedKeyUsage < certificate

    En el ejemplo anterior, certificate es el nombre del certificado.

    Resultado de muestra

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication