当前位置: 首页 > 知识库问答 >
问题:

如何配置Git以信任来自Windows证书存储库的证书?

狄新立
2023-03-14

目前,我在我的用户目录中的. gitconfig中有以下条目。

...
[http]
    sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...

这将设置与git服务器交互时使用的证书(我公司的git服务器需要)。

但现在我无法克隆其他存储库(例如GitHub上的公共存储库),因为客户端总是使用配置好的证书,而该证书会被其他服务器拒绝。

我如何规避此认证问题?我可以将Git配置为使用Windows证书存储进行身份验证吗?

共有2个答案

王季萌
2023-03-14

使用:

git config  --local ...

指定每个存储库设置。本地设置存储在. git目录中。

git可以存储设置的三个位置的概述:

  • -本地:存储库特定,

更具体的覆盖更一般的设置,即本地覆盖全局和系统。

向修谨
2023-03-14

从Git for Windows 2.14开始,您现在可以将Git配置为使用内置的Windows网络层SChannel。这意味着它将使用Windows证书存储机制,您不需要显式配置curl CA存储机制。

从Git for Windows 2.14发行说明:

现在可以通过将http.sslBackend配置变量设置为"openssl""schannel"在Git的HTTPS传输的安全通道和OpenSSL之间切换;这也是安装程序(而不是复制libcurl-4.dll文件)。

您可以在安装Git for Windows 2.14时选择新的SChannel机制。您还可以通过运行以下命令更新现有安装以使用SChannel:

git config --global http.sslBackend schannel

一旦您配置了这个,Git将使用Windows证书存储,并且不需要(事实上,应该忽略)CAInfo配置设置http.ssl。

 类似资料:
  • 我在Firebase中托管了一个Angular PWA,并且我有一个我正在尝试与之通信的Spring Boot服务(目前在本地运行)。 Firebase出于善意,自动为托管应用程序创建SSL证书,因此它是安全的,并且只能通过HTTPS访问。 我无法解决的是如何设置我的Spring boot服务来接受/信任/允许这些连接,以便PWA可以进行基本的REST调用,例如(我甚至需要这样做吗?)。 我的第一

  • 我有一个纯Java的应用程序,目前使用基于. jks的密钥和信任存储。据我所知,Bluemix下的SSL协议处理是在网络端使用单个端口和用于主机和域标识的通配符证书完成的。我关心的是信任存储的使用,在那里我用来添加可信伙伴节点的证书,例如身份提供者。是否有高级上传工具可以帮助安装受信任的证书?有了这些功能,Java可以将其功能限制在非常基本的HTTP实现上,并由云及其在动态端口上发生的HTTP到H

  • 我遇到了一个奇怪的问题——供应商使用TLS SSLv3,同时使用自签名客户端和服务器证书。Java1.5和Java1.6没有这个问题——只需将客户端证书和私钥导入密钥库,将服务器公共证书导入信任库。一切都很好。然而,在Java7中,服务器证书无法被信任,即使使用的是同一个信任库。我尝试过使用Java7 (1.7.03, 04和05、x86和x64版本)的视窗和红帽,但没有成功。 我从头开始重新创建

  • 我想写一些可以枚举和使用(签名)证书在货币用户/我和LocalMachine/我,但我还没有能够找到任何Windows证书存储,只有Java自己的秘密存储。这个链接看起来很有希望,但我只能使用Java。 我以前在SO上发现过这个问题,但这是五年前的问题,在计算机时代是很长的时间了。谢谢!

  • 我想通过SSL连接到我的服务器。因此,我使用以下命令在服务器上生成证书: 如果我使用如下所示的TrustManager信任客户端上的所有证书,则连接可以正常工作: 但我当然不想相信所有的证书,而只相信我的证书。我尝试了以下几个命令来导入证书: 我要怎么做才能让它正常工作?有人能解释一下对一个不是很熟悉cryto领域的人所必需的步骤吗? 编辑:正如Donal Fellows所建议的那样,我尝试了自定

  • 在证书链验证期间,我需要将自定义的自签名根证书标记为受信任的,总的来说,我希望尽可能依赖系统API。 我创建了一个临时内存存储。 然后我将自定义根证书放入存储中。 CertGet证书链MSDN留档表示 HadAdditional存储任何附加存储的句柄,以搜索支持证书和证书信任列表(CTL)。 据我所知,如果我用根证书创建一个CTL并将其放置到存储中,CertGet证书链将信任它。因此,我在分配的缓