Necesito configurar un servidor Apache 2 con SSL.
Tengo mi archivo * .key, pero toda la documentación que encontré en línea, los archivos * .crt están especificados y mi CA solo me proporcionó un archivo * .cer.
¿Son los archivos * .cer lo mismo que * .crt? Si no es así, ¿cómo puedo convertir CER a formato CRT?
CER
y lasCRT
extensiones no significan nada. Los diferentes proveedores de PKI utilizan diferentes extensiones para lo mismo. Si el archivo es binario, probablemente esté codificado en ASN.1 / DER. Si el archivo es legible por humanos-----BEGIN CERTIFICATE-----
, entonces está codificado en PEM. ¿Qué tienes (DER o PEM) y qué necesitas (DER o PEM)?Respuestas:
Las extensiones de archivo para certificados criptográficos no están tan estandarizadas como cabría esperar. De forma predeterminada, Windows trata el doble clic en un
.crt
archivo como una solicitud para importar el certificado al almacén de certificados raíz de Windows, pero trata un.cer
archivo como una solicitud solo para ver el certificado. Por lo tanto, son diferentes en el sentido de que Windows tiene un significado diferente inherente para lo que sucede cuando hace 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 de certificado para usar una extensión en lugar de la otra en cualquier sistema o archivo de configuración que haya visto. Y en las plataformas que no son de Windows (e incluso en Windows), las personas no son particularmente cuidadosas con la extensión que usan y las tratan a ambas indistintamente, ya que no hay diferencia entre ellas siempre que el contenido del archivo sea correcto.
Para 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 X.509 "binaria" y la otra es una codificación base64 de "texto" que generalmente comienza con "
-----BEGIN CERTIFICATE-----
". Estos codifican los mismos datos pero de diferentes formas. 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. La codificación dentro de un archivo de certificado es realmente independiente de la extensión que alguien le dio al archivo.fuente
Según la documentación mod_ssl :
El archivo de certificado debe estar codificado en PEM. Archivo de certificado X.509:
fuente
zscaler
, ejecutándosevagrant
enwin
(vbox
homestead
), al instalar nuestros certificados raíz de confianza en la caja vagabunda? Los hicescp
, luego usé su conversión y los vinculé simbólicamente/etc/ssl/certs
y también copié el contenido en elca-certificates.crt
archivo antes de reaprovisionar, y todavía recibo ungoogle-recaptcha
tls
ssl
errorfile_get_contents
en el cuadro de desarrollo.Básicamente, existen dos tipos de codificación de certificados CER, DER y Base64. Cuando el tipo DER devuelve un certificado de carga de error (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
fuente
Supongo que tiene un archivo .cer que contiene datos de certificados codificados en PKCS # 7 y desea convertirlos a datos de certificados codificados con PEM (normalmente un archivo .crt o .pem). Por ejemplo, un archivo .cer que contiene datos codificados en PKCS # 7 se ve así:
Los datos del certificado PEM tienen este aspecto:
Existe un comando OpenSSL que convertirá archivos .cer (con datos PKCS # 7) a los datos PEM que puede esperar encontrar (el
BEGIN CERTIFICATE
bloque en el ejemplo anterior). Puede convertir los datos 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).
fuente
CER es un certificado X.509 en formato binario, codificado en DER .
CRT es un certificado binario X.509, encapsulado en codificación de texto ( base-64 ).
No es la misma codificación.
fuente
La respuesta a la pregunta de cómo convertir un archivo .cer en un archivo .crt (¡están codificados de manera diferente!) Es:
fuente
openssl x509 -inform der -in certificate.cer -out certificate.pem
unable to load PKCS7 object
Yo uso el comando:
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
Pero CER es un certificado X.509 en formato binario, codificado en DER. CRT es un certificado binario X.509, encapsulado en codificación de texto (base-64).
Por eso, quizás debas usar:
openssl x509 -inform DER -in certificate.cer -out certificate.crt
Y luego para importar su certificado:
Copie su CA a dir:
/usr/local/share/ca-certificates/
Usar comando:
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
Actualice la tienda de CA:
sudo update-ca-certificates
fuente
Si su archivo cer tiene formato binario, debe convertirlo por
fuente
Los archivos .cer y .crt deben ser intercambiables en cuanto a importarlos a un almacén de claves.
Eche un vistazo al contenido del archivo .cer. Borre cualquier cosa antes
-----BEGIN CERTIFICATE-----
y después de la-----END CERTIFICATE-----
línea. Te quedarás con las líneas BEGIN / END con un montón de cosas codificadas en Base64 entre ellas.Luego, simplemente impórtelo a su archivo de claves usando keytool.
fuente
Solo haz
fuente