Почему я получаю исключение SSLHandshakeException в качестве JAR, когда программа работает в IntelliJ? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть программа Kotlin, которая использует jsoup для загрузки данных с определенного веб-сайта.Тестируя его в IntelliJ IDEA, он работает нормально.Когда я создаю JAR-артефакт, он выходит из строя с javax.net.ssl.SSLHandshakeException.

. Я тестировал его на нескольких установках JRE, как в Windows, так и в Linux, как 1,8, так и 10, включая копию, поставляемую с IntelliJ,и JAR терпит неудачу каждый раз.Корневым сертификатом сайта является DigiCert Global Root G2 , который, кажется, находится в кадрах для каждой протестированной установки - отпечатки совпадают и все.

Я запустил JAR с -Djavax.net.debug=ssl и включил это в конце вывода;другие выдержки доступны по запросу.

%% Invalidated:  [Session-1, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
main, SEND TLSv1.2 ALERT:  fatal, description = certificate_unknown
main, WRITE: TLSv1.2 Alert, length = 2
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
main, called close()
main, called closeInternal(true)
Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Unknown Source)
        at ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...