web-dev-qa-db-fra.com

Cryptons + certbot: où est la clé privée

J'utilise openssl pour créer une clé et un certificat pour mon site Web. Ce qui fonctionne bien, mais conduit à des plaintes du navigateur.

J'aimerais maintenant passer à Let's Encrypt pour obtenir un certificat approprié.

La configuration était très simple, j'ai installé certbot et suivi le tutoriel sur leur site web.

J'ai été surpris de lire que certbot est censé être utilisé avec un drapeau certonly. Intuitivement, cela devrait signifier que seul un certificat est créé. Il devrait me demander une clé existante lors de l'installation. Ce qui ne crée pas, à la place, crée à la fois un nouveau certificat et une nouvelle clé.

Sudo certbot certonly --standalone -d xxxx

...

Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

....

Mais cette clé ne semble pas exister. Si j'entre le chemin d'accès sur mon serveur, il se plaint de ne pas trouver la clé.

J'ai eu des problèmes avec les autorisations de lecture sur mon certificat, résolus par cette question: https://serverfault.com/questions/773440/lets-encrypt-ssl-certificate-file-not-found- erreur-mais-toujours-fonctionne

La solution consistait à modifier les droits d'accès.

Mais j'hésite à le faire avec ma clé privée. La sécurité sur Internet est si complexe que je crains de ne pas connaître les conséquences de la modification des autorisations relatives à quelque chose d'aussi important que la clé privée.

Comment suis-je censé utiliser le certificat nouvellement généré. Où puis-je trouver la clé privée correspondante et dois-je appliquer une configuration supplémentaire?

8
lhk

Ignore les répertoires csr et keys; essentiellement, ils ne contiennent que des fichiers temporaires lors de l’émission.

Certbot place toujours la dernière version de tous les certificats sous /etc/letsencrypt/live:

/etc/letsencrypt/live 
 ├── mail.example.org 
 ├── cert.pem -> ../../archive/mail.example. org/cert8.pem 
 chain.pem -> ../../archive/mail.example.org/chain8.pem
 ├── fullchain.pem -> ../../archive/mail.example.org/fullchain8.pem
│ privkey.pem -> ../../ archive/mail.example.org/privkey8.pem 
 └── www.example.org 
 ├── cert.pem -> ../../archive/www.example.org/cert7.pem
 Chaîne .pem -> ../../archive/www.example.org/chain7.pem
 ├── fullchain.pem -> ../../archive/www.example.org/fullchain7. pem 
 └── privkey.pem -> ../../archive/www.example.org/privkey7.pem

Par conséquent, vous configurez des services comme celui-ci:

SSLCertificateFile     /etc/letsencrypt/live/www.example.org/fullchain.pem
SSLCertificateKeyFile  /etc/letsencrypt/live/www.example.org/privkey.pem

De cette façon, il suffit de recharger les services, et non de les reconfigurer, après chaque renouvellement. Utilisez la fonctionnalité "hook hook" de certbot pour automatiser les modifications d'autorisation, les rechargements de service et tout ce qui doit être automatisé.

15
grawity