2012-02-08 66 views
4

我在Ubuntu 11.10中使用Eclipse(Indigo)和subclipse 3.6。「證書中的密鑰使用違規」錯誤與Subversion,VisualSVN服務器

我已經連接到svn與其他機器上的subclipse沒有問題,但與我最近升級的Ubuntu機器(從11.04到11.10),它不會工作。

,當我嘗試連接到我的私人SVN服務器(VisualSVN服務器在Windows),我收到以下錯誤:

RA layer request failed 
svn: OPTIONS of 'https://76.27.122.123/svn/brock': 
SSL handshake failed: SSL error: Key usage violation in certificate has been detected. (https://76.27.122.123) 
Key usage violation in certificate 

因此,GOOGLE了它,並發現此解決方案:http://andrewbrobinson.com/2011/11/01/fixing-ssl-handshake-failed-ssl-error-key-usage-violation-in-certificate-has-been-detected-error-on-svn-checkout/

哪基本上說,因爲霓虹燈現在使用GnuTls,並且它嚴格並且拒絕我的無效證書(就像我說它是一個私人svn,因此它是不可信的)。 但是,當我做MV和符號鏈接的命令,它就會打亂了我的JavaHL安裝,並給了我這個錯誤:

Failed to load JavaHL Library. 
These are the errors that were encountered: 
no libsvnjavahl-1 in java.library.path ... 

我解開了mv命令現在JavaHL是繼我發現這裏的指令後工作http://subclipse.tigris.org/wiki/JavaHL#head-5ccce53a67ca6c3965de863ae91e2642eab537de但仍無法通過密鑰使用證書錯誤。有任何想法嗎??

+0

見http://www.visualsvn.com/support/topic/00056/。 – bahrep 2012-10-11 10:29:21

+0

http://www.gnutls.org/faq.html#key-usage-violation – Nikos 2015-08-13 09:18:16

回答

4

在初始設置過程中,VisualSVN Server 2.5生成自簽名證書並將其添加到本地計算機上的受信任根證書頒發機構存儲中。爲了避免可能出現的安全問題,VisualSVN Server使這個自簽名證書僅對服務器身份驗證有效(通過指定「密鑰使用」擴展名)。

針對GnuTLS構建的Subversion客戶端無法識別此類證書併發生錯誤。

可能的解決方法:使用受信任的證書頒發機構(推薦)

  • 使用VisualSVN服務器解決方法,以產生一個cerificate不指定「密鑰用法」擴展

    1. 註冊證書。有關詳細說明,請參閱KB56
    2. 配置Eclipse使用霓虹燈使用OpenSSL代替的GnuTLS
  • +0

    很好的總結,它只是一個個人svn,所以我不想打擾簽署證書,因爲它並不是必需的馬上我想我會等到Visual SVN 2.5.3再搞亂Neon更多..謝謝! – Boccobrock 2012-02-10 00:05:33

    +0

    @Boccobrock我已經更新了我的答案,並鏈接到知識庫文章。 – 2012-02-24 08:19:34

    1

    或者您可以添加

    alias svn='LD_PRELOAD=/usr/lib/libneon.so.27 svn' 
    

    .bashrc,所以纔有了svn命令將由libneon變化的影響,而不是其他包。另外請注意,鏈接中提到的解決方案將在Ubuntu 12.04 LTS下破解。對於您必須使用以下步驟:

    1. 卸載當前libneon包:

      sudo apt-get remove libneon27 
      
    2. http://packages.debian.org/squeeze/libneon27下載最新libneon包(在底部,你可以選擇你的架構正確的版本)。

    3. 安裝必需的libssl依賴性:

      sudo apt-get install libssl0.9.8 
      
    4. 安裝下載libneon包。例如。對於64位架構:

      dpkg -i libneon27_0.29.3-3_amd64.deb 
      
    5. 添加

      alias svn='LD_PRELOAD=/usr/lib/libneon.so.27 svn' 
      

      .bashrc,並重新登錄。

    來源:http://www.yeap.de/blog2.0/archives/260-Subversion-Certificate-Problems-with-Ubuntu-Precise-Pangolin.html