Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
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 certificados de confianza. El proceso se basa en OpenSSL para la validación y se aplica en cualquier entorno en el que esté disponible OpenSSL.
Por lo general, los certificados TLS se emiten con uno o más propósitos para los que se pueden usar. Por lo general, esto se hace para restringir la cantidad 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 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 de certificado) de la clave contenida en el certificado. Si la clave pública se usa para la autenticación de entidades, la extensión del certificado debe tener el uso de claves Firma digital.
Las diferentes extensiones de uso de claves disponibles para un certificado TLS creado con 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 propósitos para los que se puede usar la clave pública certificada, además de los propósitos básicos indicados en la extensión de uso de claves o en lugar de ellos. En general, esta extensión solo aparecerá en los certificados de entidad final.
Algunas extensiones de uso extendido de claves comunes son las siguientes:
-
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 el propósito o los propósitos indicados. Si el certificado se usa para otro propósito, incumple la política de la CA.
- Si la extensión es no crítica, indica que el propósito o los propósitos previstos de la clave son informativos y no implican que la CA restrinja el uso de la clave al propósito indicado. Sin embargo, las aplicaciones que usan certificados pueden requerir que se indique un propósito en particular para que el certificado sea aceptable.
Si un certificado contiene el campo de uso de claves y el campo de uso extendido de claves como críticos, ambos campos deben procesarse de forma independiente, y el certificado solo se puede usar para un propósito que satisfaga ambos valores de uso de claves. Sin embargo, si no hay ningún propósito que pueda satisfacer ambos valores de uso de claves, no se debe usar ese certificado para ningún propósito.
Cuando adquieras un certificado, asegúrate de que tenga definido el uso de claves adecuado para satisfacer los requisitos de los certificados de cliente o servidor sin los cuales fallaría el protocolo de enlace TLS.
Uso de claves y usos extendidos de claves recomendados para los certificados que se usan en Apigee Edge
| 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 |
|
Autenticación del servidor web TLS |
| Certificado de entidad del cliente que se usa en el almacén de certificados de confianza del host virtual de Apigee Edge |
|
Autenticación del cliente web TLS |
| Certificado de entidad del servidor que se usa en el almacén de certificados de confianza del servidor de destino de Apigee Edge |
|
Autenticación del servidor web TLS |
| Certificado de entidad del cliente que se usa en el almacén de claves del servidor de destino de Apigee Edge |
|
Autenticación del cliente web TLS |
| Certificados intermedios y raíz |
|
Antes de comenzar
Antes de usar 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 estás familiarizado con la biblioteca de OpenSSL, consulta OpenSSL
- Si deseas 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 o actualiza a la versión más reciente del cliente de OpenSSL
- Asegúrate de que los certificados estén en formato PEM y, si no lo están, conviértelos a ese formato.
Valida el propósito del certificado
En esta sección, se describen los pasos que se usan para validar el propósito del certificado.
- Accede al servidor en el que existe OpenSSL.
-
Para obtener el uso de claves de un certificado, ejecuta el siguiente comando de OpenSSL:
openssl x509 -noout -ext keyUsage < certificate
Donde 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 claves 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 -
Ejecuta el siguiente comando para obtener el uso extendido de claves de un certificado.
Si el uso extendido de claves no se define como crítico, es una recomendación y
no una obligación.
openssl x509 -noout -ext extendedKeyUsage < certificate
Donde 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