Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
En este documento, se explica cómo convertir el certificado TLS y la clave privada asociada a los formatos PEM o PFX (PKCS #12).
Apigee Edge admite el almacenamiento de solo certificados en formato PEM o PFX en almacenes de claves y almacenes de confianza. Los pasos que se usan para convertir certificados de cualquier formato existente a formatos PEM o PFX se basan en el kit de herramientas OpenSSL y se aplican a cualquier entorno en el que OpenSSL esté disponible.
Antes de comenzar
Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:
- Si no conoces el formato PEM o PFX, lee Acerca de TLS/SSL.
- Si no conoces los formatos de certificados, consulta Formatos de certificados SSL.
- Si no conoces la biblioteca de OpenSSL, lee OpenSSL.
- 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.
Convierte un certificado del formato DER al formato PEM
En esta sección, se describe cómo convertir un certificado y una clave privada asociada del formato DER al formato PEM.
-
Transfiere el archivo que contiene la cadena de certificados completa (
certificate.der
) y la clave privada asociada (private_key.der
) que deseas convertir al formato PEM a una máquina en la que esté instalado OpenSSL conscp
,sftp
o cualquier otra utilidad.Por ejemplo, usa el comando
scp
para transferir el archivo al directorio/tmp
del servidor que contiene OpenSSL de la siguiente manera:scp certificate.der servername:/tmp scp private_key.der servername:/tmp
En el ejemplo anterior, servername es el nombre del servidor que contiene OpenSSL.
- Accede a la máquina en la que está instalado OpenSSL.
-
Desde el directorio en el que se encuentran los certificados, ejecuta el siguiente comando para convertir el certificado y la clave privada asociada del formato DER al formato PEM:
openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
- Verifica que el certificado se haya convertido al formato PEM.
Conversión de un certificado del formato P7B al formato PEM
En esta sección, se describe la manera de convertir certificados del formato P7B al formato PEM.
- Transfiere el archivo que contiene la cadena de certificados completa (
certificate.p7b
) que deseas convertir a formato PEM a una máquina en la que se haya instalado OpenSSL conscp
,sftp
o cualquier otra utilidad.Por ejemplo, usa el comando
scp
para transferir el archivo al directorio/tmp
en el servidor que contiene OpenSSL de la siguiente manera:scp certificate.p7b servername:/tmp
En el que servername es el nombre del servidor que contiene OpenSSL.
- Accede a la máquina en la que está instalado OpenSSL.
-
Desde el directorio en el que se encuentran los certificados, ejecuta el siguiente comando para convertirlos del formato P7B al formato PEM:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
- Verifica que el certificado esté convertido a formato PEM.
Convierte un certificado del formato PFX al formato PEM
En esta sección, se describe cómo convertir certificados TLS del formato PFX al formato PEM.
Cuando se convierte un archivo PFX a formato PEM, OpenSSL coloca todos los certificados y la clave privada en un solo archivo. Deberás abrir el archivo en un editor de texto y copiar cada certificado y clave privada (incluidas las instrucciones BEGIN/END) en archivos de texto individuales y guardarlos como certificate.pfx
, Intermediate.pfx
(si corresponde), CACert.pfx
y privateKey.key
, respectivamente.
Apigee admite el formato PFX/PKCS #12. Sin embargo, el formato PEM es conveniente por muchos motivos, incluida la validación.
-
Transfiere los certificados y la clave privada (
certificate.pfx
,Intermediate.pfx
,CACert.pfx
,privateKey.key
) que deseas convertir al formato PEM a una máquina en la que esté instalado OpenSSL conscp
,sftp
o cualquier otra utilidad.Por ejemplo, usa el comando
scp
para transferir el archivo al directorio/tmp
del servidor que contiene OpenSSL de la siguiente manera:scp certificate.pfx servername:/tmp
En el ejemplo anterior, servername es el nombre del servidor que contiene OpenSSL.
- Accede a la máquina en la que está instalado OpenSSL.
-
Desde el directorio en el que se encuentran los certificados, ejecuta el siguiente comando para convertir el certificado de formato P7B al formato PEM:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
- Verifica que el certificado se haya convertido al formato PEM.
Conversión de un certificado del formato P7B al formato PFX
Esta sección describe cómo convertir certificados TLS del formato P7B al formato PFX.
Para convertir al formato PFX, también debes obtener la clave privada.
-
Transfiere el certificado (
certificate.p7b
) que deseas convertir a PFX a una máquina en la que esté instalado OpenSSL conscp
,sftp
o cualquier otra utilidad.Por ejemplo, usa el comando
scp
para transferir el archivo al directorio/tmp
en el servidor que contiene OpenSSL de la siguiente manera:scp certificate.p7b servername:/tmp scp private_key.key servername:/tmp
En el ejemplo anterior, servername es el nombre del servidor que contiene OpenSSL.
- Accede a la máquina en la que está instalado OpenSSL.
-
Desde el directorio en el que se encuentran los certificados, ejecuta los siguientes comandos para convertir el certificado de P7B a PFX y exportar los certificados de la entidad y de la AC intermedia en archivos separados:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
Verifica que el certificado esté en formato PEM
En esta sección, se describe cómo verificar que el certificado esté en formato PEM.
- Para ver el certificado en formato PEM, ejecuta el siguiente comando:
openssl x509 -in certificate.pem -text -noout
- Si puedes ver el contenido del certificado en un formato legible por humanos sin errores, puedes confirmar que el certificado está en formato PEM.
-
Si el certificado tiene cualquier otro formato, verás errores como los siguientes:
unable to load certificate 12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate
Empaquetamiento de archivos de clave y certificado PEM en PKCS12/PFX
-
Asegúrate de que el archivo de clave privada esté en formato PEM. En el caso del certificado, si tienes archivos PEM separados para la cadena, abre cada archivo en un editor de texto y concatena todos en uno solo, como se muestra a continuación:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
-
Transfiere los archivos a una máquina en la que esté instalado OpenSSL con
scp
,sftp
o cualquier otra utilidad:scp certificate.pem servername:/tmp scp private.key servername:/tmp
- Accede a la máquina en la que está instalado OpenSSL.
-
Desde el directorio en el que se encuentran los archivos, ejecuta el siguiente comando para empaquetar los archivos en un archivo PKCS12 con el alias myalias. Cuando se te solicite, ingresa una contraseña adecuada:
openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias