Expectando: CERTIFICADO DE CONFIANZA al convertir pem a crt

5

Estoy intentando generar un par de claves público-privadas y convertir la clave pública en un certificado que se puede agregar a mi almacén de confianza.

Para generar privado & clave pública: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem

Ahora estoy intentando convertir esto en un certificado:

openssl x509 -outform der -in  public_key.pem -out  public.cer 

Pero me sale un error:

7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

Todos los tutoriales muestran que tengo que convertir pem a crt antes de agregar a un almacén de confianza.

    
pregunta user1692342 08.02.2017 - 18:30
fuente

2 respuestas

3

No puede "convertir" una clave pública en un certificado. Un certificado incluye la clave pública, pero también incluye más información como el sujeto, el emisor, cuando el certificado es válido, etc. Y un certificado está firmado por el emisor. Por lo tanto, lo que necesitaría en su lugar es crear una solicitud de firma de certificado (CSR) que incluya la clave pública, pero también incluya toda la información adicional. Este CSR luego debe estar firmado por una autoridad de certificación (CA) que luego resulta en el certificado.

Para crear un certificado autofirmado simple en el que no confíe ningún navegador, consulte ¿Cómo crear un certificado autofirmado con openssl? .

    
respondido por el Steffen Ullrich 08.02.2017 - 18:38
fuente
1

No puede convertir una clave pública en un certificado.

Los comandos originales no funcionarán porque la codificación / formato de archivo PEM espera contener el texto del certificado cifrado como se muestra a continuación:

  

----- COMIENCE EL CERTIFICADO -----

     

Datos del certificado aquí

     

----- CERTIFICADO FINAL -----

Por lo tanto, si ve el archivo .PEM original y ve otra cosa (como BEGIN RSA ...), eso es incorrecto.

Ahora, de acuerdo con el título del hilo que está tratando de convertir un PEM en un formato de archivo CRT . Tenga en cuenta que los certificados x509 pueden estar en dos codificaciones: DER y PEM. Además, PEM puede estar dentro de un formato .CRT, .CER y también .PEM.

Por lo tanto, si ve ese error, también existe la posibilidad de que esté tratando un certificado codificado DER como un certificado codificado PEM. Puede intentar ver si realmente está codificado en DER siguiendo las instrucciones en este página .

    
respondido por el NASAhorse 08.02.2017 - 23:47
fuente

Lea otras preguntas en las etiquetas