Visual Studio Code devcontainers:如何信任我们的自签名代理/防火墙证书?

问题描述 投票:0回答:1

我的公司防火墙破坏了 TLS/SSL 连接。我想向 VSCode 信任存储添加根证书。可以吗?

以下设置似乎不会影响 devcontainers HTTP 连接:

"http.experimental.systemCertificatesV2": false
"http.systemCertificates": false
"http.proxyStrictSSL": false

.devcontainer.json

{
    "features": {
        "ghcr.io/devcontainers/features/java:1": {
           "installMaven": "true"
       }
     },

    "name": "Java",
    "image": "mcr.microsoft.com/devcontainers/java:1-21-bullseye"
}

错误:

Resolving Feature dependencies for 'ghcr.io/devcontainers/features/java:1'...
* Processing feature: ghcr.io/devcontainers/features/java:1
Error: self signed certificate in certificate chain
    at TLSSocket.onConnectSecure (node:_tls_wrap:1553:34)
    at TLSSocket.emit (node:events:514:28)
    at TLSSocket._finishInit (node:_tls_wrap:970:8)
    at TLSWrap.onhandshakedone (node:_tls_wrap:746:12)
visual-studio-code ssl firewall
1个回答
0
投票

回答有点晚了。我有同样的问题。如果您的容器运行的是 Debian 或衍生版本,您可以通过创建脚本并将其作为 devcontainer.json 文件中的 postCreateCommand 运行来安装受信任的根。我的脚本包括:

sudo cp ./.devcontainer/myroot.crt /usr/local/share/ca-certificates/myroot.crt
sudo update-ca-certificates

文件类型必须是.crt,并且您应该将其添加到.devcontainer目录中。这会将证书添加到容器的受信任根存储中。

如果您的容器运行的不是 Debian 或其衍生版本,您仍然应该能够找到一种机制来向其添加新的受信任根并完成相同的任务。

© www.soinside.com 2019 - 2024. All rights reserved.