Paid SSL vs Letsencrypt
Paid SSL vs Letsencrypt
I'm curious what the benefits are of paying for SSL certificates vs using a free provider such as letsencrypt.
What exactly are you trusting a cert provider with and what are the security implications? What attack vectors do you open yourself up to when trusting a certificate authority with your websites' certificates?
In what way could it benefit security and/or privacy to utilize a paid service?
And finally, which paid SSL providers are considered trustworthy?
I know Digicert is a big player, but their prices are insane. Comodo seems like a good affordable option, but is it a trustworthy company?
AFAIK, the only reason not to use Letsencrypt are when you are not able to automate the process to change the certificate.
As the paid certificates are valid for 12 month, you have to change them less often than a letsencrypt certificate.
At work, we pay something like 30-50€ for a certificate for a year. As changing certificates costs, it is more economical to buy a certificate.
But generally, it is best to use letsencrypt when you can automate the process (e.g. with nginx).
As for the question of trust: The process of issuing certificates is done in a way that the certificate authority never has access to your private key. You don't trust the CA with anything (except your payment data maybe).
You're right, Google released their vision in 2023, here is what it says regarding lifespan:
The background is that certificate revocation is a broken system and having short lived certificates makes the problem go away. You don't need to worry about how to tell people that some certificate is bad if it's only valid for a few days.
Ideally, certificates would only be valid for a few days, it should be automated anyway. This has other downsides as I can imagine, like creation of more traffic. My self signed CA for my home LAN has 4 days as standard, and it works perfectly fine.
There are more reasons, as LetsEncrypt might be more restrictive on what you can get (for example, you cant get a certificate for an IP address from them). But, as 99.99% of usecases do not require anything like that, go with letsencrypt until you know of a reason not to.
No proper CA should give out a certificate for an IP, that's a no go by the common rules.
How does nginx automate that?
There's a certbot addon which uses nginx directly to renew the certificate (so you don't need to stop the web server to renew). If you install the addon you just use the same certbot commands but with --nginx instead and it will perform the actions without interfering with web server operation.
You just then make sure the cron job to renew also includes --nginx and you're done.
I meant certbot with nginx plugin and http-01 challenge.
LE only certify your domain name, you may want to put more (like company name) to cert and it is where classic certs providers come to help.