-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTPS broken on Chromium browsers #2313
Comments
Please create reproducible test repo, can't reproduce 😕 |
I don't have time for that. It doesn't happen with 3.7.1 or 3.8.2, only 3.9. |
I found the time to ask you and find out that no works like that, so a little respect would be nice. I asked to do this not because I want to, but because I do not have this problem, maybe something is wrong on your side and I would like to figure it out to help you and other developers, thanks In near future we will do release next version, so you can pinned permanently |
Well I have bills to pay, and TWO deadlines this week. One of them is TOMORROW, so excuse me if I don't prioritize work that doesn't pay me a dime. Even if something was wrong on my side, the fault didn't appear before upgrading to 3.9. I tried upgrading for the first time about two weeks ago, and when it didn't work, I checked the issues, and there were none. When the problem persisted after trying to upgrade today, I took the time to write this issue, despite being busy as fuck. |
No information === no solution, sorry |
I gave you all the information that I can. I don't really care if you fix it or not. The old version works for now, when it stops working, I'll stop using Webpack. Simple as that. |
@k1sul1 feel free do not use webpack |
I can repro this with
Chrome 80.0.3955.4 on Windows says Chromium 78.0.3904.97 (Official Build) Arch Linux (64-bit) says There are errors in the stderr log:
In comparison, example.com only has a cert for "Critical" / "Signing" / "Key Encipherment"; "TLS WWW Server Authentication (OID.1.3.6.1.5.5.7.3.1)" / "TLS WWW Client Authentication (OID.1.3.6.1.5.5.7.3.2)". It could well be possible that some Chrome/Chromium configurations disallow certificates that are too broad. I'll look into things and report back. |
Downgrading to 3.8.2 ( The NSS error we get now is -8172, The certificate generated by 3.8.2 has no Extended Key Usage fields at all, only a Certificate Key Usage field of "Not Critical", "Signing", "Non-repudiation", "Key Encipherment", "Data Encipherment", "Certificate Signer". |
Yep - fully removing the The cert is again |
Hmm. My best guess here at this point is that the self-signed certificate itself can't be, as far as Chrome cares, both a certificate for issuing other certificates and have extended key usages. (An empty Extended Key Usage extension in the cert also breaks Linux Chrome.) (This seems relevant: https://security.stackexchange.com/questions/194283/root-ca-with-extended-key-usage-fields) @evilebottnawi Could we have this reopened? It is a real reproducible issue. |
Thanks @akx. I don't know how the browser nor webpack internals work and producing a reproducible example for this would've taken me a lot of time that I do not have. TIL you can use webpack-dev-server without a config. |
@akx thanks for investigation, i like when developers help that way |
@akx If you have ideas how to fix it asap feel free to send a PR, anyway i will look on issue in near future |
The quick dirty fix is to revert a4dbc3b, which will apparently break WDS HTTPS for Safari-on-macOS-Catalina users, but fix it again for Chrome-on-Linux users. If my guess above is correct, we'd need a solution where we the server cert is a chain of two certificates:
I don't know if https://github.com/jfromaniello/selfsigned (the library currently in use) can do that directly, or if it'd even work. However on a semi-positive note, I think we'll be seeing this problem more across the JavaScript self-signed certificate ecosystem in the near future – someone might already have a working solution too :) |
We currently have some developers using OSX and some using Linux, so we currently have no way of getting things working for our entire team. We've resorted to getting the Linux devs to use Firefox for the time being, but not an ideal situation. A real fix would be great |
In my todo, I will look for solutions this week, thanks for reproducible test repo and investigation |
You can fix it by removing the basicConstraints extension... Removing basicConstraints and leaving extKeyUsage works for both Linux and Catalina. |
That does make sense – way I see it that'd mean the key is not marked for CA use. |
This fixes TLS on Chromium Linux (see webpack#2313) Based on webpack#2313 (comment)
This fixes TLS on Chromium Linux (see webpack#2313) Based on webpack#2313 (comment)
it is because of folks like this that I've completely abandoned open source. So much hate in the open source community. |
Code
Expected Behavior
Not this.
Actual Behavior
Can't access the development site because the browser doesn't let me. Downgrading to 3.8.2 fixes the issue.
"... the website sent scrambled credentials that Google Chrome cannot process. Network errors and attacks are usually temporary, so this page will probably work later."
For Bugs; How can we reproduce the behavior?
Install 3.9 on Linux and use a chromium browser.
The text was updated successfully, but these errors were encountered: