在Cygwin上使用git获取时,你会得到:
Fetching origin
fatal: unable to access 'https://.../...git': SSL certificate problem: self signed certificate in certificate chain
error: Could not fetch origin
证书已添加到/etc/ssl/certs/ca-bundle.crt
和other bundle files,但在下一次Cygwin更新时,问题再次出现。
答案 0 :(得分:13)
git-remote-https
将为ca证书阅读以下文件:
/etc/ssl/certs/ca-bundle.crt
/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
如果您编辑这些文件,每次运行Cygwin设置并且ca-certificates包都有更新时,它们都会被覆盖。
正确/正确的解决方案是将证书添加到提货目录并运行提货脚本update-ca-trust:
curl -sL http://ca.pdinc.us > /etc/pki/ca-trust/source/anchors/ca.pdinc.us.pem \
&& update-ca-trust
ca-certificates软件包的安装后脚本将在每次升级时自动重新运行update-ca-trust脚本。有关更多信息:
man update-ca-trust
答案 1 :(得分:3)
简单说明:
只需复制具有企业受信任证书的文件(例如.crt文件),然后将其复制到目录“ / etc / pki / ca-trust / source / anchors /”中。
运行“ update-ca-trust提取”。这将生成各种文件以使一切正常工作。
您可以在目录中添加或删除文件,然后重新运行“ update-ca-trust提取”。
注意:如果您的组织是少数使用扩展的BEGIN TRUSTED文件格式(可能包含不信任/黑名单信任标志,或TLS以外用途的信任标志)的专用证书的组织之一,则在步骤1.基本上,将证书复制到目录“ / etc / pki / ca-trust / source /”。将它们复制到“常规”位置并在“常规”目录不起作用时稍后再移动它们没有什么害处。
有关更多详细信息,请运行“ man update-ca-trust”。