apache - online - p7b to pfx
Apache con SSL-¿Cómo convertir certificados CER a CRT? (9)
Básicamente, hay dos tipos de codificación de certificados CER, DER y Base64. Cuando el tipo DER devuelve un error al cargar el certificado (rutinas de codificación asn1), pruebe el PEM y funcionará.
openssl x509 -inform DER -in certificate.cer -out certificate.crt
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
Necesito configurar el servidor Apache 2 con SSL.
Tengo mi archivo * .key, pero el emisor de mi certificado me ha proporcionado un archivo * .cer.
En todas las documentaciones de la red, son para certificados * .crt.
Por favor, hágamelo saber, son * .cer lo mismo que * .crt.
Si ahora, ¿cómo puedo convertir CER a formato CRT?
De acuerdo con la documentación mod_ssl :
SSLCertificateFile:
Name: SSLCertificateFile
Description: Server PEM-encoded X.509 certificate file
El archivo de certificado debe ser un archivo de certificado X.509 con codificación PEM:
openssl x509 -inform DER -in certificate.cer -out certificate.pem
El archivo .cer y .crt debe ser intercambiable en la medida de importarlos a un almacén de claves.
Eche un vistazo al contenido del archivo .cer. Borre cualquier cosa antes de la línea -----BEGIN CERTIFICATE-----
y después de la -----END CERTIFICATE-----
línea. Te quedarán las líneas BEGIN / END con un montón de cosas codificadas en Base64 entre ellas.
-----BEGIN CERTIFICATE-----
MIIDQTCCAqqgAwIBAgIJALQea21f1bVjMA0GCSqGSIb3DQEBBQUAMIG1MQswCQYD
...
pfDACIDHTrwCk5OefMwArfEkSBo/
-----END CERTIFICATE-----
A continuación, solo importa en tu archivo de claves mediante la herramienta de claves.
keytool -import -alias myalias -keystore my.keystore -trustcacerts -file mycert.cer
La respuesta a la pregunta de cómo convertir un archivo .cer en un archivo .crt (¡están codificados de manera diferente!) Es:
openssl pkcs7 -print_certs -in certificate.cer -out certificate.crt
Las extensiones de archivo para certificados criptográficos no están tan estandarizadas como cabría esperar. Por defecto, Windows trata de hacer doble clic en un archivo .crt
como una solicitud para importar el certificado en el almacén de certificados raíz de Windows, pero trata un archivo .cer
como una solicitud solo para ver el certificado. Entonces, son diferentes en ese sentido, al menos, que Windows tiene un significado inherente diferente para lo que sucede cuando haces doble clic en cada tipo de archivo.
Pero la forma en que Windows los maneja cuando hace doble clic en ellos es la única diferencia entre los dos. Ambas extensiones solo representan que contiene un certificado público. Puede cambiar el nombre de un archivo o usar uno en lugar del otro en cualquier sistema o archivo de configuración que haya visto. Y en plataformas que no son de Windows (e incluso en Windows), las personas no son especialmente cuidadosas con la extensión que usan y las tratan de forma intercambiable, ya que no hay diferencia entre ellas, siempre y cuando el contenido del archivo sea correcto.
Hacer las cosas más confusas es que hay dos formas estándar de almacenar datos de certificados en un archivo: una es una codificación "binaria" X.509 y la otra es una codificación "base64" de texto que generalmente comienza con " -----BEGIN CERTIFICATE-----
". Estos codifican los mismos datos pero de diferentes maneras. La mayoría de los sistemas aceptan ambos formatos, pero si lo necesita, puede convertir uno a otro a través de openssl u otras herramientas. Pero la codificación dentro de un archivo de certificado es realmente independiente de la extensión que alguien le dio al archivo.
Si tiene preguntas específicas sobre la dificultad de usar un tipo particular de archivo con un programa en particular, sería mejor publicar una pregunta por separado que describa qué tipo de archivo tiene y qué espera su aplicación.
Si su archivo cer tiene formato binario debe convertirlo por
openssl x509 -inform DER -in YOUR_CERTIFICATE.cer -out YOUR_CERTIFICATE.crt
Solo haz
openssl x509 -req -days 365 -in server.cer -signkey server.key -out server.crt
Supongo que tiene un archivo .cer que contiene datos de certificado codificados según PKCS # 7 y desea convertirlo a datos de certificado codificados con PEM (normalmente un archivo .crt o .pem). Por ejemplo, un archivo .cer que contiene datos codificados por PKCS # 7 tiene el siguiente aspecto:
-----BEGIN PKCS7----- MIIW4gYJKoZIhvcNAQcCoIIW0zCCFs8CAQExADALBgkqhkiG9w0BBwGggha1MIIH ... POI9n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G +bKhADEA -----END PKCS7-----
Los datos del certificado PEM son así:
-----BEGIN CERTIFICATE----- MIIHNjCCBh6gAwIBAgIQAlBxtqKazsxUSR9QdWWxaDANBgkqhkiG9w0BAQUFADBm ... nv72c/OV4nlyrvBLPoaS5JFUJvFUG8RfAEY= -----END CERTIFICATE-----
Hay un comando OpenSSL que convertirá archivos .cer (con datos PKCS # 7) a los datos PEM que puede esperar encontrar (el bloque BEGIN CERTIFICATE
en el ejemplo anterior). Puede coaccionar los datos de PKCS # 7 en formato PEM mediante este comando en un archivo que llamaremos certfile.cer:
openssl pkcs7 -text -in certfile.cer -print_certs -outform PEM -out certfile.pem
Tenga en cuenta que un archivo .cer o .pem puede contener uno o más certificados (posiblemente toda la cadena de certificados).
CER es un certificado X.509 en formato binario, codificado DER .
CRT es un certificado binario X.509, encapsulado en codificación de texto ( base-64 ).
No es la misma codificación.