[英]Unable to resolve "unable to get local issuer certificate" using git on Windows with self-signed certificate
[英]Visual Studio 2017 Enterprise + TFS 2018 + Git Clone = Unable to get local issuer certificate
我是與 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。
我安裝了證書(作為受信任的根證書頒發機構)並通過瀏覽器連接我看不到任何項目信息。 沒有瀏覽器會發出有關證書真實性的任何類型的警報。 然后,我使用 Windows 安全通道庫安裝了 Git-2.15.1.2-64-bit.exe。
我按照本指南配置 Git 客戶端,因為我遇到了標題致命錯誤。 所以基本上我提取了自簽名的內容並附加到 ca-bundle.crt 文件中。 他們都:
當我通過 Powershell 使用“git config --list --show-origin”命令時,我看到列出:file:"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.crt
如果我嘗試從 VS2017 團隊資源管理器面板克隆存儲庫,它會一直說:“ Git 失敗,出現致命錯誤。致命:無法訪問‘ https://tfs.blahblah/ ’:SSL 證書問題:無法獲得本地頒發者證書”
但是當我使用 Git GUI 時,它會回答一個不同的錯誤:致命:找不到遠程引用 HEAD據我所知,它看起來很合理,因為沒有附加提交。
但是如果我不能與 Visual Studio 2017“配對”,我就不能提交任何東西。
我通讀了幾個鏈接,但我無法通過。 因此,在將其標記為重復之前,我請您注意我的特定系統/環境要求。
注意:請不要建議我關閉 SSL,因為正如已經說過的,它不是公司/企業環境中的解決方案
這是我為解決問題所做的工作:
在團隊資源管理器的 Git 設置、全局設置中,有一個選項可以在 OpenSSL 和安全通道之間進行選擇。
從 Visual Studio 2017(版本 15.7 預覽版 3)開始,在 Git 全局設置中使用 SChannel 修復了我的問題。
在系統管理員支持兩天后,我得到了解決方案。 我把它貼在這里以防它可以幫助別人。 Visual Studio 2017 看起來不接受自簽名證書,因為錯誤狀態(“本地發行者等等”)。 它必須是本地 CA 才能批准它。 步驟是:
服務器:
客戶:
-----BEGIN CERTIFICATE-----publickey-----END CERTIFICATE-----
現在您應該能夠克隆存儲庫。
所以基本上關鍵是證書必須具有所有鏈授權,並且必須有一個。
您可以通過以下方式快速解決:
git config --global http.sslVerify false
參考: https : //confluence.atlassian.com/bitbucketserverkb/ssl-certificate-problem-unable-to-get-local-issuer-certificate-816521128.html
在瀏覽器中打開 tfs url,然后單擊地址欄中的鎖定圖標,然后將根證書導出為 Base 64 X.509 (.CER),然后將根證書附加到此處的證書文件中:“C:\\Program Files ( x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\Git\\mingw32\\ssl\\certs\\ca-bundle.crt"
我遇到了同樣的問題。 以下是對我有用的兩個步驟來解決問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.