====== Cerbot======
[[configuratie:configuratie|{{ :configuration:configuration-management.jpg?nolink&150|}}]]
===== context=====
dit document beschrijft de werking van Certbot, een OpenSource tool waarmee je https-certificaten van Letsencrypt kan aanmaken en beheren. [[[[werkinstructies:letsencrypt_certificaat_aanmaken|Hoe je een certificaat aanmaakt]] staat elders beschreven.
=====werking =====
====certbot====
*het Zwitsers mes waarmee je de hele levensloop van je https-certificaat beheert
====een certificaat aanmaken====
certbot run
====een certificaat bekijken====
certbot certificates
{{:configuratie:2019-09-24_11_57_45-configuratie_certbot_come_up_with_a_striking_name_.png?600|}}
====een certificaat vernieuwen====
certbot renew
dit wordt na 30 dagen automatisch vanuit een cronjob gedaan.
====een certificaat herroepen====
certbot revoke --cert-name
Als gebruikers dan naar de website surfen, krijgen ze onderstaande foutboodschap te zien:
{{ :configuratie:2019-09-24_15_44_40-problem_loading_page.png?400 |}}
de status van je certificaat kan je ook opvragen: certbot certificates
{{ :configuratie:2019-09-24_15_53_45-configuratie_certbot_come_up_with_a_striking_name_.png?400 |}}
====een certificaat verwijderen====
deze stap doe je normaliter na het herroepen van een certificaat
certbot delete --cert-name
De werking van certbot kan je nog best leren kennen, door:
- het programma met de optie __**-v**__ uit te voeren
- het logboek /var/log/letsencrypt/letsencrypt.log te lezen
=====configuratie =====
Alle bestanden worden bewaard in **/etc/letsencrypt**. Daar vind je onder meer:
* het certificaat
* private keys
* certificate signing requests
* config voor renewals
* instellingen voor de apache configuratie
Certificaten zijn gevoelige bestandjes, dus het is goed dat je kijkt maar niet aanraakt.
**.pem**-bestanden zijn een container formaat. In dat bestand zitten dus andere bestanden. De inhoud kan je lezen ahv het commando: openssl -in cert.pem -text
* Een x509 certificaat inlezen: openssl x509 -in cert.pem -text
Dit komt overeen met de eigenschappen van een certificaat inlezen in je browser.
* Een RSA-encrypted private key inlezen: openssl pkey -in key.pem -text -noout
=====problemen, problemen =====
====EHBO====
/var/log/letsencrypt/letsencrypt.log: bevat alle acties
====fout bij maken van certficaat====
bij maken van certificaat komt volgende fout:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Error while running apache2ctl configtest.
Action 'configtest' failed.
The Apache error log may have more information.
sh: 0: getcwd() failed: No such file or directory
AH00526: Syntax error on line 21 of /etc/apache2/sites-enabled/dokuwiki.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/dwkoen.ddns.net/fullchain.pem' does not exist or is empty
**oorzaak**: na revoke (en verwijderen) van certificaat werd Apache config niet aangepast.
**oplossing:**
- verwijder onderstaande lijntjes uit /etc/apache2/sites-enabled/dokuwiki.conf:
- SSLCertificateFile /etc/letsencrypt/live/dwkoen.ddns.net/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/dwkoen.ddns.net/privkey.pem
- Include /etc/letsencrypt/options-ssl-apache.conf
- maak opnieuw certificaat aan