web-dev-qa-db-fra.com

Générez des fichiers CRT et KEY SSL à partir de Let's Encrypt à partir de zéro

Je voudrais générer un couple de fichiers SSL CRT/KEY avec Let's Encrypt (avec défi manuel).

J'essaie quelque chose comme ça:

certbot certonly --manual -d mydomain.com

Mais je ne reçois ces fichiers que dans mon /etc/letsencrypt/live/mydomain.com folder:

  • cert.pem
  • chain.pem
  • fullchain.pem
  • privkey.pem

Ai-je raté quelque chose?

10
Sylvain

Je suis l'auteur de Greenlock , un client Let's Encrypt v2 compatible avec certbot, j'ai donc également dû apprendre les tenants et aboutissants de toutes ces choses.

Espérons que cela aide:

CLÉ

privkey.pem est le fichier "clé"

Parfois, il est incorrectement nommé cert.key ou example.com.key.

CRT

fullchain.pem est votre fichier "crt".

Parfois, il est incorrectement nommé example.com.crt.

Ensemble CRT/KEY

bundle.pem serait ainsi: cat fullchain.pem privkey.pem > bundle.pem

HAProxy est le seul serveur que je connaisse qui utilise bundle.pem.

Cependant, vous n'utilisez généralement pas le cert.pem seul. Il est presque toujours associé à chain.pem en tant que fullchain.pem.

cert.pem

cert.pem contient UNIQUEMENT votre certificat, qui ne peut être utilisé seul que si le navigateur possède déjà le certificat qui l'a signé, ce qui peut fonctionner dans les tests (ce qui donne l'impression qu'il s'agit du bon fichier), mais échouera en fait pour de nombreux de vos utilisateurs en production avec une erreur de sécurité de certificat non approuvé.

chain.pem

chain.pem est l'autorité signée intermédiaire, signée par l'autorité racine - c'est ce que tous les navigateurs sont garantis d'avoir dans leur cache pré-construit.

Vérification des certificats

Vous pouvez inspecter le certificat uniquement comme ceci:

openssl x509 -in certificate.crt -text -noout

Il y a une liste de commandes utiles ici:

https://www.sslshopper.com/article-most-common-openssl-commands.html

18
CoolAJ86