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 " |