Issue metadata
Sign in to add a comment
|
ERR_CONNECTION_RESET on Self Signed localhost on Windows 8 Embedded
Reported by
al...@aligntech.com,
Jan 7
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Example URL: Steps to reproduce the problem: 1. WCF service exposes API on local machine (https://localhost:8080/MyApi) 2. Self signed SHA-256 certificate registered on local machine 3. netsh http add sslcert ipport=0.0.0.0:8080 certhash=... appid=... 4. Browsing to https://localhost:8080/MyApi gets ERR_CONNECTION_RESET What is the expected behavior? Can access localhost WCF service successfully. What went wrong? Now the funny part: 0. Works fine with Chrome v41. Happened only after upgrading to Chrome v69 (and same on v71). 1. Browsing from IE works well. 2. Calling the API from PowerShell web-invoke works either. 3. Same everything on Windows 10 works fine. 4. Modifying #allow-insecure-localhost to ENABLED works on Windows 10, but not on Windows 8 Embedded. After activating chrome logging found this: {"params":{"net_error":-101,"os_error":10054},"phase":0,"source":{"id":7810,"type":8},"time":"52598608","type":68}, {"params":{"error_lib":33,"error_reason":101,"file":"../../net/socket/socket_bio_adapter.cc","line":154,"net_error":-101,"ssl_error":1},"phase":0,"source":{"id":7810,"type":8},"time":"52598608","type":54}, Additional Chrome logging: [8652:5036:0107/174231.775:ERROR:ssl_client_socket_impl.cc(1013)] handshake failed; returned -1, SSL error code 1, net_error -101 [8652:5036:0107/174231.793:ERROR:ssl_client_socket_impl.cc(1013)] handshake fail ed; returned -1, SSL error code 1, net_error -101 [8652:5036:0107/174231.795:ERROR:ssl_client_socket_impl.cc(1013)] handshake fail ed; returned -1, SSL error code 1, net_error -101 Did this work before? Yes 41 Chrome version: 71.0.3578.98 Channel: stable OS Version: 8.0 Embedded Flash Version:
,
Jan 7
Please attach the *full* NetLog per these instructions. Thanks! https://www.chromium.org/for-testers/providing-network-details
,
Jan 8
,
Jan 8
Log file is attached. Thanks you very much, guys.
,
Jan 8
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 8
I see the server is requesting client certificates and resetting the connection. That suggests that, for whatever reason, it didn't like your client certificate. You mention this used to work in Chrome 41. Could you capture a NetLog from a working Chrome? Preferably something more recent than 41 if you can. Chrome 41 was four years ago. One would expect that, if we broke something four years ago, this would have already been reported.
,
Jan 9
It seems that v49 is the last version that works well and v50 has the problem I described. Those versions don't have the logging method mentioned above (chrome://net-export/). Is there any other way to export the log with those versions? Thanks.
,
Jan 9
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 9
Open about:net-internals to start logging. Then go to the "Export" tab to export it. Can you also attach the client certificate you are using? (Just the public half, not the private key.) I have a vague suspicion as to what's going on. PS: Chrome 50 was almost three years ago. A lot of security fixes go into Chrome releases. I would recommend being much more up-to-date, both for security reasons and because, if problems come up, bug reports are much more actionable and quicker to diagnose when problems are reported more promptly.
,
Jan 9
Thanks for your reply. Both logs and pem file have been attached. Please tell me if something else is missing. Thanks in advance.
,
Jan 9
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 14
Thanks! Alright, that does partially confirm my suspicions. In Chrome 50, we removed the insecure TLS version fallback, in order to plug a security hole. Your M49 NetLog shows that your setup is relying on it. For some reason, your server is resetting the connection at TLS 1.2, but not the insecure TLS 1.1 and 1.0. https://groups.google.com/a/chromium.org/d/msg/security-dev/yz1lU9YTeys/NqDvDJqNEQAJ It sounds like your server is on Windows? I'm aware of two possible causes on the Windows end, but of course there may be another issue. 1. Windows Schannel is finicky at TLS 1.2 about signature algorithms. If you had, say, an MD5 self-signed certificate, Schannel would reject at TLS 1.2 and potentially ignore it in other contexts. However, assuming "RxEditor without PK.pem" is indeed the client certificate you are using, that doesn't seem to be it. (That certificate uses SHA-1 and the server's CertificateRequest indicates that it accepts SHA-1.) 2. Windows Schannel had a bug around AES-GCM cipher suites ( issue #433406 ) caused by a faulty update. Microsoft quickly fixed that update, but given that you also didn't update Chrome for 4 years, perhaps you failed to take that update too? I see your server is responding with TLS_RSA_WITH_AES_256_GCM_SHA384, so it's possible you are hitting the buggy path. The advice we got from Microsoft about their Schannel bug was the following: Server administrators should ensure their software is up-to-date and, if still unresolved, reach out to their software vendor. Affected software vendors should fix bugs in their server implementations and follow the protocol specification. The Windows issue above was addressed in KB3042058. Note that KB3042058 describes important prerequisites that must be installed prior to installing KB3042058. Perhaps try applying that fix, and any others you've missed? In general, you must take your updates if you expect software on the internet to work. Not updating Chrome for four years is far too long. Had you discovered this issue when the change was made, we would have diagnosed it faster and we may have been able to account for it at the time. Now, it is far too late to make any changes and regress security for the rest of Chrome's users.
,
Jan 14
> The advice we got from Microsoft about their Schannel bug was the following: > > Server administrators should ensure their software is up-to-date and, if still unresolved, reach out to their software vendor. Affected software vendors should fix bugs in their server implementations and follow the protocol specification. The Windows issue above was addressed in KB3042058. Note that KB3042058 describes important prerequisites that must be installed prior to installing KB3042058. A small correction: I copy-and-pasted that from that link above and copied more text than I intended. The advice from Microsoft is just that issue "was addressed in KB3042058. Note that KB3042058 describes important prerequisites that must be installed prior to installing KB3042058." But the remainder is good advice in general. :-)
,
Jan 15
Thank you very much for your help! Meanwhile we had to rollback and use Chromium v47, but I hope that after installing those updates mentioned above, we'll be able to work with latest edition on our Windows 8 Embedded machines. Thanks again. We really appreciate your help and effort.
,
Jan 15
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 15
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by morlovich@chromium.org
, Jan 7