Estou recebendo esse erro durante o check-out.
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 --versão
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)
Por favor, me ajude a resolver esse problema. Estou em uma nova instalação do Debian 10. No Debian 9 funcionou bem. Desde já, obrigado.
Responder1
Você pode ter encontrado esse erro porque o padrão da versão mínima do TLS é superior ao usado pelo servidor Subversion.
Suas opções são atualizar a versão do TLS do servidor Subversion se você possuir o servidor ou alterar o provedor do repositório Subversion se você pagar por um.
Se essas duas opções não estiverem disponíveis para você (por exemplo, você está fazendo check-out do projeto de outra pessoa ou trabalhando em um trabalho que exige que você faça check-out de um cliente no servidor dele), então você pode optar por fazer o downgrade do mínimo versão do TLS que o SSL usa. Você deve observar que isso acarreta alguns riscos de segurança, já que o TLS 1.0 tem 20 anos e agora está obsoleto.
Com esse aviso em mente, você pode alterar seu arquivo SSL conf. Você pode descobrir onde este arquivo está localizado em seu sistema digitando
openssl version -d
Você precisará das permissões corretas para editar o arquivo.
[Gosto de fazer backup de qualquer arquivo conf antes de editá-lo para que você possa regressar facilmente, se necessário]
Adicione ao topo do arquivo:
openssl_conf = default_conf
No final do arquivo, adicione o seguinte:
[ default_conf ]
ssl_conf = ssl_sect
[ssl_sect]
system_default = ssl_default_sect
[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1
Isso quer dizer que a versão 1.0 do TLS é o mínimo aceitável. Se a versão 1.1 for aceitável, altere TLSv1 para TLSv1.1
Responder2
Copie seu openssl.conf para:
/home/username/openssl.conf
Altere isso:
# MinProtocol = TLSv1.1
MinProtocol = TLSv1
Então:
export OPENSSL_CONF=/home/username/openssl.cnf
svn ls https://subversion/svn/path
Responder3
Fiz uma mistura das duas soluções anteriores e funcionou perfeitamente.
- copie o arquivo /usr/lib/ssl/openssl.cnf (no meu caso é .cnf) para minha casa
- . modifique o arquivo conforme indicado por Madeleine na primeira resposta
- exportar OPENSSL_CONF=~/openssl.cnf
Muito obrigado a ambos :)
Responder4
Tive um problema semelhante no Windows no trabalho, usando um git svn clone
comando, com um erro um tanto enigmático:
Erro ao executar o contexto...
Reverti para a versão 2.28.0 do git (da versão 2.41.0) e a conexão com o antigo servidor SVN foi bem-sucedida.