VS2017 Git SSL 憑證無效問題

少數人會遇到的冷門問題,使用 Visual Studio 連上 Github 或自有 Git 伺服器時發生 SSL 憑證錯誤:

Git failed with a fatal error. unable to access '…': SSL certificate problem: unable to get local issuer certificate

可能原因有二:

  1. 網站連線時 SSL 憑證遭網管設備置換,Windows 已設定信任網管設備的 CA 根憑證,但 Git 因屬不同體系,拒絕承認置換憑證有效性
  2. 私有 Git 伺服器使用自己簽發的 SSL 憑證,其根憑證未被信任

針對這類情況,解決方法也有二種,第一種是停用憑證檢查(省事但不安全)、第二種則是讓 VS2007 Git 信任該憑證。

方法1 編輯 c:\Users\你的帳號\.gitconfig,加入

[http]
    sslVerify = false

如此 Git 工具將一律忽略憑證無效的問題,風險是萬一網路被惡意人士攔截竊聽,你也不會發現。

方法2 指定 Git 信任特定憑證

先將要信任的 CA 憑證匯出成 CER,格式請選「Base-64 編碼 X.509」

匯出的 CER 檔是個文字檔,格式為 -----BEGIN CERTIFICATE----- 與 -----END CERTIFICATE----- 間夾著一段 Base64 編碼碼。

找到 C:\Program Files\Git\usr\ssl\certs\ca-bundle.crt,將它複製到 c:\Users\你的帳號 目錄下,將 CER 裡的文字加在最後面:

最後,修改 c:\Users\你的帳號\.gitconfig,加上 sslCAInfo 指向我們修改過的 ca-bundle.crt。

大功告成!

【延伸閱讀】

歡迎推文分享:
Published 24 June 2017 10:36 AM 由 Jeffrey
Filed under:
Views: 2,606



意見

沒有意見

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<June 2017>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication