Skip to content
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

Can't install extensions or use TLS/SSL behind corporate decrypting firewall without strictSSL=false #9790

Closed
brianary opened this issue Jul 26, 2016 · 16 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug proxy Issues regarding network proxies
Milestone

Comments

@brianary
Copy link

  • VSCode Version: 1.3.1
  • OS Version: Microsoft Windows 7 Professional 64-bit Service Pack 1 (6.1.7601)

Steps to Reproduce:

  1. Search for extensions.
  2. Click "Install".
  3. The extension never switches from "Installing" to "Uninstall".

  • VSCode Version: 1.4.0-insider
  • Commit fc167f8
  • Date 2016-07-26T05:09:25.359Z
  • Shell 0.37.6
  • Renderer 49.0.2623.75
  • Node 5.10.0

Steps to Reproduce:

  1. Search for extensions.
  2. Click "Install".
  3. "Error: self signed certificate in certificate chain"

We use a decrypting firewall, which requires adding a local cert as a trusted authority.

For some really dumb reason, both VS and VS Code do not seem to use the Windows list of Trusted Authorities, where the certs were placed by group policy. Right now we can choose just not to use any SSL content (all extensions tried so far), or disable all SSL checking (strict-ssl=false in user settings), which would be wildly irresponsible. So that's a huge hassle.

We really need either VS Code to honor imported Trusted Authorities from the Windows cert store, or a way to import a trusted cert into VS Code's special, unique snowflake cert store.

@joaomoreno
Copy link
Member

joaomoreno commented Jul 26, 2016

@brianary I couldn't understand from your comment, but does setting "http.proxyStrictSSL": false in your settings work?

@joaomoreno joaomoreno added the info-needed Issue requires more information from poster label Jul 26, 2016
@brianary
Copy link
Author

Yes, in the sense that I can install extensions without the benefit of a validated certificate chain, but that isn't really an option in a high-security environment.

@brianary
Copy link
Author

This may be related to nodejs/node#3159

@joaomoreno joaomoreno changed the title Can't install extensions or use TLS/SSL behind corporate decrypting firewall Can't install extensions or use TLS/SSL behind corporate decrypting firewall without strictSSL=false Jul 27, 2016
@joaomoreno joaomoreno added bug Issue identified by VS Code Team member as probable bug upstream Issue identified as 'upstream' component related (exists outside of VS Code) and removed info-needed Issue requires more information from poster labels Jul 27, 2016
@joaomoreno joaomoreno added this to the Backlog milestone Jul 27, 2016
@joaomoreno
Copy link
Member

Yeah it is, we are blocked by it.

One more question: did you need to also set up a proxy in Code?

@brianary
Copy link
Author

No, we had a proxy at one time, but this current system operates on all network traffic through the firewall.

@joaomoreno
Copy link
Member

And what happens is that firewall just patches the responses coming from the Internet with its own certificate?

@brianary
Copy link
Author

The connection to the firewall is secured with its own cert, then a connection from the firewall to the destination uses the destination's cert. This allows the firewall to perform content filtering on https traffic.

@tracker1
Copy link

tracker1 commented Sep 8, 2016

I'm having the same issue, but even with:

"http.proxyStrictSSL": false,

I'm getting the error, this change started with the 1.5.0 update that I just ran... Until this point it seemed to be content with the HTTP_PROXY environment setting... I always launch code from the terminal...

Even with configuring the http.proxy in code, I'm getting the error... I'm on an internal enterprise network, there is no access except via the proxy, the internal root cert is setup on the local machine iirc.

@brianary
Copy link
Author

brianary commented Sep 8, 2016

Same here with Insiders 1.5.0. It seems to be even more aggressively preventing local certs.

@darron-haworth
Copy link

darron-haworth commented Sep 9, 2016

I am experiencing the same thing. We do NOT have a proxy server and our corporate firewall decrypts all ssl traffic for inspection and then re-encrypts it using it's own intermediate cert. Our corporate intermediate cert is in my keychain (on mac) as a trusted certificate but VS Code does not recognize this trusted intermediate cert.

We have regretfully been working around this issue with "http.proxyStrictSSL": false in user settings but I just updated VS Code yesterday to Version 1.5.1 and now even the proxyStrictSSL=false is no longer working and I am continually getting "Error self signed certificate in certificate chain" even though the certificate is in my 'keychain', it is valid and issued by our corporate certificate authority.

It seems that something in the update to v1.5.1 has over-ridden the "http.proxyStrictSSL": false option. It would be nice if VS Code could honor the systems certificate trust settings!

@joaomoreno
Copy link
Member

⚠️ For those who had this working before 1.5.0, here's the issue: #11702

@martinoss
Copy link

I also wish to be able to specify a ca in the settings like npm supports using "set ca". We're behind a TLS intercepting proxy. Setting proxyStrictSSL to false works but is not my preferred solution.

@gavinbeatty
Copy link

An alternative fix to using the system CA bundle is to do something similar to git's http.sslCAInfo option. Having something analogous to git -c http.sslCAInfo=/path/to/proxy.crt ... means users will always be able to fix the problem themselves -- using the system CAs is nice too, because the right bundle is often there, but that's not guaranteed either.

@joaomoreno joaomoreno added proxy Issues regarding network proxies and removed upstream Issue identified as 'upstream' component related (exists outside of VS Code) labels Apr 26, 2017
@MattAllison
Copy link

Same problem - our "proxy" is not a manually configured proxy server - it's an inline process handled by the firewall so the proxy setting options are not viable for us.

I'd prefer an option in the UI to import/trust the signing authority to having to find a way to download/distribute.

@joaomoreno
Copy link
Member

Merging with #27838

@brianary
Copy link
Author

brianary commented Jul 4, 2017 via email

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug proxy Issues regarding network proxies
Projects
None yet
Development

No branches or pull requests

7 participants