Saltar al contenido

Convierta .pem a .crt y.key

Hemos estado indagado por el mundo online para traerte la respuesta a tu duda, en caso de dificultades déjanos la inquietud y te responderemos porque estamos para servirte.

Solución:

Pude convertir pem a crt usando esto:

openssl x509 -outform der -in your-cert.pem -out your-cert.crt

Conversión mediante OpenSSL

Estos comandos le permiten convertir certificados y keys a diferentes formatos para hacerlos compatibles con tipos específicos de servidores o software.

  • Convierta un archivo DER (.crt .cer .der) a PEM

    openssl x509 -inform der -in certificate.cer -out certificate.pem
    
  • Convertir un archivo PEM a DER

    openssl x509 -outform der -in certificate.pem -out certificate.der
    
  • Convierta un archivo PKCS # 12 (.pfx .p12) que contenga un key y certificados a PEM

    openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
    
    You can add -nocerts to only output the private key or add -nokeys to only output the certificates.
    
  • Convierta un archivo de certificado PEM y un key a PKCS # 12 (.pfx .p12)

    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
    
  • Convierta PEM a CRT (archivo .CRT)

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

OpenSSL Convertir PEM

  • Convertir PEM en DER

    openssl x509 -outform der -in certificate.pem -out certificate.der
    
  • Convierta PEM a P7B

    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
    
  • Convierta PEM a PFX

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

OpenSSL Convertir DER

  • Convertir DER a PEM

    openssl x509 -inform der -in certificate.cer -out certificate.pem
    

OpenSSL Convertir P7B

  • Convierta P7B a PEM

    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
  • Convierta P7B a PFX

    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
    openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
    

OpenSSL Convertir PFX

  • Convierta PFX a PEM

    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
    

Generar rsa keys por OpenSSL

  • Usando OpenSSL en la línea de comando, primero necesitaría generar un público y un privado key, debe proteger con contraseña este archivo usando el argumento -passout, hay muchas formas diferentes que este argumento puede tomar, así que consulte la documentación de OpenSSL al respecto.

    openssl genrsa -out private.pem 1024
    
  • Esto crea una key archivo llamado private.pem que usa 1024 bits. Este archivo en realidad tiene tanto el privado como el público keys, por lo que debe extraer el público de este archivo:

    openssl rsa -in private.pem -out public.pem -outform PEM -pubout
    
    or
    
    openssl rsa -in private.pem -pubout > public.pem
    
    or
    
    openssl rsa -in private.pem -pubout -out public.pem
    

    Ahora tendrá public.pem que contiene solo su public key, puede compartirlo libremente con terceros. Puede probarlo todo cifrando algo usted mismo utilizando su público key y luego descifrar usando su privado key, primero necesitamos un poco de datos para cifrar:

  • Archivo de ejemplo:

    echo 'too many secrets' > file.txt
    
  • Ahora tiene algunos datos en file.txt, cifremoslos usando OpenSSL y el público key:

    openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
    
  • Esto crea una versión encriptada de file.txt llamándolo file.ssl, si miras este archivo es simplemente basura binaria, nada muy útil para nadie. Ahora puede desencriptarlo usando el privado key:

    openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt
    
  • Ahora tendrá un archivo sin cifrar en decrypted.txt:

    cat decrypted.txt
    |output -> too many secrets
    

Opciones de RSA TOOLS en OpenSSL

  • NOMBRE

    rsa – RSA key herramienta de procesamiento

  • SINOPSIS

    openssl rsa [-help] [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id]

  • DESCRIPCIÓN

    El comando rsa procesa RSA keys. Se pueden convertir entre varios formularios e imprimir sus componentes. Tenga en cuenta que este comando utiliza el formato tradicional compatible con SSLeay para key cifrado: las aplicaciones más nuevas deben utilizar el formato PKCS # 8 más seguro mediante la utilidad pkcs8.

  • OPCIONES DE COMANDOS

    -help
    

    Imprima un mensaje de uso.

    -inform DER|NET|PEM
    

    Esto especifica el formato de entrada. La opción DER utiliza una forma codificada DER ASN1 compatible con el formato PKCS # 1 RSAPrivateKey o SubjectPublicKeyInfo. El formulario PEM es el formato predeterminado: consiste en el formato DER codificado en base64 con líneas adicionales de encabezado y pie de página. En la entrada formato PKCS # 8 privado keys también se aceptan. El formulario NET es un formato que se describe en la sección NOTAS.

    -outform DER|NET|PEM
    

    Esto especifica el formato de salida, las opciones tienen el mismo significado que la opción -inform.

    -in filename
    

    Esto especifica el nombre del archivo de entrada para leer un key desde o entrada estándar si no se especifica esta opción. Si el key está cifrada, se le pedirá una contraseña.

    -passin arg
    

    la fuente de contraseña del archivo de entrada. Para obtener más información sobre el formato de arg, consulte la sección ARGUMENTOS DE FRASE DE APROBACIÓN en openssl.

    -out filename
    

    Esto especifica el nombre del archivo de salida para escribir un key a o salida estándar si no se especifica esta opción. Si se configura alguna opción de cifrado, se le pedirá una frase de contraseña. El nombre del archivo de salida no debe ser el mismo que el nombre del archivo de entrada.

    -passout password
    

    el origen de la contraseña del archivo de salida. Para obtener más información sobre el formato de arg, consulte la sección ARGUMENTOS DE FRASE DE APROBACIÓN en openssl.

    -aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea
    

    Estas opciones encriptan lo privado key con el cifrado especificado antes de generarlo. Se solicita una frase de contraseña. Si no se especifica ninguna de estas opciones, key está escrito en texto sin formato. Esto significa que el uso de la utilidad rsa para leer en un cifrado key sin opción de cifrado se puede utilizar para eliminar la frase de contraseña de un key, o al configurar las opciones de cifrado, se puede usar para agregar o cambiar la frase de contraseña. Estas opciones solo se pueden utilizar con archivos de salida en formato PEM.

    -text
    

    imprime los distintos públicos o privados key componentes en texto sin formato además de la versión codificada.

    -noout
    

    esta opción evita la salida de la versión codificada del key.

    -modulus
    

    esta opción imprime el valor del módulo de la key.

    -check
    

    esta opción comprueba la coherencia de un RSA privado key.

    -pubin
    

    por defecto un privado key se lee desde el archivo de entrada: con esta opción un público key se lee en su lugar.

    -pubout
    

    por defecto un privado key es salida: con esta opción un público key se emitirá en su lugar. Esta opción se configura automáticamente si la entrada es pública. key.

    -RSAPublicKey_in, -RSAPublicKey_out
    

    como -pubin y -pubout, excepto que en su lugar se utiliza el formato RSAPublicKey.

    -engine id
    

    especificando un motor (por su identificación única string) hará que rsa intente obtener una referencia funcional al motor especificado, inicializándolo si es necesario. A continuación, el motor se establecerá como predeterminado para todos los algoritmos disponibles.

  • NOTAS

    El PEM privado key El formato utiliza las líneas de encabezado y pie de página:

    -----BEGIN RSA PRIVATE KEY-----
    
    -----END RSA PRIVATE KEY-----
    

    El público PEM key El formato utiliza las líneas de encabezado y pie de página:

    -----BEGIN PUBLIC KEY-----
    
    -----END PUBLIC KEY-----
    

    El formato PEM RSAPublicKey utiliza las líneas de encabezado y pie de página:

    -----BEGIN RSA PUBLIC KEY-----
    
    -----END RSA PUBLIC KEY-----
    

    El formulario NET es un formato compatible con servidores Netscape más antiguos y Microsoft IIS.key archivos, esto utiliza RC4 sin sal para su cifrado. No es muy seguro y, por lo tanto, solo debe usarse cuando sea necesario.

    Algunas versiones más recientes de IIS tienen datos adicionales en el archivo.key archivos. Para usarlos con la utilidad, vea el archivo con un editor binario y busque el string “privado-key”, luego rastree hasta la secuencia de bytes 0x30, 0x82 (esta es una SECUENCIA ASN1). Copie todos los datos desde este punto en adelante a otro archivo y utilícelo como entrada a la utilidad rsa con la opción -inform NET.

    EJEMPLOS

    Para eliminar la frase de contraseña en un RSA privado key:

     openssl rsa -in key.pem -out keyout.pem
    

    Para cifrar un privado key usando triple DES:

     openssl rsa -in key.pem -des3 -out keyout.pem
    

    Para convertir un privado key de formato PEM a DER:

      openssl rsa -in key.pem -outform DER -out keyout.der
    

    Para imprimir los componentes de un privado key a salida estándar:

      openssl rsa -in key.pem -text -noout
    

    Para dar salida a la parte pública de una privada key:

      openssl rsa -in key.pem -pubout -out pubkey.pem
    

    Salida de la parte pública de una privada key en formato RSAPublicKey:

      openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
    

Para extraer el key y certificado de un archivo pem:

Extraer key

openssl pkey -in foo.pem -out foo.key

Otro método de extraer el key…

openssl rsa -in foo.pem -out foo.key

Extraiga todos los certificados, incluida la cadena CA

openssl crl2pkcs7 -nocrl -certfile foo.pem | openssl pkcs7 -print_certs -out foo.cert

Extraiga el primer certificado textualmente como DER

openssl x509 -in foo.pem -outform DER -out first-cert.der

Comentarios y calificaciones

Eres capaz de añadir valor a nuestro contenido añadiendo tu experiencia en las observaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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