Your OpenSSL CSR command is out of date
certsimple.com
certsimple.com
All Chrome cares about is the signature used by the CA.
Now of course a CA could (and should) complain about sha-1 signed CSR, but this has nothing to do with the Chrome sha-1 deprecation.
SSL Labs agrees with that assessment, though you could enable PFS for a better rank:
https://www.ssllabs.com/ssltest/analyze.html?d=healthlabs.co...
I don't have a Chrome OS to test with, but I'd say this is not your fault. Now of course, going to the customer and saying that a random stranger on the internet told you that it's ok is probably not going to impress anybody :-)
VeriSign Class 3 Public Primary Certification Authority - G5
In addition, in my Chrome for Linux browser (Version 41.0.2272.101 (64-bit)), that cert's parent cert is: Class 3 Public Primary Certification Authority
And that's a 1024 bit RSA key.So my chrome's validation path includes a signature by a 1024 bits RSA key using SHA-1 as a trust step. No EV for you. Had the G5 cert been in my trust store (might be on your platform) then all the signatures would have been from 2048-bits RSA keys with SHA-256 and all A-OK.
That's ok, but that's not relevant at all what the resulting certificate is concerned.
- sha256 is required for Chrome 42+ (mid April 2015) not to show warnings.
- 2048 bit RSA is the new OpenSSL default and is required for EV certificates.
- The 'subject' (the thing being attested to by the CA) you actually get in your certificate may have a lot more detail than the subject line in your CSR.
- If you're using EV, and have at least www and non-www, the CN will never be used - your CA will put all the server names inside the SAN fields. Anything else won't work with current browsers.
I agree it would be cryptographically correct, and I bet there's a nasty vulnerability in there that'll be exposed the day SHA-1 is broken---but that day isn't today.
Can someone suggest a "secure, automated mechanism of providing the private key passphrase" as they recommend, if you wanted to use a password on it?
It's worth noting that the security benefits of encrypting the private key are limited in most cases. Whenever the server restarts, the private key is decrypted and stored in memory, so an attacker who can exploit your web server would be able to access it anyway. Some attackers might not be able to access memory (e.g. exploits in a web application), but in that case you should be able to use standard file permissions to protect the key.
Encrypting the key would have more benefit if you are planning to store it in places other than the server it is used on, and/or transfer it across a network. In that case, it's probably best to carefully consider your threat model and security requirements, rather than solely relying on the default encryption provided by OpenSSL. For example - do you have the discipline do use a strong, unique passphrase on that key? If not, encrypting the key doesn't provide much protection against a determined attacker. Is stretching performed to slow down a brute force attacker? And so on...
If you switch to, say, a load balancing HTTPS proxy appliance (like Amazon's ELB or Modulus' Go-based load balancer) you store your private key in one place, and that one place has far fewer points of attack than a traditional full OS.