[英]Server certificate verification failed
當我在命令行中執行svn時:
command: svn commit path -m "Uploaded By User" --username username
--password password --non-interactive --trust-server-cert --quiet 2>&1
這會導致錯誤:
數組([0] => svn:提交失敗(詳情如下):[1] => svn:'svn url'的選項:服務器證書驗證失敗:證書已過期,頒發者不受信任(svn url:8443))
您是否在沒有--trust-server-cert
選項的情況下嘗試:它會要求您接受/拒絕證書。 --trust-server-cert
選項僅在svn 1.6之后可用
我通過控制台修復:
rm ~/.subversion/auth/svn.ssl.server/*
Tortoise SVN解決方案:
我剛剛遇到這種情況,今天在Windows 7上運行嘗試使用git bash中的svn。 我試圖點擊服務器的任何命令都會得到相同的“服務器證書驗證失敗:證書已過期,頒發者不受信任”。 通常,只是繼續嘗試命中服務器將導致svn然后詢問您是否信任服務器。 如果你說是,那么一切都很順利。
但是,這次,這一切都沒有奏效。 我終於注意到我使用的svn是Tortoise SVN安裝的一部分。 所以我拉起文件資源管理器,嘗試通過Tortoise控件更新我的目錄。
烏龜完美地處理了一切。 我有一個窗口詢問我是否信任服務器。 我永遠說是的。 然后它問我的用戶名和密碼。 在我給出之后,Tortoise更新了文件夾,當我嘗試通過命令行與服務器交互時,這也很好。
結論:如果您使用命令行svn作為Tortoise軟件包的一部分在Windows上,請嘗試直接通過Tortoise控件進行更新。
這恰好發生在我本地使用PhpStorm IDE和我的服務器上的自簽名證書,它今天開始報告“錯誤:服務器SSL證書被拒絕”(它已經過期),我通過去終端修復它並做“ svn update“回復:
Error validating server certificate for 'https://example.com:443':
- The certificate is not issued by a trusted authority.
Use the fingerprint to validate the certificate manually!
- The certificate hostname does not match.
- The certificate has expired.
Certificate information:
- Hostname: *.example.com
- Valid: from Jun 6 13:18:35 2010 GMT until Jun 5 13:18:35 2015 GMT
- Issuer: (jonny@example.com)
- Fingerprint: **:**:**:**:**:**:**:**:**:**:**:**:**:etc
(R)eject, accept (t)emporarily or accept (p)ermanently?
回復“p”更新了我的可信證書,一切都很好。
但是,如果你確實信任服務器,那么只能使用它!
希望能幫助別人!
我遇到了這個問題,但是對於Netbeans 8.1問題,我有一個舊的cvsdude存儲庫URL,現在是cloudforge。 所以我所要做的就是進入團隊/工作副本/重新定位並將舊網址更改為新網址並解決我的問題。
您正在使用與Web服務器的SSL連接(即:您的存儲庫路徑以https://開頭),並且該服務器上安裝的certifiacte已過期。
您需要聯系服務器的管理員以更新證書(如果符合您的安全要求,則使用非SSL簽出)。
--trust-server-cert
的含義已更改,現在指定了等效行為,如下所示:
svn checkout https://your.repository.url/ --non-interactive --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other" --username=blah --password=blah
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.