Convierte certificados en un formato compatible

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:

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.

  1. 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 con scp, 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.

  2. Accede a la máquina en la que está instalado OpenSSL.
  3. 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
  4. 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.

  1. 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 con scp, 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.

  2. Accede a la máquina en la que está instalado OpenSSL.
  3. 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
  4. 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.

  1. 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 con scp, 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.

  2. Accede a la máquina en la que está instalado OpenSSL.
  3. 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
  4. 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.

  1. Transfiere el certificado (certificate.p7b) que deseas convertir a PFX a una máquina en la que esté instalado OpenSSL con scp, 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.

  2. Accede a la máquina en la que está instalado OpenSSL.
  3. 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.

  1. Para ver el certificado en formato PEM, ejecuta el siguiente comando:
    openssl x509 -in certificate.pem -text -noout
  2. Si puedes ver el contenido del certificado en un formato legible por humanos sin errores, puedes confirmar que el certificado está en formato PEM.
  3. 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

  1. 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-----
  2. 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
  3. Accede a la máquina en la que está instalado OpenSSL.
  4. 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