Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| opennic:tls [2020-05-29T11:07:04Z] – created deep42thought | opennic:tls [2025-01-10T17:09:56Z] (current) – Update Debian instructions koala | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Current deployment ===== | ===== Current deployment ===== | ||
| - | There is an experimental acme server in place at [[https:// | + | There is an experimental acme server in place at [[https:// |
| The trust anchor for these certificates can be downloaded [[https:// | The trust anchor for these certificates can be downloaded [[https:// | ||
| Line 10: | Line 10: | ||
| * The acme server runs experimental software. If you have any problems getting a certificate, | * The acme server runs experimental software. If you have any problems getting a certificate, | ||
| + | ===== How to get started ===== | ||
| + | |||
| + | The acme server runs on a domain which must be validated by the same root certificate which is used for other opennic domains. | ||
| + | Thus, one must download the root certificate (and ignore the certificate error on the https connection) and install it as a trusted root certificate. | ||
| + | If you like to avoid possible MITM attacks on the download, you can verify the [[https:// | ||
| + | < | ||
| + | cd / | ||
| + | curl --insecure -o opennic_root_ca.crt https:// | ||
| + | curl https:// | ||
| + | trust extract-compat | ||
| + | </ | ||
| + | On debian, the commands are rather: | ||
| + | < | ||
| + | cd / | ||
| + | curl --insecure -o opennic_root_ca.crt https:// | ||
| + | curl https:// | ||
| + | dpkg-reconfigure ca-certificates | ||
| + | </ | ||
| + | Check, that the certificate was installed correctly: | ||
| + | < | ||
| + | curl https:// | ||
| + | </ | ||
| + | Then, certbot can query new certificates from the acme server. | ||
| + | < | ||
| + | certbot --server https:// | ||
| + | </ | ||
| ===== Planned deployment ===== | ===== Planned deployment ===== | ||
| + | |||
| + | The trust chain could look as follows: | ||
| - root cert - private key on a restricted machine or the CA operator’s hardware token like a YubiKey. The public key/ | - root cert - private key on a restricted machine or the CA operator’s hardware token like a YubiKey. The public key/ | ||
| - | - intermediate - valid for 6 months, needs to be semi-automatically renewed (resigned) by (a) - CA operator does this with their hardware token/ | + | - intermediate - valid for 6 months, needs to be semi-automatically renewed (resigned) by 1 - CA operator does this with their hardware token/ |
| - | - client certs - valid for 1-3 months, requested and issued exclusively through ACME protocol, signed by (b). Private key for (b) lives on ACME server. | + | - client certs - valid for 1-3 months, requested and issued exclusively through ACME protocol, signed by 2. Private key for 2 lives on ACME server. |
| + | The following things might be desirable, too: | ||
| + | - Distribute the Root CA key amongst multiple persons: either share copies, have multiple such keys, or have [[https:// | ||
| + | - Deploy multiple intermediate CAs / ACME-server " | ||