Obtenga el archivo .cer del archivo .pem

13

He generado la clave privada RSA usando el siguiente comando:

openssl genrsa -out privkey.pem 2048

Y creó un certificado autofirmado con el siguiente comando:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650

Ahora estoy tratando de convertir el archivo cacert .pem a certificado .cer

¿Algunas ideas?

Devarshi
fuente
1
De acuerdo con support.ssl.com/Knowledgebase/Article/View/19/0/… .pem es una codificación y .ceres una extensión. En breve: un .cerarchivo puede contener una PEMo una DERcodificación. ¿Qué es exactamente lo que necesita? (El enlace debería ayudarte.)
Fabian
Encontré el comando para crear un certificado autofirmado desde este enlace: openssl.org/docs/HOWTO/certificates.txt Aquí está el texto completo: Si no desea tratar con otra autoridad de certificación, o simplemente desea crear un certificado de prueba para ti. Esto es similar a crear una solicitud de certificado, pero crea un certificado en lugar de una solicitud de certificado.
Devarshi
Esto realmente no responde a lo que necesita: ¿Cuál es el propósito del certificado que genera? Tal vez un servidor HTTPS? ¿O autenticación personal para alguna aplicación? Pero creo que ya tienes suficientes buenas respuestas a continuación para lo que preguntaste.
Fabian
El escenario es: estamos creando un par de claves pública-privada en la aplicación de Android y necesitamos compartir la clave pública en una aplicación de iOS, la única forma en que he encontrado para compartirla es a través de un certificado autofirmado. Las API de iOS extraen la clave pública del certificado con esta extensión (un ejemplo): some_certificate.cer. Por ahora estoy tratando de generar some_certificate.cer a través de la terminal y validar si es capaz de extraerle una clave pública, y realizar el cifrado usando la misma.
Devarshi
No puedo ayudarte con cosas de iOS. Pero entiendo que la extensión .cer solo la usa Microsoft. Si las respuestas a continuación no le ayudan, puede preguntar en un lugar relacionado con la programación de iOS.
Fabian

Respuestas:

37

Puede usar el siguiente comando:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer
cioby23
fuente
2

.cer es un tipo de archivo para la codificación DER o Base64, si recuerdo correctamente.

openssl x509 -in cacert.pem -out cacert.cer -inform pem -outform der para el formato DER.

marca
fuente
1

La extensión real no importa para los certificados. Por lo general, los archivos .pem tienen un certificado x509 en forma codificada en base64. Los archivos .cer pueden estar codificados en base64 o DER (Windows lo reconocerá). Dependiendo de su aplicación, deberá averiguar qué formato de certificado requiere la aplicación.

Para convertir entre base64 (PEM) y codificación DER:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
mtak
fuente