Que sont les fichiers .crt et .key et comment les générer?

60

J'ai la configuration suivante:

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

mais je ne sais pas comment générer .crtet .keyfichiers.

Mohammad Ali Akbari
la source

Réponses:

65

Les fichiers crt et key représentent les deux parties d'un certificat, la clé étant la clé privée du certificat et crt le certificat signé.

Ce n'est qu'une des manières de générer des certs, une autre serait d'avoir tous les deux un fichier pem ou un autre dans un conteneur p12.

Vous avez plusieurs façons de générer ces fichiers. Si vous voulez auto-signer le certificat, vous pouvez simplement lancer cette commande.

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

Notez qu'avec les certificats auto-signés, votre navigateur vous avertira que le certificat n'est pas "approuvé" car il n'a pas été signé par une autorité de certification figurant dans la liste de confiance de votre navigateur.

À partir de là, vous pouvez créer votre propre chaîne de confiance en créant votre autorité de certification ou acheter un certificat auprès d'une société telle que Verisign ou Thawte.

Lynxman
la source
après avoir lancé "openssl genrsa 1024> host.key", j'ai ceci dans le terminal: "e is 65537 (0x10001)" est-ce une erreur?
Mohammad Ali Akbari
1
Oui, cela signifie que openssl ne peut pas écrire le fichier de départ aléatoire dans le fichier par défaut utilisé, défini par openssl.cnf. Par défaut, dans CentOS / RHEL, ce fichier se trouve dans /etc/pki/tls/openssl.cnf. Essayez d’exécuter les mêmes commandes que root dans ce cas et voyez comment cela se passe.
Lynxman
Je l’essaye en tant que root, mais j’ai encore "e is 65537 (0x10001)"
Mohammad Ali Akbari le
1
SELinux est-il activé sur votre machine? Vérifiez / var / log / messages pour savoir pourquoi openssl ne peut pas écrire le fichier
lynxman le
4
letsencrypt.org est un fournisseur de ssl gratuit. Jetez-y un coup d'œil au lieu de payer beaucoup d'argent à ces entreprises.
Kaan
6

Ce sont les parties publique (.crt) et privée (.key) d'un certificat SSL. Reportez - vous à cette question pour une multitude d’informations pertinentes, par exemple si vous souhaitez générer un certificat vous-même ou en acheter un.

mad_vs
la source
Question basique mais - je suppose que je dois copier le fichier .key dans mon ~/.sshdossier lorsque je télécharge mon fichier CSR sur mon fournisseur SSL?
Qasim
1
@Qasim Les fichiers SSL n'ont rien à voir avec SSH (auquel appartient le dossier .ssh).
mad_vs