Certificate Authorities
For home users there is not much use for running you own Certificate Authority (CA), and with availability of Letsencrypt and the plethora of ACME libraries setting TLS encryption is quite straight forward.
There are also some alternatives to Letsencrypt that offer free certificates:
These are commercial offerings that have a free tier.
I myself use letsencrypt with acme.sh because it is available for Alpine Linux, which is my preferred Operating System for my home servers.
Private Certificate Authority
There are some scenarios that it would be useful to run your own Certificate Authority (CA). For example:
- When you require a lot of certificates.
- Authenticate users or client devices.
There are some tools that take care of most of the details on how to run your own CA.
Still, this may be useful to know in case you ever need to. I tried the folowing myself: