Is there some definitive reference on using Lets Encrypt and openvpn. One reference on the FreeeBSD forum kind of leaves this dangling. All the installation guides deals with self signed certs, and that is something I was trying to stop doing on my new server. (Ten year lifetimes!)
I found a reference on PAM with openvpn, so the lack of a password on the cert is no big deal.
So you usually want to create your own private certificate authority with OpenVPN because you also want to issue client certificates to your users in addition to server certificates so nobody is just one password away from cracking your VPN.
If you do just want to use a password-based VPN, you can use certbot certonly --standalone (assuming you have no web server on the same machine) to obtain a certificate and set the cert in your OpenVPN server config to /etc/letsencrypt/live/yourdomain.com/fullchain.pem. However, it is critical that you not set the ca option when using a public certificate authority and setup password-based authentication instead, or any of the hundreds of thousands of people with Let’s Encrypt certificates will be able to use your VPN.
I hacked a bit, couldn’t get it going, then set up the VPN the traditional way with easy-RSA. (Actually not hard to do.) I was going to use PAM for auth to prevent others from using the letsencrypt cert.
As it turns out, the .opvn file has a number of certs in it. I was thinking I could avoid having to make the .opvn file with the letsencrypt cert, but alas no.
I do appreciate the replies indicating what a bad idea this was.
Using SSL Certificates for SSL VPN is no different from using a self signed certificate
When it comes to Identity management if you do want to use certificates as a basis for identity then as @Patches says you are better of running your own CA.
On Another note - you do not have to use standalone you can also use the DNS challenge
DNS verification is just another method of verifying you own a domain for obtaining certificates from Let's Encrypt, one that doesn't require any web server listening on the public Internet.