Let’s encrypt od dawna oferuje darmowe certyfikaty.

Jeszcze niedawno można było sobie wygenerować certyfikat na rok. Odnowienie tego certyfikatu wymagało tylko uruchomienia jednego polecenia. Niestety było to nadużywane więc teraz trzeba odnawiać certyfikat częściej - jest ważny tylko trzy miesiące.

Wygenerowanie nowego certyfikatu ręcznie, z użyciem autoryzacji jego generowania za pomoca wpisu TXT w DNS można zrealizować narzędziem takim jak Certbot.

DOMAIN=adres.domenowy
certbot certonly --manual --preferred-challenges dns -d $DOMAIN -d *.$DOMAIN --agree-tos --manual-public-ip-logging-ok  --server https://acme-v02.api.letsencrypt.org/directory --register-unsafely-without-email --rsa-key-size 4096

Powyższe działa krok po kroku. Jest czas, by dodać odpowiedni wpis w DNS, poczekać aż się rozpropaguje i wtedy przejść z generowaniem do kolejnego kroku. Taki certyfikat nie może być aktualizowany automatycznie.

Niestety Let’s encrypt nie chciało zweryfikować moich certyfikatów za pomocą odpowiedniego pliku dostępnego po http - do sprawdzenia w przyszłości.

W konfiguracji Apache trzeba mieć trzy linijki, które w przypadku certyfikatu wygenerowanego ręcznie, trzeba też samodzielnie wpisać w odpowiedniego VirtualHosta.

SSLCertificateFile /etc/letsencrypt/live/adres.domenowy/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/adres.domenowy/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf