簡體   English   中英

Subversion服務器SSL證書驗證失敗:和其他原因

[英]Subversion Server SSL certificate verification failed: and other reason(s)

我有一個SVN系統,工作得很好,最近升級后突然停止工作。 我的設置:

  • 我使用VisualSVN Server 2.7.4在Windows 2008服務器上托管了一個存儲庫。 服務器使我能夠隨意生成自簽名證書,根據需要輸入我自己的主機名或其他數據。

  • 我在托管計算機和運行Mac OS X 10.9.1(Mavericks)的我自己的MacBookPro上使用Eclipse(Kepler)進行java編碼。 我有Eclipse的subclipse附加組件,它需要使用java HL進行subversion。

  • 我已經安裝了macport和subclipse請求的最新subversion / javahl包。 Eclipse / subversion接口似乎工作正常,但是存在Eclipse無法正常導航的命令行subversion錯誤。 解決命令行錯誤是主要問題。

  • 我之前通過macports安裝了以下版本,事情似乎工作得很好:

    顛覆@ 1.8.5_1 +普遍
    subversion-javahlbindings @ 1.8.5_0 + no_bdb + universal

  • 作為安裝/故障排除不相關內容的一部分,我升級了所有安裝了以下新版本的macport:

    顛覆@ 1.8.8_0 +普遍
    subversion-javahlbindings @ 1.8.8_0 + no_bdb + universal

  • 升級后,svn通過我的mac上的eclipse失敗。 我可以通過臨時接受證書來強制它通過命令行。 它在Windows 2008服務器計算機上仍然可以正常運行。

在證書更改后第一次我得到永久接受的選項,但在這樣做之后,它失敗並回到第二次“臨時”對話。

 $ svn update Updating '.': Error validating server certificate for 'https://192.168.100.59:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: 571458-tools1 - Valid: from Feb 28 23:57:35 2014 GMT until Feb 26 23:57:35 2024 GMT - Issuer: - Fingerprint: 55:3E:55:FD:4D:40:A4:1E:8A:1E:27:71:DD:D4:ED:8B:A3:9A:1D:EC (R)eject, accept (t)emporarily or accept (p)ermanently? p Error validating server certificate for 'https://192.168.100.59:443': - The certificate has an unknown error. Certificate information: - Hostname: 571458-tools1 - Valid: from Feb 28 23:57:35 2014 GMT until Feb 26 23:57:35 2024 GMT - Issuer: - Fingerprint: 55:3E:55:FD:4D:40:A4:1E:8A:1E:27:71:DD:D4:ED:8B:A3:9A:1D:EC (R)eject or accept (t)emporarily? t (credentials dialogue) At revision 46. 
  • 在此之后,未來的嘗試仍然會導致錯誤並要求暫時接受:
 $ svn update Updating '.': Error validating server certificate for 'https://192.168.100.59:443': - The certificate hostname does not match. - The certificate has an unknown error. Certificate information: - Hostname: 571458-tools1 - Valid: from Feb 28 23:57:35 2014 GMT until Feb 26 23:57:35 2024 GMT - Issuer: - Fingerprint: 55:3E:55:FD:4D:40:A4:1E:8A:1E:27:71:DD:D4:ED:8B:A3:9A:1D:EC (R)eject or accept (t)emporarily? t At revision 46. 

多個Web搜索(包括此站點和其他站點)已將〜/ .subversion中的身份驗證文件指向可能是問題,但所有建議的解決方案(刪除,更改所有權和權限等)都無法解決問題。

具體問題:1。我無法弄清楚如何在macports中恢復到之前的subversion(1.8.5),看看我更新的1.8.8版本中是否存在錯誤。 2.假設1.8.8中沒有錯誤,我還有什么辦法可以對此進行故障排除並永久接受我的證書嗎?

編輯: - 通過將我的自簽名證書主機名更改為數字IP,我已經能夠擺脫“主機名”錯誤。 但是,所有其他症狀仍然存在,包括神秘的“證書有未知錯誤”。 - 我確信(盡管評論另有說明)1.8.8升級在Mac OS X上破壞了一些東西,我非常有興趣回滾版本以進一步排除故障。 但我想這是一個新問題......

多么奇怪,一天前確實有類似的問題。 無論如何,我可能錯了,但SVN在1.8.8的明顯安全級別比以前的版本更嚴格。 你強制接受哪些證書可能不再被新標准“接受”。 我錯了,但這無關緊要。

如果你看一下你提供的錯誤,你會看到:

證書主機名不匹配。

這是svn不會忽略的SSL錯誤,它意味着您連接的是不同於您指定的主機名。 問題是,雖然https://192.168.100.59:443可能引用與您的存儲庫服務器相同的URL,例如: https://foobar.com:443https://foobar.com:443https://foobar.com:443 SSL握手將失敗,因為主機名不匹配。

對於存儲庫URL的主機名與SVN服務器證書響應的主機名不匹配的任何情況,此問題仍然存在。

我暗示您通過VisualSVN證書生成工具使用自簽名證書。 要解決此問題,請重新生成新證書並確保主機名與您的真實主機名匹配 這應該可以解決你的問題。

請注意:您仍然會收到第一個對話框,警告您正在使用未經驗證/有效的證書,但您不應該獲得第二個對話框。 此外,確保客戶端和服務器SVN版本相同,不同的SVN版本會造成嚴重破壞。

編輯:

對不起,我向后看了錯誤,你的證書主機名顯然是571458-tools1 ,如果你想訪問它,應該是192.168.100.59 遵循上面相同的證書重新生成步驟,但使用主機名192.168.100.59而不是571458-tools1

請注意,這將允許SSL / TLS連接僅在直接使用內部IP時才起作用。

我能夠通過這個鏈接弄清楚如何恢復到subversion 1.8.5:

trac.macports.org/wiki/howto/InstallingOlderPort

恢復到1.8.5解決了問題。 我將直接與subversion開發人員一起進一步解決1.8.8的問題。

The certificate has an unknown error可能是證書鏈問題。 從Windows SVN 1.8.3升級到1.8.7后我遇到了這個問題。 您可以通過運行以下命令來查找: echo | openssl s_client -connect host:443 echo | openssl s_client -connect host:443

例如

Certificate chain
 0 s:/[redacted]/
   i:/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA
 1 s:/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G2
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority

這里的錯誤是1的主題與0的發行者不匹配。 修復服務器上的證書鏈。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM