Conversión de formato CRT a PEM – informaticamadridmayor

Ayer necesitábamos convertir los certificados SSL x.509 recibidos de una CA autorizada de crt a pem para que fueran compatibles con un software específico. En este artículo, le mostraremos la forma más sencilla de convertir su archivo de certificado de .crt a. formato pem.

Los certificados SSL X.509 se pueden emitir en varios formatos:

  • .CRT o .CER – certificado;
  • .DER – reglas de codificación distinguidas;
  • .PEM: correo electrónico con privacidad mejorada.

PEM (PAGrivalidad mimejorado METROail) es el formato de certificado SSL X.509 más popular emitido por centros de autoridad de certificación con diferentes extensiones de archivo como .pem, .crt, .cer o .key. Los archivos de certificado tienen la extensión .pem, .crt, .cer y .key. Los archivos están codificados en Base64 y necesariamente comienzan con la línea “—– BEGIN CERTIFICATE —–” y terminan con la línea “—– END CERTIFICATE —–“.

De hecho, el formato de archivo PEM es un contenedor que también puede contener el certificado público o toda la cadena de certificados (claves públicas y privadas, certificados raíz) en el mismo archivo.

Si el archivo de certificado PEM contiene una clave privada, contendrá una sección adicional:

----- BEGIN PRIVATE KEY -----

----- END PRIVATE KEY ------

El formato de clave pública PEM contiene las siguientes líneas de encabezado y pie de página:

— — -BEGIN PUBLIC KEY — — -

— — -END PUBLIC KEY — — —

Los certificados PEM están codificados en formato de texto ASCII Base64 y puede verlos en cualquier editor de texto. Apache, Nginx y servidores web similares utilizan certificados SSL en formato de archivo PEM.

Nota. Web Server IIS en Windows Server utiliza un formato de certificado diferente: .pfx.

DER es un archivo de certificado binario. Los archivos de certificado en este formato suelen tener una extensión de archivo .cer, pero también puede encontrar una extensión .der. Como regla general, el formato de certificado DER se utiliza en plataformas Java.

Extensiones de archivo de certificado comunes:

  • .CRT – una extensión para archivos de certificado. El certificado en sí puede ser binario (.DER) o ASCII – (.PEM). Las extensiones .CER y .CRT son sinónimos. Este tipo de archivo de certificado se utiliza con mayor frecuencia en los sistemas operativos UNIX / Linux;
  • .CER – forma alternativa de .CRT de Microsoft;
  • .LLAVE – esta extensión de archivo se utiliza para claves públicas y privadas PKCS # 8, que se pueden almacenar en formato binario .DER o ASCII .PEM.

En primer lugar, compruebe si su archivo de certificado no está ya en formato PEM, pero el archivo en sí tiene una extensión .crt. Intente abrir su archivo .crt usando cualquier editor de texto, o enumere su contenido usando PowerShell:

gc .cert.crt

Si el contenido del archivo comienza con —– BEGIN, y puede leerlo en un editor de texto, esto indica que el archivo ya usa el formato base64, que se puede leer en ASCII (el archivo no está en formato binario).

Esto significa que su certificado ya está en formato PEM. Simplemente cambie la extensión del archivo de .crt a .pem en el Explorador de archivos de Windows.

Para convertir archivos de certificado SSL, debe utilizar herramientas de terceros. La herramienta de conversión más utilizada es OpenSSL.

Nota. OpenSSL es un conjunto de herramientas para los protocolos Transport Layer Security (TLS) y Secure Sockets Layer (SSL) (también una biblioteca de criptografía de propósito general). La conversión mediante la biblioteca OpenSSL se considera una de las formas más seguras: todos los datos se guardarán directamente en el dispositivo en el que se realizarán las operaciones de conversión.

Con OpenSSL puede imprimir información sobre un archivo de certificado:

openssl x509 -in /root/cert.pem –text

¿Cómo convertir un certificado SSL CRT a PEM en Windows?

En caso de que su archivo crt esté en formato binario, puede convertirlo usando la utilidad OpenSSL para Windows (en este caso usamos el puerto SSL abierto gnuwin32, versión 0.9.8h).

Descargue el archivo con los binarios de OpenSSL (openssl-0.9.8h-1-bin.zip) y extráigalo en una carpeta local (por ejemplo, C: OpenSSL). Copie su archivo .crt en el mismo directorio. Después de eso, ejecute el símbolo del sistema con privilegios de administrador y vaya a la carpeta:

cd C:OpenSSLbin

Si el archivo crt está en formato binario, ejecute el siguiente comando para convertirlo a formato PEM:

Openssl.exe x509 -inform DER -outform PEM -in my_certificate.crt -out my_certificate.crt.pem

Cambie los nombres de los archivos de certificado por los suyos. Este comando le ayuda a convertir un archivo de certificado DER (.crt, .cer, .der) a PEM.

Nota. Cuando convierte sus archivos de certificado a diferentes formatos usando OpenSSL, los datos privados de su certificado están protegidos, ya que OpenSSL nunca los almacena durante la conversión del archivo.

Después de ejecutar el comando, el nuevo archivo my_certificate.crt.pem debería aparecer en la misma carpeta. Ábrelo y asegúrate de que esté codificado en Base64. Este certificado ahora se puede importar a su servidor web o en cualquier lugar que desee.

convertir .crt a .pem

Si ejecuta la herramienta openssl.exe y recibe un error: No se puede cargar la información de configuración de /usr/local/ssl/openssl.cnf, debe configurar una nueva variable de entorno de Windows con el siguiente comando:

Set OPENSSL_CONF=C:opensslshareopenssl.cnf

convertir crt a pem windows

Luego, vuelva a ejecutar la ventana del símbolo del sistema e intente ejecutar un comando para convertir su archivo de certificado del formato de archivo CRT a PEM.

En Windows 10 / Windows Server 2016, puede convertir CER al formato de archivo de certificado DER (PEM) desde la herramienta de exportación de certificados incorporada de Windows.

  1. Ejecute el Explorador de archivos, busque y haga doble clic en su archivo .cer;
    crt a pem windows
  2. En la ventana de propiedades del certificado, vaya a la Detalles pestaña y haga clic en el botón «Copiar a archivo»;
    openssl convertir crt a pem
  3. prensa próximo en el primer paso del Asistente para exportación de certificados;
  4. Ahora debe seleccionar el formato de exportación del certificado. Seleccione la opción “X.509 codificado en BASE-64 (.CER)” y haga clic en Siguiente;
    .crt a .pem
  5. Especifique el nombre del archivo;
    openssl crt a pem
  6. presione el Terminar botón;
    cómo convertir crt a pem
  7. Ahora puede cambiar la extensión del archivo de su certificado de .cer a .pem. Puede usar el siguiente comando de PowerShell:
    rename-item C:PSnew_cert.cer c:psnew_cert.pem
  8. Asegúrese de que el formato de archivo sea Base64:
    cat c:psnew_cert.pem

    cómo convertir .crt a .pem

Convierta el certificado SSL CRT a formato PEM en Linux

Veamos cómo convertir un archivo de certificado CRT / DER al formato PEM en Linux. Primero, necesita instalar el paquete OpenSSL.

En RedHat / CentOS / Fedora puede instalar OpenSSL de la siguiente manera:

yum install openssl

Nota. En este caso, el paquete openssl-1: 1.1.1c-2.el8.x86_64 ya está instalado.

cómo convertir crt a formato pem

En las distribuciones Debian / Ubuntu, puede instalar este paquete usando APT:

apt-get install openssl

Para convertir su archivo CER a formato PEM usando OpenSSL, ejecute el siguiente comando:

openssl x509 -inform der -in /home/tstcert.cer -out /home/tstcert.pem

tstcert.cer: archivo de certificado de origen;
tstcert.pem: archivo pem de destino.

convertidor de crt a pem

Algunos ejemplos más del uso de OpenSSL para convertir varios formatos de archivo de certificado:

PEM a DER:

openssl x509 -outform der -in certificate.pem -out certificate.der

PKCS # 12 con clave privada para PEM:

openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

PEM y archivos de clave privada a PKCS # 12:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

PEM a DER:

openssl x509 -outform der -in certificate.pem -out certificate.der

PEM a PKCS # 7 (.p7b, .p7c)

openssl crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b -certfile CAcert.cer

Uso de Openssl-ToolKit para convertir un archivo de certificado CRT

Si no se siente cómodo con la línea de comandos de OpenSSL, puede utilizar la Kit de herramientas OpenSSL script para convertir los certificados. El script OpenSSL ToolKit es una sencilla herramienta contenedora para la CLI de OpenSSL para ayudar a automatizar las tareas comunes de administración de certificados. Cuando se utiliza este script, los certificados y las claves se procesan directamente en el host y no se transfieren a ninguna parte.

  1. Ejecute el siguiente comando para instalar el script OpenSSL ToolKit en Linux:
    echo https://github.com/tdharris/openssl-toolkit/releases/download/1.1.0/openssl-toolkit-1.1.0.zip 
    
    | xargs wget -qO- -O tmp.zip && unzip -o tmp.zip && rm tmp.zip && ./openssl-toolkit/openssl-toolkit.sh
  2. Seleccione 2> Enter para convertir el archivo de certificado.
    cómo convertir .crt a .pem en windows
  3. Seleccione el tipo de conversión (4. DER a PEM).
    convertir crt a pem openssl
  4. Ingrese el nombre del archivo de certificado: /root/cert.cer.
  5. Especifique el nombre del archivo a convertir y presione Entrar.
  6. El script convertirá el archivo de certificado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *