У меня есть пакет, соответствующий требованиям Java, для общения с сервером https в сети. Запуск компиляции дает следующее исключение:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
Я думаю, что это связано с тем, что соединение с клиентским компьютером не является безопасным. Есть ли способ настроить локальный компьютер или порты для подключения к удаленному серверу https?
HttpURLConnection
, автоматически сделает это за вас, если вы вообще не укажете порт.У вас должно быть локальное имя домена SMTP, которое свяжется с почтовым сервером и установит новое соединение, а также вы должны изменить свойство SSL в ваших программах ниже.
источник
Я получил то же сообщение об ошибке, когда забыл войти в брандмауэр компании перед выполнением запроса POST через прокси-сервер.
источник
Я получил ту же ошибку. это было, потому что я получал доступ к порту https через http. Проблема была решена, когда я изменил http на https.
источник
Я сталкиваюсь с той же проблемой из приложения Java, встроенного в среду разработки Jdevelopr 11.1.1.7. Я решил проблему, сняв флажок с использованием прокси-формы свойств проекта.
Вы можете найти его в следующем: Свойства проекта -> (из левой панели) Выполнить / Отладка / Профиль -> Щелкните (изменить) на правой панели -> Настройка инструмента на левой панели -> снимите флажок (Использовать прокси).
источник
Добавление этого в качестве ответа, поскольку это может помочь кому-то позже.
Мне пришлось заставить jvm использовать стек IPv4 для устранения ошибки. Мое приложение раньше работало в сети компании, но при подключении из дома оно давало то же исключение. Никакой прокси не задействован. Добавил аргумент jvm
-Djava.net.preferIPv4Stack=true
и всеhttps
запросы работали нормально.источник
Если вы работаете локально, используя spring, я бы предложил использовать:
Это работает для меня с помощью модульного теста.
Надеюсь, это поможет!
источник
Теперь это работает для меня, я изменил настройки моей учетной записи Google, как показано ниже:
Хотя я включил SSL и TSL при запуске программы в этой ссылке того же поста. Я трачу много времени, но потом я понял и нашел эту ссылку. И сделали 2 следующих шага и настройку управления в гугле. :
Отключить двухэтапную проверку (пароль и OTP)
Включение разрешения доступа к менее защищенному приложению ( Разрешить менее защищенные приложения: включено. )
Теперь я могу отправлять почту, используя вышеуказанную программу.
источник
Как сказал EJP, это сообщение отображается из-за вызова не-https протокола. Если вы уверены, что это HTTPS, проверьте настройки своего обходного прокси-сервера и, в случае, добавьте URL своего хоста веб-сервиса в список обходного прокси-сервера.
источник
если соединение является тестом FTPS:
FTPSClient ftpClient = новый FTPSClient (протокол, ложь);
protocol = TLS, SSL и false = isImplicit.
источник
Я столкнулся с этим исключением при использовании Gmail.
Чтобы использовать Gmail, мне пришлось включить «Разрешить менее безопасные приложения» .
Этот параметр Gmail можно найти по адресу https://www.google.com/settings/security/lesssecureapps после входа в учетную запись Gmail .
источник
ЗДЕСЬ ОЧЕНЬ ВАЖНЫЙ ОТВЕТ:
Вы просто измените свою строку URL-адреса API (в вашем методе) с https на http. Это также может быть причиной:
вместо того
источник
Я получил ту же проблему, и она была решена путем установки «proxyUser» и «proxyPassword» в свойствах системы.
вместе с "proxyHost" и "proxyPort"
Надеюсь, это сработает.
источник
я решил свою проблему, используя порт 25 и следующий проп
источник
Если вы работаете
попробуйте остановить сервис (ы).
Не уверен, почему я получил отрицательный голос за этот ответ. В нашей корпоративной сети это является решением проблемы.
источник
У меня похожая ошибка при использовании компонента верблюжьей почты для отправки сообщений электронной почты через gmail smtp.
Решение менялось с порта TLS (587) на порт SSL (465), как показано ниже:
источник
Если вы запускаете процесс Java из командной строки на Java 6 или более ранней версии, добавление этого параметра решило проблему, описанную выше для меня:
-Dhttps.protocols = "TLSv1"
источник
Возможно, ваш сертификат по умолчанию истек. чтобы обновить его через консоль администратора, перейдите в раздел «Безопасность> Управление сертификатами и ключами SSL> Хранилища ключей и сертификаты> NodeDefaultKeyStore> Персональные сертификаты», выберите псевдоним «по умолчанию» и нажмите «обновить» после, а затем перезапустите WAS.
источник
Другой причиной может быть «отказано в доступе», возможно, вы не можете получить доступ к URI и полученной странице ответа о блокировке для доступа к внутренней сети. Если вы не уверены, что вашей зоне приложения нужно правило брандмауэра, попробуйте подключиться из терминала, из командной строки. Для GNU / Linux или Unix, вы можете попробовать выполнить так, как эта команда, и посмотреть, что результат исходит из правила блокировки или действительно удаленного адреса:
echo | nc -v yazilimcity.net 443
источник