New issue
Advanced search Search tips

Issue 715502 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Chrome not handling a self-signed V3 SSL Certificate "website sent scrambled credentials"

Reported by andrewbr...@gmail.com, Apr 26 2017

Issue description

Chrome Version       : 57.0.2987.133
OS Version: OS X 10.11.6
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari 5: OK
  Firefox 4.x: OK
     IE 7/8/9:
  Chrome Canary 60.0.3080.5:  FAIL

What steps will reproduce the problem?
1. Navigate to https://jira.home.andrewdicks.co.uk/
2. See the standard "Your connection is not secure" message
3. Click Advanced

What is the expected result?
I should be able to accept the self-signed certificate and browse the site.

What happens instead of that?
One is presented the message "You cannot visit jira.home.andrewdicks.co.uk right now because the website sent scrambled credentials that Google Chrome cannot process"

Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36



 
ChromeIssue_Privacy_error.png
304 KB View Download

Comment 1 Deleted

Some extra logging output from Chrome and Chrome Canary on Mac

Chrome Mac (Version 58.0.3029.81 (64-bit))

[30598:110595:0426/122758.584314:WARNING:cert_verify_proc_mac.cc(142)] Unknown error mapped to CERT_STATUS_INVALID: Error Domain=NSOSStatusErrorDomain Code=-2147408893 "(null)" (-2147408893)
[30598:110595:0426/122758.584437:WARNING:cert_verify_proc_mac.cc(142)] Unknown error mapped to CERT_STATUS_INVALID: Error Domain=NSOSStatusErrorDomain Code=-2147409644 "(null)" (-2147409644)


Chrome Canary Mac (Version 60.0.3080.5 (Official Build) canary (64-bit))

[30955:30979:0426/122912.384422:WARNING:cert_verify_proc_mac.cc(142)] Unknown error mapped to CERT_STATUS_INVALID: Error Domain=NSOSStatusErrorDomain Code=-2147408893 "(null)" (-2147408893)
[30955:30979:0426/122912.384534:WARNING:cert_verify_proc_mac.cc(142)] Unknown error mapped to CERT_STATUS_INVALID: Error Domain=NSOSStatusErrorDomain Code=-2147409644 "(null)" (-2147409644)


When testing on Chrome for Windows (Version 56.0.2924.87 (64-bit) and Version 58.0.3029.81) the certificate works as expected.


Comment 3 by rsesek@chromium.org, Apr 26 2017

Components: Internals>Network>SSL
Components: -Internals>Network>SSL Internals>Network>Certificate
Labels: Needs-Feedback
I'm not able to reproduce this on my machine, though I'm on 10.12, not 10.11. Could you attach a net-internals log per https://dev.chromium.org/for-testers/providing-network-details? Thanks!
Yep - no problem - please see attached.
chrome-net-export-log.json
835 KB View Download
Ah - note that I used net-export as apparently net-internals is being deprecated... is that OK or would you prefer net-internals?
Project Member

Comment 7 by sheriffbot@chromium.org, Apr 26 2017

Cc: davidben@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "davidben@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Yeah, net-export is fine. We need to update those instructions... :-)
(Leaving this for certificate folks to look at. I'm not very familiar with that end of the stack.)
I can't reproduce (works fine for me).

The error code given in comment #2 from the log doesn't map to anything, so not sure what is going wrong. Maybe a problem with the system verifier? Although you said it works in Safari right?
Can you try disabling your chrome extensions (like taper monkey) and seeing if it changes anything? (I don't think it will make a difference, but worth ruling out).
Good idea... but no luck.

I opened an incognito window and got the same response (I'm 99.9% sure incognito mode disables all extensions, right?)
And yes - Safari works fine.

One thing I will test is to disable my manually-added trusted Certificate Authorities from my keystore and see if that makes any difference.
Yep - I've removed those trusted CAs from my keychain, and no difference.  Also tested on a colleague's Mac (same Chrome; same OSX version) and sees the same issue.
Cc: mattm@chromium.org
@mattm: Does the log in comment #2 mean anything to you?

I am testing on Mac 10.12.4 and can't reproduce - whereas the bug filer is running 10.11.6. Best guess is this is specific to that version of OS X.
Incidentally, I have been using self-signed certificates for a while; I recently wanted to use Subject Alternate Names in my self-signed certificates which necessitated generating v3 certs, rather than v1 certs.

My v1 certs have always worked fine with Chrome, for example:  https://esxi.home.andrewdicks.co.uk/

It's only since changing certs to v3 that I've seen this issue.
I believe it's because your leaf cert is marked a CA cert (CA:TRUE). I seem to recall that newer versions of macOS actively reject that as an invalid cert unless it's a self-signed cert.

I'd check that :)

Comment 18 by mattm@chromium.org, Apr 26 2017

Labels: Needs-Feedback
FWIW, I tested https://jira.home.andrewdicks.co.uk/ on a few macOS versions:
10.9: INVALID_CERT
10.11: INVALID_CERT
10.12: CERT_AUTHORITY_INVALID

rsleevi's comment about the basicConstraints CA:TRUE in #17 sounds reasonable, so I didn't dig in any further. Try fixing that and let us know if it resolves the problem.


Also, note re comment #16:
 https://esxi.home.andrewdicks.co.uk/ is marked as a v1 certificate, but actually does have extensions(including SAN), this is invalid, and it fails on chrome canary.


...... damn.  You guys are good!  Thanks.  I had simply cloned the v3_ca section with CA:true.  When I changed that to CA:false, it started working as expected

And yes - I realised that I'd put SAN extensions in the v1 certs, and they weren't valid, hence changing to v3... but I'd foolishly copy&pasted the v3_ca section from the CA openssl.conf

Thanks again for your detailed help with this.  Really impressive.
Project Member

Comment 20 by sheriffbot@chromium.org, Apr 27 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "mattm@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Just in case anyone ever sees this in the future, a better fix for my leaf certificate was to not use the v3_ca section at all for signing (kinda obviously, when I thought about its name)... instead, I created an extensions section entitled server_cert, and set extensions that were more meaningful for server certificates rather than CAs:

[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth

I've also checked that certificates signed like this work fine in Chrome Canary too.

Thanks again for all the assistance.
Status: WontFix (was: Unconfirmed)

Sign in to add a comment