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

Visual Studio 2017 Enterprise TFS 2018 Git Clone=无法获取本地颁发者证书

萧展鹏
2023-03-14

我是与Git交互的新手,我试图将其与TFS架构体系相结合,但遇到了SSL身份验证问题。没有Github,没有VSTS。TFS是本地的,因此是本地安装的。

服务器部件:

我已在Windows Server 2016上安装了TFS 2018,并创建了一个公司自签名证书,并在该证书上绑定TFS web服务(IIS管理器)。

TFS配置为仅通过HTTPS运行。HTTP被重定向到HTTPS。我已经设置了一个新的项目与Git作为版本控制系统

客户部分:

我有两种Windows客户端。Windows 7 SP1和10周年更新,都是Visual Studio 2017 Enterprise版。

我安装了证书(作为可信根认证机构),并通过浏览器连接,我没有任何看到项目信息。没有浏览器会发出任何关于certicate真实性的警报。然后,我安装了Git-2.15.1.2-64-bit.exe,使用Windows安全通道库。

我按照这个指南来配置Git客户端,因为我遇到了一个致命的错误。所以基本上我提取了自签名的内容并附加到ca包中。crt文件。所有这些:

  • C:/ProgramFiles/Git/mingw64/ssl/certs/

当我通过Powershell使用“git config--list--show origin”命令时,我看到列出的:文件:“C:\Program Files\git\mingw64/etc/gifconfig”http。sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca bundle。crt文件:“C:/users/myname/.gifconfig”http。sslcainfo=C:/users/myname/ca bundle。阴极射线管

如果我尝试从VS2017团队资源管理器面板克隆存储库,它会一直说:“Git失败,出现致命错误。致命:无法访问”https://tfs.blahblah/“:SSL证书问题:无法获取本地颁发者证书”

但是当我使用Git GUI时,它回答了一个不同的错误:致命的:找不到远程参考头据我所知,它看起来很合理,因为没有提交。

但是如果我不能与Visual Studio 2017“配对”,我就不能提交任何东西。

我读了好几个链接,但还是读不懂。因此,在将其标记为复制之前,请注意我的具体系统/环境要求。

注意:请不要建议我关闭SSL,因为如前所述,它不是公司/企业环境中的解决方案

共有3个答案

戚翼
2023-03-14

您可以通过以下方式快速解决问题:

git config --global http.sslVerify false

参考:https://confluence.atlassian.com/bitbucketserverkb/ssl-certificate-problem-unable-to-get-local-issuer-certificate-816521128.html

习斌
2023-03-14

经过两天的html" target="_blank">系统管理员支持,我得到了解决方案。我把它贴在这里,以防对别人有所帮助。Visual Studio 2017似乎不接受自签名证书,如错误所述(“本地颁发者诸如此类”)。必须由当地CA批准。步骤是:

服务器:

  1. 在TFS机器上安装Company/Trusted CA作为受信任的权威根
  2. 为TFS准备证书,并使其从公司/可信CA派生。
  3. 将其安装为TFS机器中的可信权限根
  4. 配置TFS-IIS绑定,使TFS证书成为HTTPS连接的强制证书

客户:

  1. 在客户端计算机上安装CA证书作为受信任的授权根目录(使用Windows 7和10进行了尝试)

现在您应该可以克隆存储库了。

所以基本上关键是证书必须具有全链权限,并且必须有一个。

段干宜
2023-03-14

下面是我为解决问题所做的:

在团队资源管理器中的Git设置(全局设置)中,有一个选项可以在OpenSSL和安全通道之间进行选择。

从Visual Studio 2017(版本15.7预览版3)开始,在Git Global设置中使用SChannel修复了我的问题。

 类似资料:
  • 我已经在Windows Apache服务器上安装了Mandrill PHP API。当试图发送电子邮件使用下面的代码我得到的错误: Mandrill_HttpError-对消息/发送模板的API调用失败:SSL证书问题:无法获取本地颁发者证书 我不清楚Mandrill如何连接到我的本地颁发者证书。我的web服务器确实具有有效的证书,并且可以成功显示HTTPS页面。 有什么想法吗?

  • 我有一个简单的链设置,在这种情况下可以成功验证: 然而,在这些情况下,我会遇到错误: 特别是无法获得颁发者证书。 不知道该怎么做。 在这里他们说: OpenSSL无法为颁发者(或TLS握手期间从web服务器接收的链中第一个证书的颁发者)找到用于验证签名的本地证书。 此问题通常由日志消息表示,例如“无法获得本地颁发者证书”或“自签名证书”。当一个证书被验证时,它的根CA必须被OpenSSL“信任”,

  • 我已经在stackoverflow上尝试了很多解决这个问题的方法,不幸的是,到目前为止,没有任何方法对我有效。 它始于作曲家安装。我的env详细信息如下所示: > 操作系统:Windows 7 PHP V 7.1.10,XAMPP版本 我正在运行MINGW64(它是与git v2.1.5一起安装的) 卷曲--版本 curl 7.56.1(x86_64-w64-mingw32)libcurl/7.5

  • 我正在Windows服务器2016上的wamp上使用洋红色社区版2.2。每当我尝试登录以通过系统同步您的Magento市场购买时 “SSL 证书问题:无法获取本地颁发者证书” 我尝试了这个论坛中其他一些线程中提供的解决方案来下载cacert。pem并在php.ini中执行以下设置 curl . cainfo = " C:\ wamp 64 \ bin \ PHP \ PHP 7 . 1 . 9 \

  • 我正在Windows7上运行PHP版本5.6.3作为XAMPP的一部分。 当我尝试使用Mandrill API时,我得到以下错误: 未捕获异常“Mandrill_HttpError”,消息为“API调用消息/send-template失败:SSL证书问题:无法获取本地颁发者证书” 我已经尝试了在StackOverflow上读到的所有内容,包括向php.ini文件添加以下内容: 当然可以从http:

  • 问题内容: 我正在Windows 7上将PHP版本5.6.3作为XAMPP的一部分运行。 当我尝试使用Mandrill API时,出现以下错误: 消息“ API调用消息/发送模板失败”的未捕获异常“ Mandrill_HttpError”:SSL证书问题:无法获取本地颁发者证书 我已经尝试了我在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中: 当然,还可以从h

  • 执行npm安装时,我收到一个“无法获取本地颁发者证书”错误: 我最近从一个更早的版本更新到了node 4,当出现此类问题时,听起来node要严格得多。 这里讨论了一个关于使用ca文件的问题,但这有点超出我的理解,我不确定该怎么办。 我在公司防火墙后面,但我可以在浏览器中不受任何限制地访问网址。 有人对这个问题有进一步的了解吗?有什么可能的解决方案? 我想知道同时恢复到节点0.12:(

  • 问题内容: 我在本地开发环境上使用WAMP,并尝试从信用卡中扣款,但收到错误消息: cURL错误60:SSL证书问题:无法获取本地颁发者证书 我在Google上进行了很多搜索,很多人建议我下载此文件:cacert.pem,将其放在某个位置,然后在php.ini中引用它。这是我的php.ini中的部分: 但是,即使多次重新启动服务器并更改了路径后,我仍然收到相同的错误消息。 我使用来自Apache模