如何在cygwin(和一些linux发行版)上向git添加企业证书颁发机构(CA)
在Cygwin上使用git获取时,您会得到:如何在cygwin(和一些linux发行版)上向git添加企业证书颁发机构(CA),git,ssl,cygwin,certificate,ca,Git,Ssl,Cygwin,Certificate,Ca,在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和,但在下一次Cygwin更新时,问题再次出现。git re
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
和,但在下一次Cygwin更新时,问题再次出现。git remote https
将读取以下ca证书文件:
/etc/ssl/certs/ca-bundle.crt
/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
如果编辑这些文件,则每次运行Cygwin安装程序并更新包时,这些文件都将被覆盖
正确/正确的解决方案是将证书添加到拾取目录并运行拾取脚本,更新ca信任:
curl -sL http://ca.pdinc.us > /etc/pki/ca-trust/source/anchors/ca.pdinc.us.pem \
&& update-ca-trust
ca证书包的安装后脚本将在每次升级时自动重新运行更新ca信任脚本。有关更多信息:
man update-ca-trust
更简单的说明:
.crt
文件)复制文件,并将其复制到目录/etc/pki/ca-trust/source/anchors/
更新ca信任提取
。这将生成各种文件,使一切正常工作update ca trust extract
注意:如果您的组织是少数使用扩展开始受信任
文件格式(可能包含不信任/黑名单信任标志,或TLS以外的用途的信任标志)的组织之一,则步骤1中会有轻微更改。基本上,将证书复制到目录/etc/pki/ca trust/source/
。将它们复制到“常用”位置并在“常用”目录不起作用的情况下稍后移动它们并没有什么害处
有关更多详细信息,请运行
man update ca trust
命令curl-sL
应该做什么?它是http URL,因此显然无法从上下文中获得预期的证书链。在当前版本中,git remote https
从/mingw64/ssl/certs/ca bundle.crt
读取证书,因为这是在/c/programmadata/git/config
中配置的。/mingw64/bin/update ca-trust
和/usr/bin/update ca-trust
都不更新该文件,因此脚本没有用处。截至今天的更新,我还没有找到哪一个是正确的。@JanHudec,自2014年以来,情况似乎并非如此。您使用的是什么git-version(git version 2.8.3)和uname-a(CYGWIN_NT-6.1-WOW black7 2.6.1(0.305/5/3)2016-12-16 11:50 i686 CYGWIN?git version 2.11.0.windows.3
,MINGW64_NT-6.1 ntb1005941 2.6.1(0.306/5/3)2017-01-14 09:41 x86\u 64 Msys
。好啊我没有意识到你实际上使用的是cygwin版本的git,我一直使用cygwin的原生版本,因为我需要原生应用程序来使用它。注意,由于msys2是cygwin的一个分支,所以两者都有脚本。实际上,msys2有三个副本,一个用于msys,一个用于mingw32,一个用于mingw64。无论如何,git安装都不会使用它。如果运行git\u CURL\u VERBOSE=true git clone,那么该git不是Cygwin githttps://google.com
并查找CAfile
或CApath
我的linux上没有此路径/etc/pki/ca trust/source/anchors/