Набор инструментов Spring - SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

Я работаю над STS, и при создании нового проекта с весенней загрузкой он показывает следующую ошибку:

 SunCertPathBuilderException: unable to find valid certification path to requested target

поскольку он обращается к https://start.spring.io как к URL-адресу службы.

Я работаю в корпоративной сети, и у них есть свои сертификаты и правила безопасности. Я заглянул в Интернет, но не нашел четкого решения для STS. Как мне добавить путь сертификации в STS для данного URL. Любая помощь приветствуется.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
0
42 403
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Самое простое решение - установить корпоративный сертификат в хранилище ключей cacerts JDK.

<JAVA_HOME>/bin/keytool -import -alias CorpProxy -keystore <JAVA_HOME>/jre/lib/security/cacerts -file your_corp_cert.crt

Вам будет предложено ввести пароль хранилища ключей, который по умолчанию - changeit.

Это должен быть принятый ответ, а не обходные пути, описанные выше. Кроме того, это поможет с другими проблемами, такими как установка плагинов с торговой площадки.

devo 14.11.2018 20:01

ты спас мне день! Спасибо!

deepakguna 31.12.2020 07:18
Ответ принят как подходящий

Попробуйте в URL-адресе http вместо httpshttp://start.spring.io

Следующая ошибка будет устранена «SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели»

Это не работает в Spring Tool Suite 3 версии: 3.9.9.RELEASE В тот момент, когда я добавляю start.spring.io, он автоматически изменяется на start.spring.io.

Chris_vr 04.09.2019 12:37

Похоже, http перенаправляется на https, поэтому это может не сработать. Я добавил ответ, чтобы перечислить, что я сделал, чтобы заставить его работать.

user2125853 02.01.2020 22:02

В STS версии 4, если я изменю https на http, он автоматически перенаправляется на https, любой, пожалуйста, помогите мне решить эту проблему.

Srikanth Janapati 13.04.2020 16:31

@SrikanthJanapati Удалось ли вам найти решение? У меня такая же проблема с STS 4

coderpc 13.05.2021 17:59

@coderpc, пожалуйста, попробуйте это programmersought.com/article/68482773221

Zack Dawood 14.05.2021 20:08

@coderpc - в моем случае я отключил VPN, тогда он работает нормально

Srikanth Janapati 15.05.2021 09:52

Я столкнулся с той же проблемой и попробовал следующее: Window -> Preferences -> Network Connections Change mode to Manual

Теперь все работает нормально.

Это универсальное решение. Это должен быть принятый ответ.

Ram 16.04.2021 06:01

В случае, если ничего из вышеперечисленного не работает, попробуйте следующие шаги. Он отлично работает для меня, так как я также работал в корпоративной сети, у меня была такая же проблема.

  1. Закройте инструмент STS, если он открыт.
  2. Найдите файл STS.ini (в основном там, где вы установили инструмент STS и у вас есть STS.exe)
  3. Отредактируйте STS.ini. Добавьте следующие две строки внизу (используйте свое местоположение JDK, под одной только образец)

    -Djavax.net.ssl.trustStore = C: \ Program Files \ Java \ jdk1.8.0_20 \ jre \ lib \ security \ cacerts

    -Djava.net.ssl.trustStorePassword = changeit

  4. Сохраните STS.ini и перезапустите STS.exe.

В моем случае это работает. Спасибо.

Это сработало и для меня

Vinoth Krishnan 04.06.2021 11:58

Добавление ниже в eclipse.ini

-Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk1.8.0_20\jre\lib\security\cacerts
-Djava.net.ssl.trustStorePassword=changeit

работал у меня.

Казалось бы, http теперь перенаправляется на https. Поэтому изменение https на http может не сработать. Я почти не знаком с цифровыми сертификатами. Однако я просто перечислил, что мне нужно было сделать, чтобы заставить его работать на меня. Возможно, это то, что предложил @Strelok.

Я использую Windows 10 и JDK 1.8.0_144 64bit. Я также поддерживаю корпоративный прокси. Я сделал следующее, чтобы заставить его работать на меня. Если вы находитесь в подобной ситуации, это может сработать для вас.

Экспорт корпоративного сертификата (могут быть и другие более простые способы сделать это)

  1. В Chrome зашел на https://start.spring.io
  2. В строке местоположения щелкнул символ «Блокировка» рядом с https.
  3. В открывшемся всплывающем окне выбрано «Сертификат (действительный)».
  4. В появившемся диалоговом окне щелкните вкладку «Путь к сертификату» из-под дерева путей к сертификату выбрал корневой узел, а затем щелкните «Просмотр сертификата».
  5. В появившемся диалоговом окне щелкните вкладку «Подробности», а затем щелкните «Копировать в файл».
  6. Это вызывает «Мастер экспорта», нажмите «Далее».
  7. Оставил для формата сертификата значение по умолчанию «Кодированный DER ..», щелкнул «Далее».
  8. Указанное имя файла (с расширением .cer) для сертификата.
  9. Нажал Готово.

Вышеупомянутые шаги экспортировали сертификат в файл, который я импортировал в хранилище доверенных сертификатов (cacerts).

Импортировать

  • Открыл командную строку от имени администратора для импорта сертификата.
  • Перешел в каталог bin установки Java (этот шаг не нужен, если jre / bin находится на вашем пути)
  • Выполните следующее:

    C: \ Program Files \ Java \ jre1.8.0_144 \ bin> keytool -importcert -alias your-alias -keystore "C: \ Program Files \ Java \ jre1.8.0_144 \ lib \ security \ cacerts" -storepass changeit -file C: \ расположение-файла-сертификата \ сохраненный-файл-сертификата.cer

(Замените свое местоположение Java, местоположение файла сертификата и имя файла сертификата соответствующим образом. 'Storepass' должен быть 'changeit'.)

Перезапуск STS

Лучше всего в этом случае открыть https://start.spring.io/ в браузере и

и введите название проекта в поле Артефакт, а базовый пакет проекта - в поле Группа. нажмите на

Кнопка "Создать проект"

который загрузит файл your-project-name.zip в папку загрузок. теперь извлеките этот файл в рабочую область sts или куда угодно.

теперь импортируйте проект в STS как существующий проект maven

Вы сделали

Мне удалось решить проблему, выполнив два шага.

  1. Сначала я импортировал сертификат, присутствующий на https://start.spring.io, в jdk cacerts.
  2. Atlast Я добавил путь к TrustStore и пароль trustStore в файл SpringToolSuite4.ini.

    -Djavax.net.ssl.trustStore = C: \ Program Files \ Java \ jdk1.8.0_201 \ jre \ lib \ security \ cacerts

    -Djava.net.ssl.trustStorePassword = changeit

Эта проблема произошла с моим коллегой, который не смог открыть https://start.spring.io в своем браузере, а также не смог создать новые проекты в STS. Мы пытались использовать все вышеперечисленные решения, но ни одно из них не помогло.

Последнее средство, которое мы пытались сделать, - это очистить настройки вашего ежедневного браузера, выполнив следующие действия:

  1. Ctrl + Shift + Del
  2. Очистить / удалить все настройки, в основном файлы cookie и другие данные сайта, а также кэшированные изображения и файлы (История просмотров и пароль могут быть исключены)
  3. Снова откройте браузер. [Закройте и откройте браузер]
  4. Перейдите на https://start.spring.io, и вы сможете открыть сайт Spring Initializer, а также создать новый проект Spring Starter из STS. (Не знаю, возникает ли проблема с IntelliJ, но вы можете попробовать, выполнив все шаги).

Другие вопросы по теме