And another small note in regards to CSR: typical CA today uses the CSR only to get public key you want to have signed and replaces everything else with whatever they deem correct.
Re:Running the Let's Encrypt Beta
by scintill76 on Tuesday October 27, 2015 @07:38PM
(#10461970)
Did a CA once accidentally sign a raw CSR that requested to itself become a CA? It seems like I remember something like this, but I couldn't find evidence. Anyway, that's one reason for the CA to be very careful what values it pulls out of the CSR.
One small note on HTTP/2: The TLS requirement never reached consensus in the working group. HTTP/2 implementations are free to add or remove the requirement.
You also have to generate the private key in the first place, get the URL in the right field in the CSR, send the right file to the registrar (don't accidentally send them the private key!), convert between the dozens of file formats (.pem .crt .cer .key .der .p7b .p7c .pfx .p12 .jks), add the right intermediate certificates, put the file in the right place, make sensible cipher selections, set your file permissions right, make a secure backup of your key, check it works in several browsers and OSes - and repeat the whole process in a year or two when that certificate expires.
In the all-encrypted http2 world of the future, it would be better if the web server just took care of all that the first time it was started - just like a Linux server automatically generates a SSH private key at first boot.