Perché ricevo "Avviso irreversibile ricevuto: protocol_version" o "peer non autenticato" da Maven Central?


132

Ricevo gli errori seguenti quando mi collego a Maven Central / https://repo1.maven.org dopo il 18 giugno 2018.

Received fatal alert: protocol_version

o

Received fatal alert: peer not authenticated

2
Test impressionante che hai fatto lì per il futuro.
Thor Hovden,

Risposte:


188

Soluzione 1: configura Java 7

È necessario abilitare il protocollo TLS 1.2 con proprietà Java nella riga di comando

mvn -Dhttps.protocols=TLSv1.2 install

install è solo un esempio di obiettivo

Lo stesso errore per antpuò essere risolto in questo modo

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

Soluzione 2: utilizzare Java 7 con Oracle Advanced Support

Inoltre, il problema può essere risolto aggiornando la versione di Java 7. Ma l'ultima versione disponibile ( 7u80) non risolve il problema. È necessario utilizzare un aggiornamento fornito con Oracle Advanced Support (precedentemente noto come Java for Business).

Soluzione 3: utilizzare invece Java 8

Configurare $JAVA_HOMEper puntare a Java 8.


Hai risparmiato un giorno qui!
Herve Mutombo,

Puoi dirmi per favore qual è l'equivalente in SBT che ho provato sbt -Dhttps.protocols=TLSv1.2 instalma non funziona
G.Saleh

@ G.Saleh È necessario il modo per passare questo parametro a java -Dhttps.protocols=TLSv1.2. Quindi devi trovare come passare i parametri java in SBT.
v.ladynev,

67

Nel giugno 2018, nel tentativo di aumentare la sicurezza e conformarsi agli standard moderni, i protocolli TLS 1.0 e 1.1 non sicuri non saranno più supportati per le connessioni SSL a Central. Ciò dovrebbe interessare solo gli utenti di Java 6 (e Java 7) che utilizzano anche https per accedere a central, che secondo le nostre metriche è inferiore allo 0,2% degli utenti.

Per maggiori dettagli e soluzioni alternative, consultare il blog e le domande frequenti qui: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central


Il link nell'articolo blog.sonatype.com lancia 404. È perché hanno aggiornato il link a central.sonatype.org/articles/2018/May/04/… .
Blueboye,

50

Il seguente comando mi ha aiutato (eseguendo su bash prima di eseguire mvn)

export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

3
Su Windows impostare MAVEN_OPTS = -Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Lele

dopo aver impostato tutto questo download http funziona per me. tuttavia https presenta problemi come di seguito Impossibile raccogliere le dipendenze su org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: impossibile leggere artefatto descrittore per org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: impossibile trasferire artefatto org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 da / a cloudera ( repository.cloudera. com / artifactory / cloudera-repos ): avviso fatale ricevuto: handshake_failure qualsiasi aiuto
Karn_way

1
Funziona come un fascino! Grazie! (Provato con CentOs)
DarSta,

È sicuro?
Ganesh Satpute,

Grazie! Questo è ciò che fa per me!
Ben Chiama il

17

Come detto @ v.ladynev, funziona con JDK 1.7

Con Eclipse, per essere in grado di eseguire un "Esegui come" maven install con il parametro della riga di comando TLS, configura semplicemente il JDK che stai utilizzando.

Aprire la finestra di dialogo tramite Finestra > Preferenze > Java > JRE installati .

Quindi evidenzia quello che stai utilizzando (dovrebbe essere un JDK , non un JRE ), fai clic su Modifica . Nel campo "Argomenti VM predefiniti", inserisci il valore -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Come mostrato di seguito:

inserisci qui la descrizione dell'immagine

Pulisci il progetto (forse facoltativo), quindi esegui nuovamente a maven install.


Sto ottenendo questo Impossibile raccogliere le dipendenze su org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Impossibile leggere il descrittore di artefatto per org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: impossibile trasferire artefatto org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 da / a cloudera ( repository.cloudera.com/ artifactory / cloudera-repos ): avviso fatale ricevuto: handshake_failure sembra https download ha problemi. per favore aiutatemi sto usando java1.7_80 e maven 3.6
Karn_way,


6

Mi dispiace, non so perché ricevi il messaggio di errore. Tuttavia, sto usando Java 7 e Windows 10 e la soluzione per me era usare temporaneamente Java 8 cambiando la JAVA_HOMEvariabile d'ambiente. Quindi ho potuto eseguire mvn installe recuperare da Maven Central Repository.


2
Questo ha funzionato a meraviglia per me. Come utente di MyEclipse, tutto quello che dovevo fare era cambiare JRE per la configurazione di esecuzione di Maven in 1.8 e poi di nuovo in 1.7 dopo che Maven aveva scaricato ciò di cui aveva bisogno.
Thor Hovden,



0

Per impostare le proprietà Java sul server delle app di Windows:

  • configura tomcat> esegui come amministratore
  • quindi aggiungere le opzioni Java:

  • riavvia il servizio.


-Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Don Julio

& -Djdk.tls.client.protocols = TLSv1, TLSv1.1, TLSv1.2
Don Julio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.