4

Previously today, I encountered a SSL error trying to access twitter.com in Chrome. Investigating the issue, I encountered the same error accessing discussions.apple.com. Most other HTTPS sites were working fine. Trying Safari, the same errors occurred but I was given the option to continue regardless.

At first I thought it was this Apple security update issue, especially since it was suggested that Cyberduck with Amazon S3 was causing it and I had accessed S3 with the affected version just a couple days ago. However, I recall previously having dealt with this issue, and looking at Keychain today I didn't see the duplicate certificates that were being reported by others.

After further investigation, twitter.com on my iMac is signed by the following certificate:

VeriSign Class 3 Public Primary Certification Authority - G5
Serial:  35 97 31 87 F3 87 3A 07 32 7E CE 58 0C 9B 7E DA
SHA1:  F4 A8 0A 0C D1 E6 CF 19 0B 8C BC 6F BC 99 17 11 D4 82 C9 D0
MD5: 32 A1 9C 63 E8 B6 02 89 3C 67 48 29 D0 40 AB C8

According to Symantec (and my Keychain), this is not the correct certificate. My Macbook and a coworkers iMac show twitter.com signed by the correct certificate:

VeriSign Class 3 Public Primary Certification Authority - G5
Serial:  18 DA D1 9E 26 7D E8 BB 4A 21 58 CD CC 6B 3B 4A
SHA1:  4E B6 D5 78 49 9B 1C CF 5F 58 1E AD 56 BE 3D 9B 67 44 A5 E5
MD5:  CB 17 E4 31 67 3E E2 09 FE 45 57 93 F3 0A FA 1C

Similar things are happening on other Verisign sites I've tested (apple.com and subdomains, verisign.com), except for Symantec.com, which is signed with a different CA cert, but still incorrect.

VeriSign Class 3 Public Primary Certification Authority - G5
Serial:  25 0C E8 E0 30 61 2E 9F 2B 89 F7 05 4D 7C F8 FD
SHA1:  32 F3 08 82 62 2B 87 CF 88 56 C6 3D B8 73 DF 08 53 B4 DD 27
MD5:  F9 1F FE E6 A3 6B 99 88 41 D4 67 DD E5 F8 97 7A

This is signed by the correct cert on every other computer I've tested on. No other CA seems to be effected. I switched from wired to wireless on my iMac but the issue persisted.

This seems like symptoms of a MITM attack, but it seems to be local to my iMac since no other computers on the network are exhibiting this, which seems a direct contradiction.

I'm thoroughly confused and very worried. I've airgapped my iMac and am running a virus scan on it now. What's going on? What steps can I take from here?

  • On second thought, this might have been more appropriate at Super User or Apple StackExchange... – Theron Luhn May 8 '15 at 21:45
  • Is it possible you have a proxy configured? – Neil Smithline May 9 '15 at 3:38
1

Don't panic.
It's just different ways of building a certificate chain of trust. Both ending in a trusted root CA. But once with and once without going via an additional intermediate certificate.

There exists more than one certificate with the CN "VeriSign Class 3 Public Primary Certification Authority - G5"

And SSL-Tools.net has a list of them.

There's your F4A8 (First two bytes of SHA-1 hash) cert in there. It turns out that it's a non self signed CA cert.

There's also your 4EB6 cert there. It turns out that one is a self signed root CA.

And your 32F3 cert is in there as well. That one is a non self signed CA cert again.

Now whether the client treats any of these three as a Trust Anchor is up to the client. Trust Anchor means: Okay, this is good enough for me. I'll do no further processing. There are different trust stores on different clients. (Microsoft, Mozilla, Apple being some of the more well known trust stores.)

What now?
So what practical consequences from this? Check your site with SSL labs. (Make sure to check the "Do not show result on boards" checkbox.) Especially: Make sure there are no chain errors.

Further reading
Your question is very, very close to the one discussed here:
StackOverflow: Python Urllib2 SSL error
Two of the CA certs are the same. And the answer by Steffen Ullrich is very good.

  • Two things I don't understand: Why am I seeing different root certs on my computer? Every other computer I've checked on has Verisign certs signed by 4EB6. Assuming the websites are sending the same set of certs, shouldn't the CA be the same? And if F4A8 is a valid root cert, why is my Mac not trusting it? I haven't changed anything in my keychain for quite some time. – Theron Luhn May 10 '15 at 16:39
  • F4A8 and 32F3 are CAs. But they are not self signed CAs. And therefore probably not Root CAs. (But I don't know all the trust stores by heart.) Try SSL Labs. It will tell you what is actually sent along. And it will also tell you if those certs should suffice for the different stores. Also try if Firefox has the same problem. Mozilla maintain their own trust store. While Chrome uses the OS trust store. (And so does Safari.) – StackzOfZtuff May 10 '15 at 18:00
  • So turns out that F4A8 snuck into my login Keychain. I deleted all the certificates in that keychain and everything's working now. Phew! – Theron Luhn May 10 '15 at 19:23
  • I didn't realize that the final certificate in the chain is provided by the trust store. I thought it was provided by the server and then verified by the trust store. – Theron Luhn May 10 '15 at 19:57
  • Both ways are legal. Good that it's working again. – StackzOfZtuff May 10 '15 at 20:32

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.