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

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

Ahora Estoy tratando de convertir esto en un certificado:

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

Pero aparece 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.

Responder

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 asunto, el emisor, cuando el certificado es válido, etc. Y el 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. Esta CSR luego debe ser firmada por una autoridad de certificación (CA) que luego da como resultado el certificado.

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

Comentarios

  • Entonces, en este ejemplo: openssl req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -days 365 key.pem contendrá tanto la clave privada como la pública?
  • @ user1692342: No ' no estoy seguro de cómo la pregunta del comentario se relaciona con la pregunta original. Pero: key.pem es la clave privada que incluye la clave pública y la clave pública también se incluye en cert.pem.

Respuesta

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

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

—– COMENZAR CERTIFICADO —–

Datos del certificado aquí

—– FINALIZAR CERTIFICADO —–

Por lo tanto, si ve el archivo .PEM original y ve algo más (como BEGIN RSA …), entonces eso es incorrecto.

Ahora, de acuerdo con el título del hilo, están buscando convertir un PEM en un formato de archivo CRT . Tenga en cuenta que los certificados x509 pueden tener 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 en DER como un certificado codificado en PEM. Puede intentar ver si realmente está codificado en DER siguiendo las instrucciones de esta página .

Deja una respuesta

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