Che cosa sono i file .crt e .key e come generarli?


60

Ho la seguente configurazione:

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

ma non so come generare .crte .keyfile.

Risposte:


65

I file crt e key rappresentano entrambe le parti di un certificato, chiave essendo la chiave privata del certificato e crt essendo il certificato firmato.

È solo uno dei modi per generare certificati, un altro modo sarebbe avere entrambi all'interno di un file pem o un altro in un contenitore p12.

Esistono diversi modi per generare quei file, se si desidera autofirmare il certificato, è sufficiente emettere questi comandi

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

Si noti che con i certificati autofirmati il ​​browser avviserà che il certificato non è "attendibile" perché non è stato firmato da un'autorità di certificazione che si trova nell'elenco di affidabilità del browser.

Da quel momento in poi puoi generare la tua catena di fiducia creando la tua CA o acquistare un certificato da una società come Verisign o Thawte.


dopo aver eseguito "openssl genrsa 1024> host.key" Ho ricevuto questo nel terminale: "e is 65537 (0x10001)" è un errore?
Mohammad Ali Akbari,

1
Sì, ciò significa che openssl non può scrivere il seed casuale nel file predefinito che utilizza, definito da openssl.cnf, per impostazione predefinita in CentOS / RHEL questo file è in /etc/pki/tls/openssl.cnf. Prova a eseguire gli stessi comandi di root in questo caso e guarda come va.
lynxman,

Lo provo come root, ma ho di nuovo "e is 65537 (0x10001)"
Mohammad Ali Akbari

1
SELinux è attivato sul tuo computer? Controlla / var / log / messaggi per capire perché openssl non può scrivere il file
lynxman,

4
letsencrypt.org è un provider ssl gratuito. Dai un'occhiata invece di pagare un sacco di soldi a quelle aziende.
Kaan,

6

Queste sono le parti pubbliche (.crt) e private (.key) di un certificato SSL. Vedi questa domanda per una pletora di informazioni pertinenti, ad esempio se desideri generare tu stesso un certificato o acquistarne uno.


Domanda di base ma - suppongo che dovrei copiare il file .key nella mia ~/.sshcartella, quando carico il mio file CSR sul mio provider ssl?
Qasim,

1
I file SSL @Qasim non hanno nulla a che fare con SSH (che è ciò a cui appartiene la cartella .ssh).
mad_vs
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.