Pourquoi est-ce que je reçois «Alerte fatale reçue: version_protocole» ou «pair non authentifié» de Maven Central?


132

J'obtiens les erreurs ci-dessous lors de la connexion à Maven Central / https://repo1.maven.org après le 18 juin 2018.

Received fatal alert: protocol_version

ou

Received fatal alert: peer not authenticated

2
Test impressionnant que vous avez fait là-bas pour le futur.
Thor Hovden

Réponses:


188

Solution 1: configurer Java 7

Il est nécessaire d'activer le protocole TLS 1.2 avec la propriété Java dans la ligne de commande

mvn -Dhttps.protocols=TLSv1.2 install

install est juste un exemple d'objectif

La même erreur pour antpeut être résolue de cette manière

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

Solution 2: utilisez Java 7 avec Oracle Advanced Support

Le problème peut également être résolu en mettant à jour la version Java 7. Mais la dernière version disponible ( 7u80) ne résout pas le problème. Il est nécessaire d'utiliser une mise à jour fournie avec Oracle Advanced Support (anciennement Java for Business).

Solution 3: utilisez Java 8 à la place

Configurez $JAVA_HOMEpour pointer vers Java 8.


Vous avez sauvé une journée ici!
Herve Mutombo

Pouvez-vous me dire s'il vous plaît quel est l'équivalent en SBT que j'ai essayé sbt -Dhttps.protocols=TLSv1.2 instalmais cela ne fonctionne pas
G.Saleh

@ G.Saleh Vous avez besoin du moyen de transmettre ce paramètre à java -Dhttps.protocols=TLSv1.2. Vous devez donc trouver comment passer les paramètres java dans SBT.
v.ladynev

67

En juin 2018, dans le but d'améliorer la sécurité et de se conformer aux normes modernes, les protocoles non sécurisés TLS 1.0 et 1.1 ne seront plus pris en charge pour les connexions SSL à Central. Cela ne devrait affecter que les utilisateurs de Java 6 (et Java 7) qui utilisent également https pour accéder au central, ce qui, selon nos métriques, représente moins de 0,2% des utilisateurs.

Pour plus de détails et de solutions de contournement, consultez le blog et la FAQ ici: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central


Le lien dans l'article blog.sonatype.com jette 404. C'est parce qu'ils ont mis à jour le lien vers central.sonatype.org/articles/2018/May/04/… .
Blueboye

50

La commande suivante m'a aidé (exécution sur bash avant d'exécuter mvn)

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

3
Sous Windows, définissez MAVEN_OPTS = -Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Lele

après avoir configuré tout ce téléchargement http fonctionne pour moi. cependant https a un problème comme ci-dessous. Échec de collecte des dépendances sur org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: échec de lecture de l'artefact descripteur pour org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Impossible de transférer l'artefact org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 de / vers cloudera ( repository.cloudera. com / artifactory / cloudera-repos ): Alerte fatale reçue: handshake_failure any help
Karn_way

1
Fonctionne comme un charme! Merci! (Essayé sur CentOs)
DarSta

Est-ce sécurisé?
Ganesh Satpute le

Merci! Cela l'a fait pour moi!
Ben appelez le

17

Comme dit @ v.ladynev, cela fonctionne avec JDK 1.7

Avec Eclipse, pour pouvoir effectuer un "Exécuter en tant que" maven installavec le paramètre de ligne de commande TLS, configurez simplement le JDK que vous utilisez.

Ouvrez la boîte de dialogue via Fenêtre > Préférences > Java > JRE installés .

Ensuite, mettez en surbrillance celui que vous utilisez (devrait être un JDK , pas un JRE ), cliquez sur Modifier . Dans le champ "Arguments VM par défaut", remplissez la valeur -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Comme indiqué ci-dessous:

entrez la description de l'image ici

Nettoyez le projet (peut-être facultatif), puis réexécutez un fichier maven install.


J'obtiens cela Échec de la collecte des dépendances sur org.netpreserve.commons: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Échec de lecture du descripteur d'artefact pour org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Impossible de transférer l'artefact org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 de / vers cloudera ( repository.cloudera.com/ artifactory / cloudera-repos ): Alerte fatale reçue: handshake_failure semble que le téléchargement https a un problème. s'il vous plaît aidez-moi J'utilise java1.7_80 et maven 3.6
Karn_way


6

Je suis désolé, je ne sais pas pourquoi vous obtenez le message d'erreur. Cependant, j'utilise Java 7 et Windows 10 et la solution pour moi était d'utiliser temporairement Java 8 en modifiant la JAVA_HOMEvariable d'environnement. Ensuite, je pourrais exécuter mvn installet récupérer à partir du référentiel central Maven.


2
Cela a fait des merveilles pour moi. En tant qu'utilisateur de MyEclipse, tout ce que j'avais à faire était de changer le JRE de la configuration d'exécution de maven en 1.8, puis de revenir à 1.7 après que maven eut téléchargé ce dont il avait besoin.
Thor Hovden



0

Pour définir les propriétés Java sur le serveur d'applications Windows:

  • configurer tomcat> exécuter en tant qu'administrateur
  • puis ajoutez les opts Java:

  • redémarrer le service.


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

& -Djdk.tls.client.protocols = TLSv1, TLSv1.1, TLSv1.2
Don Julio
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.