Ошибка Subversion: svn: E120171: Ошибка при запуске контекста: Произошла ошибка во время SSL-соединения

Ошибка Subversion: svn: E120171: Ошибка при запуске контекста: Произошла ошибка во время SSL-соединения

При оформлении заказа я получаю эту ошибку.

svn: E170013: Unable to connect to a repository at URL 'https://some.host/some/repo/'
svn: E120171: Error running context: An error occurred during SSL communication

$svn --версия

svn, version 1.10.4 (r1850624)
   compiled Jul 28 2019, 02:44:06 on x86_64-pc-linux-gnu

Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Plaintext cache in /home/kusan/.subversion
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

Помогите решить эту проблему. У меня новая установка Debian 10. В Debian 9 все работало нормально. Заранее спасибо.

решение1

Вы могли столкнуться с этой ошибкой, поскольку минимальная версия TLS по умолчанию выше той, которая используется сервером Subversion.

Вы можете обновить версию TLS вашего сервера Subversion, если сервер принадлежит вам, или сменить поставщика репозитория Subversion, если вы платите за него.

Если эти два варианта вам недоступны (например, вы проверяете чужой проект или работаете над заданием, которое требует проверки клиента с его сервера), то вы можете выбрать понижение минимальной версии TLS, которую использует SSL. Следует отметить, что это несет в себе определенный риск безопасности, поскольку TLS 1.0 уже 20 лет и в настоящее время считается устаревшим.

Имея это предупреждение в виду, вы можете изменить ваш файл SSL conf. Вы можете узнать, где этот файл находится в вашей системе, введя

openssl version -d

Для редактирования файла вам понадобятся соответствующие разрешения.

[Я предпочитаю делать резервную копию любого файла конфигурации перед его редактированием, чтобы при необходимости можно было легко откатиться назад]

Добавьте в начало файла:

openssl_conf = default_conf

В конце файла добавьте следующее:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1

Это означает, что версия TLS 1.0 является минимально приемлемой. Если версия 1.1 приемлема, измените TLSv1 на TLSv1.1

решение2

Скопируйте ваш openssl.conf в:

/home/username/openssl.conf

Измените это:

# MinProtocol = TLSv1.1
MinProtocol = TLSv1

Затем:

export OPENSSL_CONF=/home/username/openssl.cnf
svn ls https://subversion/svn/path

решение3

Я сделал смесь двух предыдущих решений, и она работает отлично.

  1. скопируйте файл /usr/lib/ssl/openssl.cnf (в моем случае это .cnf) в свой домашний каталог
  2. . измените файл, как указано Мадлен в первом ответе
  3. экспорт OPENSSL_CONF=~/openssl.cnf

Большое спасибо вам обоим :)

решение4

У меня была похожая проблема в Windows на работе, при использовании git svn cloneкоманды с несколько загадочной ошибкой:

Ошибка запуска контекста...

Я вернулся к версии git 2.28.0 (с версии 2.41.0), и подключение к старому серверу SVN прошло успешно.

Связанный контент