Ошибка «Использование ключа в сертификате» с Subversion, VisualSVN Server - PullRequest
4 голосов
/ 08 февраля 2012

Я использую Eclipse (Indigo) с Subclipse 3.6 в Ubuntu 11.10.

Я подключился к svn с помощью subclipse на других машинах без проблем, но с моей недавно обновленной машиной Ubuntu (с 11.04 по 11.10) она не будет работать.

когда я пытаюсь подключиться к своему частному серверу SVN (VisualSVN Server в 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

Итак, погуглил и нашел это решение: 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 и symbolic link, он портит мои настройки 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, но все еще не могу преодолеть ошибку сертификата использования ключа. Есть идеи ??

Ответы [ 2 ]

4 голосов
/ 08 февраля 2012

Во время начальной настройки VisualSVN Server 2.5 создает самозаверяющий сертификат и добавляет его в хранилище доверенных корневых центров сертификации на локальном компьютере.Чтобы избежать возможных проблем безопасности, VisualSVN Server делает этот самозаверяющий сертификат действительным только для проверки подлинности сервера (путем указания расширения «Использование ключа»).

Клиенты Subversion, созданные на основе GnuTLS, не распознают такой сертификат ивозникает ошибка.

Возможные обходные пути:

  1. Подпись сертификата с использованием доверенного центра сертификации (рекомендуется)
  2. Использование обходного пути сервера VisualSVN для создания сертификата без указания «Использование ключа»расширение.Для получения подробных инструкций см. KB56 .
  3. Сконфигурируйте eclipse для использования Neon с OpenSSL вместо GnuTLS
1 голос
/ 30 мая 2012

В качестве альтернативы вы можете добавить

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

к вашему .bashrc, поэтому изменение libneon повлияет только на команду svn, а не на другие пакеты.Также будьте осторожны, что решение, упомянутое в вашей ссылке, сломается под Ubuntu 12.04 LTS.Для этого вам необходимо выполнить следующие шаги:

  1. Удалить текущий пакет libneon:

    sudo apt-get remove libneon27
    
  2. Загрузить последнюю версию пакета libneon с http://packages.debian.org/squeeze/libneon27 (внизу вы можете выбрать правильную версию для вашей архитектуры).

  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

...