Convierte certificados en un formato compatible

Estás viendo la documentación de Apigee Edge.
Consulta la documentación de Apigee X.

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 almacenar solo certificados de formato PEM o PFX en almacenes de claves y almacenes de confianza. Los pasos que se usan para convertir certificados de formatos existentes a formatos PEM o PFX se basan en el kit de herramientas de OpenSSL y se pueden aplicar a cualquier entorno en el que OpenSSL esté disponible.

Antes de comenzar

Antes de seguir los pasos que se indican en este documento, asegúrate de comprender los siguientes temas:

  • Si no estás familiarizado con el formato PEM o PFX, consulta Acerca de TLS/SSL.
  • Si no estás familiarizado con los formatos de certificados, consulta Formatos de certificados SSL.
  • Si no estás familiarizado con la biblioteca de OpenSSL, consulta OpenSSL.
  • Si deseas usar los ejemplos de línea de comandos de esta guía, instala o actualiza a la versión más reciente del cliente OpenSSL.

Convirtiendo el 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 se haya instalado OpenSSL mediante 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.der servername:/tmp
    scp private_key.der servername:/tmp
    

    Donde 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 convierta al formato PEM.

Convirtiendo el certificado del formato P7B al formato PEM

En esta sección, se describe cómo convertir certificados del formato P7B al formato PEM.

  1. Transfiere el archivo que contiene la cadena de certificados completa (certificate.p7b) que deseas convertir al formato PEM a una máquina en la que se haya instalado OpenSSL mediante 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
    

    Donde 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 del formato P7B al formato PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
    
  4. Verifica que el certificado se convierta al formato PEM.

Convirtiendo el 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, copiar cada certificado y clave privada (incluidas las sentencias 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 desees convertir al formato PEM a una máquina en la que se haya instalado OpenSSL mediante 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.pfx servername:/tmp
    

    Donde 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 del formato P7B al formato PEM:
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. Verifica que el certificado se convierta al formato PEM.

Conversión del certificado de formato P7B al formato PFX

En esta sección, se 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 en PFX a una máquina en la que esté instalado OpenSSL mediante 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
    

    Donde 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 al formato PFX y exportar la entidad y los certificados de CA intermedias 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 tenga el formato PEM.

  1. Para ver el certificado que está 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 sin errores, puedes confirmar que el certificado esté en formato PEM.
  3. Si el certificado tiene 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