- Why do we need a local client app to issue certificates? Is there a web interface in development? Is there a technical reason for it to work this way?
- Why does it issue 3 month certs? Beta period? (This is reason enough to pay btw, If I did not screw something up to end up with short term certs)
So it can verify domain ownership automatically.
> Why does it issue 3 month certs?
Because it verifies domain ownership automatically.
The local client is there to make sure that the authentication process can be automated and not require your manual intervention.
The client takes care of solving the ownership challenge, provisioning the certificate and configuring your web server (if you want it to). It also helps with renewal, in a way that it can be automated completely.
The entire process uses an open protocol (ACME), and there are a number of alternatives out there. If you like web-based ones, look at https://gethttpsforfree.com/
> - Why does it issue 3 month certs? Beta period? (This is reason enough to pay btw, If I did not screw something up to end up with short term certs)
This is likely to stay even after the beta. The reasoning behind it is that Let's Encrypt makes it easy to automate renewal, and shorter renewal periods will encourage users to configure and use automation as opposed to doing it once a year and then forgetting about it. It also reduces the time frame in which you're vulnerable in case your key is exposed at some point. (CRL and OCSP solve this only in theory.)
They are even considering shortening them to less than 3 months. I think the goal there is to ensure people automate it who would otherwise try and do it manually.
As for the 90 day limit, we aren't too worried. We'll add domains often enough we shouldn't have to worry about it. and it can always be automated.
IIRC, it is to encourage automation, and short term certificates are somewhat more secure (shorter period of use if one leaks and it isn't revoked; shorter period to attack the keys [shouldn't be an issue in any reasonable time period, but it can't hurt to limit it] etc.)
The Extended Validation certs gives you the green lock AND the name of the organization. The EV assures you that the company you're doing business with has been vetted...but customers don't know and most have not been educated about the differences in encryption and trust.
By contrast, a normal SSL cert is issued just by confirming control of one of the domain's email addresses.
Technically, it's the the difference between the baseline requirements (for all certs) and the EV requirements (required only for EV), which are at https://cabforum.org/wp-content/uploads/EV-V1_5_7.pdf. In order to get an EV cert, you must pass those requirements, specifically:
- government information sources
- qualified independent information sources
- all domain names must be inspected by a human
- phone calls to your office
Additionally Google mandates Certificate Transparency for EV, so all EV certs have CT as a result.
EV is also required for .onion services, because what would be the point of anonymity unless you actually knew who you were talking to.
In the 90s it took a long a long time for certs to be issued: you'd fax ID to VeriSign, they'd verify your identity and sign your certificate.
DV was introduced by Geotrust as a way of saving money for CAs: DV just means you can register a domain: even if the domain seems like it belongs to a particular legal entity, DV makes no assurances that it does. People can and do get DV certs that seem like they're for major companies all the time. The process is entirely automated, and nobody is asserting any identity: https://google.com.mg and https://google.com.im exist, they're not Google, and that's fine because DV certs don't assert identity.
EV does actually assert a connection between the certificate and a specific legal identity, which is encoded in the certificate, signed and displayed in the browser. EV isn't perfect: you could attempt to be verified as another company. However it is the only type of certificate that assures an actual identity to browsers.
Disclaimer: I work for a startup that's created significantly faster, more painless EV validation. We think it's important that Alice knows she's talking to Bob.
Now what happens when you have to do a rotation because of another attack that makes it possible to leak private keys?
If I'm a startup, why should I shirk away from paying 9.99 for a RapidSSL certificate from namecheap and have it working reliably through Ansible/Puppet/Docker... and rather muck about with the chance that my server SSL cert may go down because my letsencrypt client was outdated or something.
Or worse, I have a wordpress site running on a PHP host - the best case scenario is that they agree to use a certificate I buy. Running a python based client ?
That's not to say that they don't have some other motive for the 90 day expiry, but I don't think they need the support of major CAs for what they're doing at the moment.
Even if they do get into Browser roots now, there are hundreds of millions of mobile devices out there that will not accept Letsencrypt without a cross sign. Lets face it Letsencrypt is dead in the water without Identrust (or someone similar).
Its not a bug, it's a feature.
This is important, considering that certificate revocation is not a universally solved problem, and that Let's Encrypt is aiming to radically increase the amount of certificate issues as a whole.
No strongarming necessary, I'm pretty sure technical considerations ruled the day here.
https://mozillacaprogram.secure.force.com/CA/PendingCACertif... shows Mozilla's in-progress certifications -- including LetsEncrypt, Amazon, DocuSign, VISA, a bunch of governments, telcos, existing CAs, and others I don't recognise. Cross-signing is a pragmatic solution for older client devices (eg. abandonware Android phones) for _any_ CA root, new or otherwise.