Чому я отримую "Отримане фатальне сповіщення: протокол_версія" або "Peer не підтверджено автентифікацію" від Maven Central?


132

Я отримую наведені нижче помилки під час підключення до Maven Central / https://repo1.maven.org після 18 червня 2018 року.

Received fatal alert: protocol_version

або

Received fatal alert: peer not authenticated

2
Вражаючий тест, який ви там зробили на майбутнє.
Тор Ховден

Відповіді:


188

Рішення 1: налаштування Java 7

Потрібно включити протокол TLS 1.2 з властивістю Java в командному рядку

mvn -Dhttps.protocols=TLSv1.2 install

install - лише приклад мети

Таку ж помилку для antможна вирішити таким чином

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

Рішення 2: використовуйте Java 7 з розширеною підтримкою Oracle

Також проблему можна вирішити, оновивши версію Java 7. Але остання доступна версія ( 7u80) не усуває проблеми. Потрібно використовувати оновлення, що надається з розширеною підтримкою Oracle (раніше відомою як Java for Business).

Рішення 3: замість цього використовуйте Java 8

Налаштуйте, $JAVA_HOMEщоб вказати на Java 8.


Ви заощадили день тут!
Ерве Мутомбо

Скажіть, будь ласка, який еквівалент у SBT, який я спробував, sbt -Dhttps.protocols=TLSv1.2 instalале це не працює
G.Saleh

@ G.Saleh Вам потрібен спосіб передати цей параметр java -Dhttps.protocols=TLSv1.2. Тому вам потрібно знайти, як передавати параметри Java в SBT.
v.ladynev

67

У червні 2018 року, намагаючись підвищити безпеку та відповідати сучасним стандартам, незахищені протоколи TLS 1.0 та 1.1 більше не підтримуватимуться для з'єднань SSL з Central. Це має торкнутися лише користувачів Java 6 (та Java 7), які також використовують https для доступу до центрального, що за нашими показниками становить менше, ніж 2% користувачів.

Більш детальну інформацію та шляхи вирішення див. У блозі та на веб-сайті : https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central


Посилання в статті blog.sonatype.com складає 404. Це тому, що вони оновили посилання на central.sonatype.org/articles/2018/May/04/… .
Blueboye

50

Наступна команда допомогла мені (виконання на bash перед запуском mvn)

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

3
У Windows встановлено MAVEN_OPTS = -Dhttps.protocols = TLSv1, TLSv1.1, TLSv1.2
Lele

після налаштування цього завантаження для мене працює все. однак https випущено як нижче. Не вдалося зібрати залежності на org.netpreserve.com: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Не вдалося прочитати артефакт дескриптор для org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Не вдалося перенести артефакт org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 з / в cloudera (сховище.cloudera . com / artfactory / cloudera-repos ): надійшло смертельне сповіщення: рукостискання_
невдача

1
Працює як шарм! Дякую! (Спробував на CentOs)
DarSta

Це безпечно?
Ганеш Satpute

Спасибі! Це дійшло до мене!
Бен Дзвінок

17

Як сказав @ v.ladynev, він працює з JDK 1.7

За допомогою Eclipse, щоб мати можливість виконувати "Запустити як" за maven installдопомогою параметра командного рядка TLS, просто налаштуйте JDK, який ви використовуєте.

Відкрийте діалогове вікно через вікно > Налаштування > Java > Встановлені JRE .

Потім виділіть ту, яку ви використовуєте (має бути JDK , а не JRE ), натисніть на Редагувати . У полі "Аргументи VM за замовчуванням" заповніть значення -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2. Як показано нижче:

введіть тут опис зображення

Очистіть проект (можливо, необов’язково), а потім повторно запустіть a maven install.


Мені не вдалося зібрати залежності на org.netpreserve.com.in: webarchive-commons: jar: 1.1.2 -> org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Не вдалося прочитати дескриптор артефакту для org.apache.hadoop: hadoop-core: jar: 0.20.2-cdh3u4: Не вдалося перенести артефакт org.apache.hadoop: hadoop-core: pom: 0.20.2-cdh3u4 з / в cloudera ( repository.cloudera.com/ artifactory / cloudera-repos ): Отримано смертельне сповіщення: рукостискання_файлу виглядає, що завантаження https виникла. будь ласка, допоможіть, я використовую java1.7_80 та maven 3.6
Karn_way


6

Вибачте, я не знаю, чому ви отримуєте повідомлення про помилку. Однак я використовую Java 7 та Windows 10, і для мене було рішення тимчасово використовувати Java 8, змінивши JAVA_HOMEзмінну середовища. Тоді я міг запустити mvn installта отримати з центрального сховища Maven.


2
Це творило чудеса для мене. Як користувач MyEclipse, все, що мені потрібно було зробити, - це змінити JRE для конфігурації запуску maven на 1,8, а потім знову до 1,7 після того, як Maven завантажив те, що потрібно.
Тор Ховден



0

Налаштування властивостей Java на сервері додатків Windows:

  • налаштувати tomcat> запустити як адміністратор
  • потім додайте опції Java:

  • послуга перезапуску.


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

& -Djdk.tls.client.protocols = TLSv1, TLSv1.1, TLSv1.2
Дон Хуліо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.