如何让Visual Studio Code信任我们的自签名代理证书?

Dev*_*ble 17 openssl visual-studio-code

我们的企业防火墙/代理使VS Code无法安装扩展,因为Code不信任链中的某些东西.它不能可靠地给出错误,但是当它发生错误时,就是这样:"证书链中的自签名证书".

这似乎是一个OpenSSL错误,但我不太熟悉OpenSSL知道如何信任证书?

dra*_*788 17

这是一个可怕的答案(不是很安全),但似乎是当前微软的官方回答.使用"http.proxyStrictSSL": false您的settings.json文件.

这应该可以解决在企业网络中安装扩展的问题,但如果您打算在家/咖啡店工作而不连接到公司VPN,我建议您禁用该设置.

https://github.com/Microsoft/vscode/issues/3492

  • 仍然出现此错误 - 请求 https://api-v2v3search-0.nuget.org/autocomplete?q=system.data&prerelease=true&take=100 失败,原因:证书链中的自签名证书 (4认同)
  • 这可能是一个很糟糕的答案,但是由于公司代理通常会工作,因此这是正确的答案。 (2认同)

小智 14

其实还有更好的办法:

由于 VS Code 是基于 Chromium 构建的,因此“应从 Google Chrome/Chromium 自动获取代理设置”。因此,如果您通过以下方式在 Chrome/Chromium 中添加自签名证书:

  1. chrome://settings/privacy
  2. 管理证书
  3. 当局/进口
  4. 选择并导入您的证书(pem 文件)
  5. 重新启动 VS 代码

尽管有公司代理,我仍然能够下载 VS Code 扩展。

备注:Ubuntu 18.04 和 VS Code 仅适用于 Chrome,不适用于 Chromium。

  • 两年前,这对我在 Ubuntu 18.04 下使用 VS Code 有用。现在我正在用 Ubuntu 设置一台新电脑,但它不再工作了。当我使用以下命令时,我可以在 VS Code 中安装扩展:“code --ignore-certificate-errors”。在 Chromium 中,添加 CA 证书后我可以浏览网页,但在 VS Code 中则不行。任何想法? (7认同)

tay*_*ell 11

我遇到了同样的问题,不是在安装扩展时,而是在某个扩展尝试下载数据时。添加"http.proxyStrictSSL": false到我的设置文件无效。禁用SSL也不是一个好主意。

解决方案是安装Visual Studio Code win-ca插件,该插件使受信任的Windows证书可用于扩展。

  • 将 win-ca 插件默认值“Win-ca Inject”从“替换”更改为“附加”对我有用。 (6认同)
  • Linux 上有类似的东西吗?我也有同样的情况,切换 strictSSL 选项没有帮助。 (3认同)
  • 有一个 VS Code 扩展“Mac CA VSCode”声称可以做同样的事情 (3认同)
  • 有什么适合 Mac 的吗? (2认同)

Mor*_*the 11

编辑:2021 年仍在 Big Sur 和 Catalina 上工作,也许还有其他地方

首先,确保证书已安装并受信任(我将它们放在“系统”类别中)。

然后,进入 VScode 设置、应用程序、代理并取消选中“系统证书”选项。重新启动 vscode 并重新检查它。再次重启,就可以了。

不知道为什么你必须这样做,但这对我有用。我很惊讶。我在开发人员控制台(帮助 - 切换开发人员工具 - 控制台选项卡)中遇到的错误是“证书链中的自签名证书”。