I am hosting an ASP.NET website with wildcard ssl certificate on IIS / Windows 2008R2. While Chrome works fine with my website and shows a green lock the https connection, the https details mention "obsolete cryptography":
I assume that this is due to SHA1, which is also being mentioned by chrome in the same window.
However, according to Digicert's SSL Certificate Checker, SHA256 should be used:
Now I am not sure what is going on and how to fix this problem. It appears that this blog post describes a workaround for this problem, but the workaround seems so obscure (1. Step: Install OpenSSL?), that I can't imagine this is the offical way to do it on Windows 2008 R2.
How should I proceed to get rid of the ssl certificate warning?
Edit: After applying the script recommended by Grant, my SSLabs has been improved from C to A and Chrome is using TLS 1.2 instead of 1.0. However, the "obsolete cryptography" warning is still there.
It's not SHA causing the problem, it's TLS 1.0.
The SSL Labs report for your domain gives the full story. Your server only supports TLS 1.0, not 1.1 or 1.2. In addition, it still supports obsolete ciphers like RC4, and doesnt support perfect forward secrecy.
Tuning IIS to get better security is quite possible, but a pain to do by hand. This wonderful script, written by Alexander Hass, will set a variety of registry settings to disable old insecure encryption methods for IIS7.5 and IIS8.
After running the script, reboot the server, and you should get an A rating on SSLLabs, and stop getting the warnings in chrome.
I'm testing this on a fresh 2012 R2 server, when applying the Alexander Hass script (AH-Script), I still get the obsolete cryptography:
My Chrome 43 supports the following Cipher suites:
so the one used is: [C013], quite far down. It seems Chrome prefers SHA256 and GCM over CBC.
I took the AH-Script and added [009E] (3rd from the top) to the cipher suite list, after rebooting I'm now getting:
I tried to get the top two [C08B] and [C02F] to work, but couldn't.
So by fixing the script and running it I got a
modern cryptography
.I removed one of the existing ciphers because the length of that string is limited, the beginning of my string now looks like this:
Edit: I just tested this on sslLabs.com and using
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
gives me aB
, down from anA
I had before.So you may not want to use it. Why Chrome rates it so high, I don't know?
The "obsolete cryptograpgy" message in Chrome, is because of the server supporting weak Diffie-Hellman (DH) key exchanges. More specifically, this is documented in the HTTP/2 spec on the Cipher Suite Black List.
When you use the PowerShell script from Alexander Hass (from the current Accepted Answer), then it includes these ciphers which are on the blacklist:
If you look at the Azure App Service, it uses the following cipher suite order:
This results in a A rating in Qualys SSL Labs (Jul 2016), and supports Forward Secrecy for most common browsers.
I found the Chrome issue because on my local IIS Express on Windows 10, it would return error message
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
in Chrome 51 with the blacklisted cipher suites configured on my system.