Subversion 错误:svn:E120171:运行上下文出错:SSL 通信期间发生错误

Kus*_*was 3 debian ssl svn

我在结帐时收到此错误。

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
Run Code Online (Sandbox Code Playgroud)

$svn --version

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)
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。我正在全新安装 Debian 10。在 Debian 9 中它运行良好。提前致谢。

Mad*_*ent 6

您可能遇到此错误,因为 TLS 的最低版本默认高于 Subversion 服务器使用的版本。

如果您拥有服务器,您的选择是升级您的 Subversion 服务器的 TLS 版本,或者如果您付费,则更改您的 Subversion 存储库提供商。

如果这两个选项对您不可用(例如,您正在检查其他人的项目,或者您正在从事一项需要您从他们的服务器检查客户端的工作),那么您可以选择降级最低SSL 使用的 TLS 版本。您应该注意这会带来一些安全风险,因为 TLS 1.0 已有 20 年的历史,现在已被弃用。

考虑到该警告,您可以更改 SSL conf 文件。您可以通过键入来找到此文件在系统上的位置

openssl version -d
Run Code Online (Sandbox Code Playgroud)

您将需要正确的权限来编辑文件。

[我喜欢在编辑任何 conf 文件之前对其进行备份,以便您可以在必要时轻松回归]

添加到文件顶部:

openssl_conf = default_conf
Run Code Online (Sandbox Code Playgroud)

在文件末尾,添加以下内容:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1
Run Code Online (Sandbox Code Playgroud)

这就是说 TLS 1.0 版是可接受的最低版本。如果版本 1.1 可以接受,请将 TLSv1 更改为 TLSv1.1