Certbot: Difference between revisions

From NixOS Wiki
imported>Onny
(Info about setting up read permissions)
imported>Onny
mNo edit summary
Line 10: Line 10:
== Usage ==
== Usage ==


=== DNS challenge ===
=== Manual DNS challenge ===


The following command will generate a SSL certificate key pair for the domain <code>example.org</code> using the DNS authentication mechanism. After running this command, you'll get asked by the script to paste a specific key into your DNS records for <code>example.org</code>.
The following command will generate a SSL certificate key pair for the domain <code>example.org</code> using the DNS authentication mechanism. After running this command, you'll get asked by the script to paste a specific key into your DNS records for <code>example.org</code>.

Revision as of 13:13, 10 September 2022

Certbot is Electronic Frontier Foundation's ACME client, which is written in Python and provides conveniences like automatic web server configuration and a built-in webserver for the HTTP challenge. Certbot is recommended by Let's Encrypt.

Installation

Install certbot in your current environment

# nix-env -iA nixos.certbot

Usage

Manual DNS challenge

The following command will generate a SSL certificate key pair for the domain example.org using the DNS authentication mechanism. After running this command, you'll get asked by the script to paste a specific key into your DNS records for example.org.

# certbot certonly --manual --preferred-challenges dns -d example.org --register-unsafely-without-email --agree-tos

If everthing went well you'll have the certificate and key file stored as /etc/letsencrypt/live/example.org/fullchain.pem and /etc/letsencrypt/live/example.org/privkey.pem

To make the keys readable by a third party user or application, you could set custom ACL permissions. In this example we grant the user maddy read permissions for the certificate folder:

# sudo setfacl -R -m u:maddy:rX /etc/letsencrypt/{live,archive}