2012-02-08 48 views
4

私はEclipse(Indigo)をUbuntu 11.10のsubclipse 3.6で使用しています。Subversion、VisualSVN Serverの「Key usage violation in certificate」エラー

私はsvnと他のマシンで問題なく接続していますが、私の最近アップグレードされたubuntuマシン(11.04から11.10へ)では動作しません。

私は私のプライベートのsvnサーバー(Windowsの場合VisualSVNサーバー)に接続しようとすると、私は次のエラーを取得する:だから

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

+0

http://www.gnutls.org/faq.html#key-usage-violation – Nikos

答えて

4

初期セットアップ中にVisualSVN Server 2.5が自己署名証明書を生成し、それをローカルマシンの信頼されたルート証明機関ストアに追加します。セキュリティ上の問題を避けるために、VisualSVNサーバーは、この自己署名証明書を(「キー使用法」拡張子を指定することによって)サーバー認証にのみ有効にします。

GnuTLSに対して構築されたSubversionクライアントは、そのような証明書を認識せず、エラーが発生します。

回避策:

  1. 'キー使用法' の拡張子を指定せずにcerificateを生成するために、信頼できる認証局(推奨)
  2. 使用VisualSVN Serverの回避策を使用してログイン証明書。詳細な手順については、KB56を参照してください。
  3. 設定は、あなたがこれだけsvnコマンドはlibneonの変更によって影響を受けるだろう、あなたの.bashrc

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

    を追加することができますOpenSSLの代わりにGNUTLSまた

+0

良いサマリー、その個人的なsvnなので、私は証明書に署名するのは気にしたくありません。すぐに私はVisual SVN 2.5.3まで待つつもりだと思います。 – Boccobrock

+0

@Boccobrock KB記事へのリンクで私の答えを更新しました。 –

1

とネオンを使用するために日食ではなく、他のパッケージ。あなたのリンクに記載されている解決策が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. あなた.bashrc、および再ログインに

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

    を追加します。

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