首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >github副驾驶仪证书链中的自签名证书

github副驾驶仪证书链中的自签名证书
EN

Stack Overflow用户
提问于 2022-03-06 01:18:58
回答 7查看 3.9K关注 0票数 13

我安装了GitHub copilot,但扩展不起作用,始终显示以下错误

我能做些什么来解决这个问题?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2022-04-22 18:43:30

Copilot错误:“GitHub Copilot无法连接到服务器。扩展激活失败:证书链中的自签名证书“通常是使用企业网络后面的CoPilot引起的。

  • 大多数企业网络都有一个“中间人”设备,它能动态地打开所有安全的SSL通信,离开家进入互联网。这确保他们可以检查任何交通离开,包括你的网上银行。通常,自动化会清除通信量,寻找窃取公司机密或IP的信息,并发出警报。如果需要的话,所有这些都会被记录下来并进行进一步的审查。
  • 这一行动留下了假证书链作为指纹。被调用站点的证书被替换为假证书,该证书由公司自己的私人CA授权机构签署。因此,证书链错误中的自签名证书。
  • 在任何公司设备(电话\膝上型电脑)中,公司CA已经安装为受信任的CA。因此,本地浏览器和其他桌面应用程序都信任这个伪造的证书链,因此不要担心有人在窥探您的安全网络流量(该公司确实拥有该网络和设备)。
  • 默认情况下,VSCode不信任已安装的桌面证书,因此它注意到GitHub证书不再由受信任的公共CA授权机构签名。
  • 正如Rypox上面所述,VSCode扩展‘Win-CA’(必须设置为‘append’模式)解决了这个问题。它告诉VSCode也要信任安装在员工桌面上的CA。这使VSCode再次高兴地信任假证书链。没有‘白名单’需要,而不是'VPN‘相关。但显然也没那么明显。一个有趣的CA信任问题。
  • 从浏览器中可以很容易地确认这是存在的。去任何外部网站(如亚马逊),并检查网站“证书”,看看谁是CA的(认证路径)。它不应该包含对你公司的任何引用。在你自己的个人笔记本电脑上,看看公司网络之外的同样的证书。

…“矩阵中的一点小故障”,安装Win-CA有助于再次隐藏它,所有这些都回到了正常状态。

票数 14
EN

Stack Overflow用户

发布于 2022-04-11 11:07:50

公司代理也有同样的问题,温卡扩展解决了这个问题。

在设置中切换到append模式(这不是默认的)

重启VsCode

票数 10
EN

Stack Overflow用户

发布于 2022-05-06 05:46:45

在macOS上,您可以使用这个脚本对Copilot扩展进行猴子补丁,以使其工作:

代码语言:javascript
运行
复制
_VSCODEDIR="$HOME/.vscode/extensions"
_COPILOTDIR=$(ls "${_VSCODEDIR}" | grep -E "github.copilot-[1-9].*" | sort -V | tail -n1) # For copilot
_COPILOTDEVDIR=$(ls "${_VSCODEDIR}" | grep "github.copilot-nightly-" | sort -V | tail -n1) # For copilot-nightly
_EXTENSIONFILEPATH="${_VSCODEDIR}/${_COPILOTDIR}/dist/extension.js"
_DEVEXTENSIONFILEPATH="${_VSCODEDIR}/${_COPILOTDEVDIR}/dist/extension.js"
if [[ -f "$_EXTENSIONFILEPATH" ]]; then
    echo "Found Copilot Extension, applying 'rejectUnauthorized' patches to '$_EXTENSIONFILEPATH'..."
    perl -pi -e 's/,rejectUnauthorized:[a-z]}(?!})/,rejectUnauthorized:false}/g' ${_EXTENSIONFILEPATH}
    sed -i.bak 's/d={...l,/d={...l,rejectUnauthorized:false,/g' ${_EXTENSIONFILEPATH}
else
    echo "Couldn't find the extension.js file for Copilot, please verify paths and try again or ignore if you don't have Copilot..."
fi
if [[ -f "$_DEVEXTENSIONFILEPATH" ]]; then
    echo "Found Copilot-Nightly Extension, applying 'rejectUnauthorized' patches to '$_DEVEXTENSIONFILEPATH'..."
    perl -pi -e 's/,rejectUnauthorized:[a-z]}(?!})/,rejectUnauthorized:false}/g' ${_DEVEXTENSIONFILEPATH}
    sed -i.bak 's/d={...l,/d={...l,rejectUnauthorized:false,/g' ${_DEVEXTENSIONFILEPATH}
else
    echo "Couldn't find the extension.js file for Copilot-Nightly, please verify paths and try again or ignore if you don't have Copilot-Nightly..."
fi

保存为类似于monkey-patch-copilot.sh的内容,然后是chmod +x monkey-patch-copilot.sh。然后,您应该能够运行:./monkey-patch-copilot.sh来应用修补程序。

注:,我不是原作者。这是在副驾驶反馈论坛上发现的。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71367058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档