¿Alguien puede decirme la forma correcta/comando para extraer/convertir el certificado .crt y la clave privada .key archivos de una .pem archivo? Acabo de leer que son intercambiables, pero no se cómo.

InformationsquelleAutor Lanbo | 2012-12-05

4 Comentarios

  1. 427

    Yo era capaz de convertir pem crt usando este:

    openssl x509 -outform der -in your-cert.pem -out your-cert.crt
    
    • ACEPTAR esto funciona. Pero, ¿cómo puedo obtener la .archivo de la clave?
    • Utilizando un editor de texto no es el mejor enfoque. Para extraer la llave en PKCS8 forma: openssl pkey -in mumble.pem -out mumble-key.pem Si el OpenSSL versión es más antigua que 1.0.0, para extraer la clave como una clave RSA: openssl rsa -in mumble.pem -out mumble-key.pem
    • He probado el comando pero tuve: unable to load certificate 140584440387400:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
    • Comprobar si el archivo pem ha «BEGIN RSA PRIVATE KEY» en ella. Si no usted no está utilizando el archivo de la derecha.
    • crt crea el archivo sin error, pero luego me sale esto cuando lo esté utilizando: _tls_common.js:65 ºc.contexto.setCert(opciones.cert); ^ de Error: error:0906D06C:PEM rutinas:PEM_read_bio:no hay línea de salida en caso de Error (nativo) en el Objeto.createSecureContext (_tls_common.js:65:17) en el Servidor (_tls_wrap.js:754:25) en el nuevo Servidor (https.js:24:14) en el Objeto.de las exportaciones.createServer (https.js:44:10)
    • la tecla comando (openssl pkey -en mumble.pem -out mumble-clave.pem) da esto: no se puede cargar la clave 129051320116880:error:0906D06C:PEM rutinas:PEM_read_bio:no hay línea de salida:pem_lib.c:703:Esperando: CUALQUIER CLAVE PRIVADA
    • Yo tenía el mismo error. Cómo lo solucionasteis?
    • Se me olvidó, pero al final, letsencrypt ofrece todos los tipos de archivo de clave, crt, y pem, por lo que no es necesario convertir.
    • yo también enfrentan el mismo problema. para solucionarlo lo que el archivo que hemos exportado, u solo es necesario dar un pem de extensión. por ejemplo: si el nombre del archivo es «certificado» solo cambie el nombre a «de certificados.pem» y funcionará
    • openssl rsa -en-cert.pem -outform pem -out de su clave.pem
    • ambos pkey y rsa me dan Expecting: ANY PRIVATE KEY de error.
    • cualquier solución para conseguir la clave ?

  2. 319

    La Conversión De Uso De OpenSSL

    Estos comandos le permiten convertir los certificados y las claves para diferentes formatos para hacerlos compatibles con determinados tipos de servidores o software.

    • Convertir un DER archivo (.crt .cer .der) para 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
      
    • Convertir un archivo PKCS#12 (.pfx .p12) que contiene una clave privada y certificados para 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.
      
    • Convertir un PEM archivo de certificado y una clave privada para PKCS#12 (.pfx .p12)

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

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

    OpenSSL Convertir PEM

    • Convertir PEM DER

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

      openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
      
    • Convertir PEM 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

    • Convertir P7B a PEM

      openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
      
    • Convertir P7B para 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

    • Convertir PFX a PEM

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

    Generar claves rsa por OpenSSL

    • El uso de OpenSSL en la línea de comandos te gustaría primera necesidad para generar una clave pública y privada, se debe proteger con contraseña de este archivo usando la opción-passout argumento, hay muchas formas diferentes de que este argumento puede tomar para consultar el OpenSSL documentación acerca de eso.

      openssl genrsa -out private.pem 1024
      
    • Esto crea un archivo de clave de llamada privada.pem que utiliza 1024 bits. Este archivo tiene las claves públicas y privadas, 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 vamos a tener público.pem que contiene sólo su clave pública, puede compartir libremente este con 3ras partes.
      Usted puede probar todo por sólo el cifrado de algo por sí mismo utilizando su clave pública y, a continuación, descifrar utilizando su clave privada, primero vamos a necesitar un poco de los datos a cifrar:

    • Archivo de ejemplo :

      echo 'too many secrets' > file.txt
      
    • Ahora tiene algunos datos en file.txt, permite cifrar usando OpenSSL y
      la clave pública:

      openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
      
    • Esto crea una versión cifrada de file.txt llamando archivo.ssl, si
      usted mira este archivo es solo binario basura, nada muy útil para
      nadie. Ahora usted puede descifrar usando la clave privada:

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

      cat decrypted.txt
      |output -> too many secrets
      

    RSA Opciones de HERRAMIENTAS de OpenSSL

    • NOMBRE

      rsa RSA de clave herramienta de procesamiento de

    • SINOPSIS

      openssl rsa [-ayuda] [-informar PEM|NET|DER] [-outform PEM|NET|DER] [-en el nombre de archivo] [-passin arg] [-out nombre de archivo] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [des] [-des3] [idea] [texto] [-noout] [módulo] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-motor id]

    • DESCRIPCIÓN

      La rsa comando procesos claves RSA. Pueden ser convertidos entre las diversas formas y sus componentes impreso. Nota este comando utiliza el tradicional SSLeay formato compatible para el cifrado de clave privada: las nuevas aplicaciones deben utilizar el más seguro PKCS#8 formato mediante el pkcs8 utilidad.

    • OPCIONES DE COMANDO

      -help
      

      Imprimir un mensaje de uso.

      -inform DER|NET|PEM
      

      Este especifica el formato de entrada. El DER opción utiliza un ASN1 DER codificado de forma compatible con el estándar PKCS#1 RSAPrivateKey o SubjectPublicKeyInfo formato. El PEM es el formato por defecto: consiste en la DER formato codificado en base64 con adicional de encabezado y pie de página líneas. En la entrada PKCS#8 formato de claves privadas también son aceptados. La RED forma es un formato que se describe en la sección de NOTAS.

      -outform DER|NET|PEM
      

      Este especifica el formato de salida, las opciones tienen el mismo significado que el de informar opción.

      -in filename
      

      Esto especifica la entrada de nombre de archivo para leer una tecla del o de la entrada estándar si no se especifica esta opción. Si se cifra la clave de una frase se le pida.

      -passin arg
      

      la entrada de la contraseña del archivo de origen. Para más información sobre el formato de arg ver la FRASE de la sección ARGUMENTOS en openssl.

      -out filename
      

      Especifica el nombre de archivo de salida para escribir una clave o la salida estándar si no se especifica esta opción. Si alguna de las opciones de cifrado se establece a continuación de una frase se le pida. El nombre de archivo de salida no debe ser el mismo que el de entrada nombre de archivo.

      -passout password
      

      la salida de la contraseña del archivo de origen. Para más información sobre el formato de arg ver la FRASE de la sección ARGUMENTOS en openssl.

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

      Estas opciones cifrar la clave privada la que se especifica el sistema de cifrado antes de la salida de la misma. Una frase que se le solicite. Si ninguna de estas opciones se especifica la clave está escrito en el texto. Esto significa que el uso de la rsa utilidad para leer en una clave encriptada con ninguna opción de cifrado puede ser utilizado para eliminar la contraseña de una clave, o mediante la configuración de las opciones de cifrado se puede utilizar para agregar o cambiar la frase de contraseña. Estas opciones sólo se pueden utilizar con formato PEM archivos de salida.

      -text
      

      imprime los diversos públicos o componentes de la clave privada en formato de texto además de la versión codificada.

      -noout
      

      esta opción evita la salida de la versión codificada de la clave.

      -modulus
      

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

      -check
      

      esta opción comprueba la consistencia de una clave privada RSA.

      -pubin
      

      por defecto una clave privada se lee desde el archivo de entrada: con esta opción, una clave pública se lee en su lugar.

      -pubout
      

      por defecto una clave privada de salida: con esta opción, una clave pública será la salida de su lugar. Esta opción se establece automáticamente si la entrada es una clave pública.

      -RSAPublicKey_in, -RSAPublicKey_out
      

      como pubin y pubout excepto RSAPublicKey formato se utiliza en su lugar.

      -engine id
      

      la especificación de un motor (por su identificador único de la cadena) será causa de rsa para intentar obtener un funcional de referencia especificado para cada motor, por lo tanto iniciar, si es necesario. El motor será entonces en establecer como predeterminado para todos los algoritmos.

    • NOTAS

      El PEM clave privada en formato utiliza el encabezado y pie de página líneas:

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

      El PEM clave pública formato utiliza el encabezado y pie de página líneas:

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

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

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

      La RED de formulario es un formato compatible con los antiguos servidores de Netscape y Microsoft IIS .los archivos de clave, se utiliza sin sal RC4 para su cifrado. No es muy seguro, por lo que sólo debería ser utilizado cuando sea necesario.

      Algunos de los más nuevos de la versión de IIS que se tienen datos adicionales en la exportación .los archivos de clave. El uso de estos con la utilidad, ver el archivo con un editor binario y buscar la cadena «clave privada», a continuación, se remontan a la secuencia de bytes 0x30, 0x82 (este es un ASN1 SECUENCIA). Copiar todos los datos a partir de este punto a otro archivo y utilizar como entrada a la rsa de la utilidad con-informar a la opción RED.

      EJEMPLOS

      Para quitar la contraseña de una clave privada RSA:

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

      Para cifrar una clave privada utilizando triple DES:

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

      Para convertir una clave privada a partir de PEM DER formato:

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

      Para imprimir los componentes de una clave privada a la salida estándar:

        openssl rsa -in key.pem -text -noout
      

      Apenas salida de la parte pública de la clave privada:

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

      De salida de la parte pública de la clave privada en el RSAPublicKey formato:

        openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
      
    • Todavía esto no responde a la pregunta de cuál es la cómo obtener la clave privada de la (exportado) certificado binario.
    • gracias, preguntándose si tengo un PEM que contiene una clave privada y certificados, ¿cómo puedo obtener certificados? Sé que puedo copiar los certificados parte de ella mediante un editor de texto, pero quiero saber ¿hay algún comando openssl, gracias
  3. 34

    Para extraer la clave y el cert de un pem de archivo:

    Extracto clave

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

    Otro método de extracción de la llave…

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

    Extraer todos los certificados, incluyendo la Cadena de CA

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

    Extraer los textualmente primer cert como DER

    openssl x509 -in foo.pem -outform DER -out first-cert.der
    
    • openssl x509 -outform der -en C:\Users\Greg\.ssh\e360_stork_listener.pem -fuera C:\Users\Greg\.ssh\e360_stork_listener.crt no se puede cargar el certificado 4294956672:error:0906D06C:PEM rutinas:PEM_read_bio:no hay línea de salida:pem_lib.c:708:Esperando: CERTIFICADO de CONFIANZA
  4. 1

    Una .crt almacena el certificado.. en formato pem. Así que una .pem, aunque también puede tener otras cosas como un csr (solicitud de firma de Certificado), una clave privada clave pública, o de otros certs, cuando se está almacenando sólo un cert, es la misma cosa .crt.

    Un pem es un codificada en base 64 archivo con un encabezado y un pie de página entre cada sección.

    Para extraer una sección en particular, un script en perl como el siguiente es totalmente válido, pero siéntase libre de utilizar algunos de los comandos openssl.

     perl -ne "$n++ if /BEGIN/; print if $n == 1 && /BEGIN/.../END/;" mydomain.pem
    

    donde a ==1 puede ser cambiado para que nunca la sección que necesitas. Obviamente, si usted sabe exactamente el encabezado y pie de página que requiera y sólo hay uno de esos en el archivo (normalmente el caso si usted mantener el certificado y la clave de allí), se puede simplificar:

     perl -ne "print if /^-----BEGIN CERTIFICATE-----$/.../END/;" mydomain.pem
    

Dejar respuesta

Please enter your comment!
Please enter your name here