Por que estou recebendo o "Alerta fatal recebido: versão_protocolo" ou "ponto não autenticado" do Maven Central?

132

Estou recebendo os erros abaixo ao me conectar ao Maven Central / https://repo1.maven.org após 18 de junho de 2018.

Received fatal alert: protocol_version

ou

Received fatal alert: peer not authenticated
Brian Fox
fonte
2
Teste impressionante que você fez lá para o futuro.
Thor Hovden

Respostas:

188

Solução 1: configurar o Java 7

É necessário ativar o protocolo TLS 1.2 com propriedade Java na linha de comandos

mvn -Dhttps.protocols=TLSv1.2 install

install é apenas um exemplo de objetivo

O mesmo erro para antpode ser resolvido desta maneira

java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher

Solução 2: use Java 7 com suporte avançado Oracle

Também o problema pode ser resolvido atualizando a versão do Java 7. Mas a última versão disponível ( 7u80) não resolve o problema. É necessário usar uma atualização fornecida com o Oracle Advanced Support (anteriormente conhecido como Java for Business).

Solução 3: use o Java 8

Configure $JAVA_HOMEpara apontar para o Java 8.

v.ladynev
fonte
Você salvou um dia aqui!
Herve Mutombo
Você pode me dizer por favor qual é o equivalente no SBT que eu tentei, sbt -Dhttps.protocols=TLSv1.2 instalmas ele não funciona?
G.Saleh
@ G.Saleh Você precisa passar por este parâmetro para java -Dhttps.protocols=TLSv1.2. Então, você precisa descobrir como passar parâmetros java no SBT.
v.ladynev 6/07
67

Em junho de 2018, em um esforço para aumentar a segurança e cumprir os padrões modernos, os protocolos TLS 1.0 e 1.1 inseguros não serão mais suportados para conexões SSL com a Central. Isso deve afetar apenas os usuários do Java 6 (e Java 7) que também usam https para acessar a central, que por nossas métricas é inferior a 0,2% dos usuários.

Para obter mais detalhes e soluções alternativas, consulte o blog e as perguntas frequentes aqui: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central

Brian Fox
fonte
O link no artigo blog.sonatype.com está lançando 404. É porque eles atualizaram o link para central.sonatype.org/articles/2018/May/04/… .
Blueboye
50

O comando a seguir me ajudou (executando no bash antes de executar o mvn)

export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Simon_Prewo_Frankfurt
fonte
3
No Windows, defina MAVEN_OPTS = -Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Lele
depois de definir isso, todo o download http está funcionando para mim. no entanto, https tem problema como abaixo Falha ao coletar dependências em org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: falha ao ler o artefato descritor para org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Não foi possível transferir o artefato org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 de / para cloudera ( repository.cloudera. com / artifactory / cloudera-repos ): Recebido alerta fatal: handshake_failure any help
Karn_way
1
Funciona como um encanto! Obrigado! (Tentei no CentOS)
DarSta
Isso é seguro?
Ganesh Satpute em 11/04
Obrigado! Isso deu certo para mim!
Ben Ligue para
17

Como disse @ v.ladynev, ele funciona com o JDK 1.7

Com o Eclipse, para poder executar um "Executar como" maven install com o parâmetro de linha de comando TLS, basta configurar o JDK que você está usando.

Abra o diálogo em Janela > Preferências > Java > JREs Instalados .

Em seguida, destaque o que você está usando (deve ser um JDK , não um JRE ), clique em Editar . No campo "Argumentos padrão da VM", preencha o valor -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Como mostrado abaixo:

insira a descrição da imagem aqui

Limpe o projeto (talvez opcional) e execute novamente a maven install.

Amessihel
fonte
Estou recebendo este Falha ao coletar dependências em org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: falha ao ler o descritor de artefato para org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Não foi possível transferir o artefato org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 de / para cloudera ( repository.cloudera.com/ artifactory / cloudera-repos ): Alerta fatal recebido: handshake_failure parece que o download de https tem problema. por favor me ajude Eu estou usando java1.7_80 e maven 3.6
Karn_way
Vamos continuar esta discussão no chat .
Amessihel 25/02/19
6

Sinto muito, não sei por que você recebeu a mensagem de erro. No entanto, estou usando Java 7 e Windows 10 e a solução para mim foi usar temporariamente o Java 8 alterando a JAVA_HOMEvariável de ambiente. Então eu poderia correr mvn installe buscar no Maven Central Repository.

propaciência
fonte
2
Isso fez maravilhas para mim. Como usuário do MyEclipse, tudo que eu precisava fazer era alterar o JRE para a configuração de execução do maven para 1,8 e depois voltar para 1,7 depois que o maven baixou o que era necessário.
Thor Hovden
0

Para definir propriedades java no servidor de aplicativos do Windows:

  • configurar tomcat> executar como administrador
  • adicione Java opts:

  • reinicie o serviço.

Don Julio
fonte
-Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Don Julio
& -Djdk.tls.client.protocols = TLSv1, TLSv1.1, TLSv1.2
Don Julio