Ошибка - параметр trustAnchors должен быть не пустым - PullRequest
431 голосов
/ 22 июля 2011

Я пытаюсь настроить свою электронную почту на Jenkins / Hudson, и я постоянно получаю сообщение об ошибке:

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be
    non-empty

Я видел много информации в Интернете об ошибке, но яне получил никого на работу.Я использую JDK от Sun в Fedora Linux (не OpenJDK).

Вот несколько вещей, которые я пробовал.Я попытался последовать совету из этого поста , но копирование кодеров из Windows на мою коробку Fedora с хостингом Jenkins не сработало.Я попытался выполнить это руководство , поскольку я пытаюсь настроить Gmail в качестве SMTP-сервера, но он также не работает.Я также попытался загрузить и переместить эти файлы cacert вручную и переместить их в мою папку Java, используя различные команды в этом руководстве .

Я открыт для любых предложений, поскольку я 'Я сейчас застрял.Я получил его на работу с сервера Windows Hudson, но я борюсь с Linux.

Ответы [ 35 ]

0 голосов
/ 05 января 2017

Я получаю ту же ошибку при отправке писем, но НЕ всегда.В моем случае я изменил одну строку кода, чтобы каждый раз получать новый Session объект:

MimeMessage message = new MimeMessage(Session.getDefaultInstance(props, authenticator));

на

MimeMessage message = new MimeMessage(Session.getInstance(props, authenticator));

С тех пор отправка электронной почтыпочта работает каждый раз.

Я получил ошибку:

javax.mail.MessagingException: Не удалось преобразовать сокет в TLS;Вложенное исключение: javax.net.ssl.SSLException:java.lang.RuntimeException: непредвиденная ошибка:java.security.InvalidAlgorithmParameterException: trustAnchorsпараметр должен быть непустым вcom.sun.mail.smtp.SMTPTransport.startTLS (SMTPTransport.java:1907) вcom.sun.mail.smtp.SMTPTransport.protocolConnect (SMTPTransport.java:666)на javax.mail.Service.connect (Service.java:317) наjavax.mail.Service.connect (Service.java:176) вjavax.mail.Service.connect (Service.java:125) вjavax.mail.Transport.send0 (Transport.java:194) вjavax.mail.Transport.send (Transport.java:124)

0 голосов
/ 01 ноября 2017

Для меня это удалось решить, просто обновив плагин Jenkins «Плагин расширения электронной почты» до последней версии (2.61).

Эти два плагина отвечают за настройку электронной почты в Jenkins:

  • Расширение электронной почты
  • Шаблон расширения электронной почты
0 голосов
/ 07 марта 2017

Я получил эту ошибку при использовании склада доверенных сертификатов, который был экспортирован с помощью инструмента ключей IBM Websphere JDK в формате # PKCS12, и при попытке установить связь через SSL с помощью этого файла в Oracle JRE.

Моим решением было запустить наIBM JRE или преобразуйте склад доверенных сертификатов в JKS с помощью инструмента ключей IBM Websphere, поэтому я смог запустить его в Oracle JRE.

0 голосов
/ 01 февраля 2019

На самом деле вам нужно только выполнить:

sudo chmod +x ./gradlew

Это работает для меня!А если он слишком медленный, вы можете выполнить:

./gradlew clean build

?Почему так много отрицательных голосов ?

0 голосов
/ 23 февраля 2017

Еще одна причина этого - это действительная ошибка. Некоторые гнусные точки доступа Wi-Fi будут связываться с сертификатами и атакой «человек посередине» , которую вы будете делать, кто что знает (убегайте!).

Некоторые крупные работодатели будут делать то же самое, особенно в чувствительных сетевых зонах, чтобы они могли контролировать весь зашифрованный трафик (не очень хорошо с точки зрения конечного пользователя, но для этого могут быть веские причины).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...