I've been tasked to get our site into PCI compliance by disabling SHA1 on the server. I am accomplishing this by using IIS Crypto 2.0. We decided to also go with just TLS 1.2. the specific problem I am having is when I disable SHA1, all versions of Firefox give the generic error message "Secure Connection Failed". I have enabled all options except for SHA1 and still get the message but as soon as SHA1 is disabled the message comes back. I am pasting screenshots below with the configs on IIS Crypto.

Cipher Suits


Additionally I have run SChannel ETL and came up with the below results SCHannelETL

While Running that ETL I ran a Netmon enter image description here as you can see in my config list versus the netmon request I do have those cipher suits enabled yet I am still getting the same error.

enter image description here

I Started on this problem early last month and took a break to work on another project thinking I could come back to this and just figure it out but I am not getting anywhere. I cannot believe that Firefox requires SHA1 to work it just seems ridiculous,

Oh and my Cert Signature is SHA256RSA, My Server is Windows Server 2012 R2 Standard

  • Is it just one Firefox browser, or many? See support.mozilla.org/en-US/questions/1197679#question-reply for browser settings – Colt Jan 8 '18 at 20:21
  • I have tried from multiple different computers, multiple different versions of Firefox going all the way back down to I believe 32 was the oldest version. I have updated to the most recent version as well and still all the same – scripter78 Jan 8 '18 at 20:43
  • 1
    "I've been tasked to get our site into PCI compliance by disabling SHA1 on the server" - I'm pretty sure that disabling the use of SHA1 as HMAC in ciphers (i.e. what you try to do) is not required by PCI. The problem of using SHA1 is with its use in certificate signatures, not as HMAC in ciphers. – Steffen Ullrich Jan 8 '18 at 20:55
  • I am a software developer not a server admin, I am learning this as I go. Why the hell are they having me do this and not one of the numerous server admins that make way more than me, I have no clue. – scripter78 Jan 8 '18 at 23:52

There does not appear to be any overlap between the cipher suites enabled on the server side (IIS Crypto screenshot) and the ones proposed by the client (Netmon screenshot).

I'm guessing you are using a RSA key/cert, because your server-side selection of cipher suites for RSA comes across as particularly limiting.
As an example the client proposes TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 and TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 as its top RSA-based options (these seem like very reasonable modern options for RSA), but you don't support these. In general you seem to have mostly CBC suites rather than GCM for RSA?

I would suggest The Mozilla OpSec Team's article on Server-Side TLS for guidance regarding reasonable cipher suite choices and the compatibility implications of their proposals.

Sidenote: Why would you ever enable a NULL cipher? (Like the currently highlighted one in the screenshot.)

  • 2
    Indeed, enabling the NULL cipher is an instant fail. – Michael Hampton Jan 8 '18 at 20:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.