Estás consultando la documentación de Apigee Edge.
Consulta 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 se basa en OpenSSL para la validación y es aplicable a cualquier entorno en el que OpenSSL esté disponible.
Por lo general, los certificados TLS se emiten con uno o más fines para usarlos. Por lo general, esto se hace para restringir el número de operaciones para las que se puede usar una clave pública contenida en el certificado. El propósito del certificado está disponible en las siguientes extensiones de certificado:
- Uso de claves
- Uso extendido de la clave
Uso de claves
La extensión de uso de la clave define el propósito (por ejemplo, el cifrado, la firma o la firma del certificado) de la clave que se incluye en el certificado. Si se usa la clave pública para la autenticación de entidades, la extensión del certificado debería tener el uso de clave Firma digital.
Las diferentes extensiones de uso de claves disponibles para un certificado TLS creado mediante el proceso de la autoridad certificadora (CA) son las 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 claves.
Uso extendido de la clave
Esta extensión indica uno o más fines para los que se puede usar la clave pública certificada, además de los fines básicos indicados en la extensión de uso de claves, o bien en lugar de ellos. En general, esta extensión aparecerá solo en los certificados de entidades finales.
Estas son algunas extensiones comunes de uso extendido de la clave:
-
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 se debe usar solo para los fines indicados. Si el certificado se usa para otro propósito, incumple la política de la AC.
- Si la extensión es no crítica, indica que el propósito o los propósitos previstos de la clave es informativo y no implica que la AC restrinja el uso de la clave al propósito indicado. Sin embargo, es posible que las aplicaciones que usan certificados requieran que se indique un propósito en particular para que el certificado sea aceptable.
Si un certificado contiene los campos de uso de claves y de uso de claves extendidos como críticos, ambos campos deben procesarse de forma independiente, y el certificado se puede usar solo para un propósito que cumpla con ambos valores de uso de clave. Sin embargo, si no existe un propósito que pueda satisfacer ambos valores de uso de la clave, el certificado no se debe usar para ningún fin.
Cuando adquieras un certificado, asegúrate de que tenga el uso de clave adecuado definido para cumplir con los requisitos de certificados de cliente o servidor, sin los cuales fallaría el protocolo de enlace TLS.
Uso de claves recomendado y uso extendido de claves para los certificados que se usan en Apigee Edge
Purpose |
Uso de la clave
(obligatorio) |
Uso extendido de la clave
(optional) |
Certificado de entidad del servidor que se usa en el almacén de claves de host virtual de Apigee Edge |
|
Autenticación del servidor web TLS |
Certificado de entidad de cliente que se usa en el almacén de confianza del host virtual de Apigee Edge |
|
Autenticación de cliente web TLS |
Certificado de entidad del servidor que se usa en el almacén de confianza del servidor de destino de Apigee Edge |
|
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 |
|
Autenticación de cliente web TLS |
Certificados intermedios y raíz |
|
Antes de comenzar
Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:
- Si no estás familiarizado con una cadena de certificados, consulta Cadena de confianza.
- Si no conoces la biblioteca de OpenSSL, consulta OpenSSL.
- Si quieres obtener más información sobre las extensiones de uso de claves y el uso extendido de claves, consulta RFC5280.
- Si deseas usar los ejemplos de la línea de comandos de esta guía, instala la versión más reciente del cliente OpenSSL o actualízalo a la versión más reciente.
- Asegúrate de que los certificados estén en formato PEM y, de lo contrario, conviértelos en formato PEM.
Valida el propósito del certificado
En esta sección, se describen los pasos usados para validar el propósito del certificado.
- Accede al servidor en el que existe OpenSSL.
-
Para obtener el uso de 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
-
Si el uso de una clave es obligatorio, se definirá como fundamental de la siguiente manera:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
Ejecuta el siguiente comando para obtener el uso extendido de la clave de un certificado.
Si el uso extendido de la clave no se define como crítico, es una recomendación y no 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