¿Qué son los archivos .crt y .key y cómo generarlos?

60

Tengo la siguiente configuración:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

pero no sé cómo generar .crty .keyarchivos.

Mohammad Ali Akbari
fuente

Respuestas:

65

Los archivos crt y key representan ambas partes de un certificado, siendo la clave la clave privada del certificado y crt el certificado firmado.

Es solo una de las formas de generar certificados, otra forma sería tener ambos dentro de un archivo pem u otro en un contenedor p12.

Tiene varias formas de generar esos archivos, si desea firmar automáticamente el certificado, simplemente puede emitir estos comandos

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Tenga en cuenta que con los certificados autofirmados, su navegador le advertirá que el certificado no es "confiable" porque no ha sido firmado por una autoridad de certificación que se encuentra en la lista de confianza de su navegador.

A partir de ahí, puede generar su propia cadena de confianza al hacer su CA o comprar un certificado de una compañía como Verisign o Thawte.

Lynxman
fuente
después de ejecutar "openssl genrsa 1024> host.key" obtuve esto en la terminal: "e es 65537 (0x10001)" ¿es un error?
Mohammad Ali Akbari
1
Sí, esto significa que openssl no puede escribir la semilla aleatoria en el archivo predeterminado que usa, que está definido por openssl.cnf, de manera predeterminada en CentOS / RHEL este archivo está en /etc/pki/tls/openssl.cnf. Intente ejecutar los mismos comandos que root en este caso y vea cómo funciona.
Lynxman
Lo intento como root, pero obtuve "e es 65537 (0x10001)" nuevamente
Mohammad Ali Akbari
1
¿Tiene SELinux activado en su máquina? Compruebe / var / log / messages para ver por qué openssl no puede escribir el archivo
lynxman
44
letsencrypt.org es un proveedor de SSL gratuito. Echa un vistazo en lugar de pagar mucho dinero a esas empresas.
Kaan
6

Estas son las partes públicas (.crt) y privadas (.key) de un certificado SSL. Consulte esta pregunta para obtener una gran cantidad de información relevante, por ejemplo, si desea generar un certificado usted mismo o comprar uno.

mad_vs
fuente
Pregunta básica pero: ¿supongo que debo copiar el archivo .key en mi ~/.sshcarpeta cuando subo mi archivo CSR a mi proveedor de SSL?
Qasim
1
Los archivos SSL @Qasim no tienen nada que ver con SSH (que es a lo que pertenece la carpeta .ssh).
mad_vs