SSLHandshakeException: сбой построения пути PKIX - PullRequest
1 голос
/ 17 февраля 2020

Я безуспешно пытаюсь отладить эту ошибку.

По сути, я связываюсь с внешним приложением через мое приложение. Соединение установлено нормально, приложение связывается с моим приложением через URL обратного вызова, затем мне нужно отправить окончательную проверку внешнему приложению. Этот последний шаг не выполняется из-за исключения SSLHandShajeException.

javax. net .ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой при построении пути PKIX: sun.security.provider.certpath. SunCertPathBuilderException: не удалось найти действительный путь сертификации для запрошенной цели

Я рассмотрел возможные причины и создал хранилище доверенных сертификатов с сертификатом внешнего приложения, выполнив следующие действия:

  • загрузка цепочки сертификатов из браузера
  • создание хранилища доверенных сертификатов с помощью

keytool -import -v -trustcacerts -alias mycert -file x_my_cert_location_x -keystore truststore

  • добавление вышеуказанного trustore в мой файл setenv
  • перезапустите мой экземпляр tomcat.

Это не решило проблему.

Я также добавил к сертификату файл cacert и то же самое к соединителю на сервере. Файл xml выглядит следующим образом:

<Connector port="${catalina.port.https}" server="Apache" protocol="HTTP/1.1"
           SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS"
           clientAuth="false"
           connectionTimeout="20000"
           compression="on"
           compressionMinSize="200"
           compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml"
           enableLookups="false"
           URIEncoding="UTF-8"
           keystoreFile="my_store_location" keystorePass="myPwd"/>

Debuggi В SSL я вижу:

> %% Invalidated: [Session-15, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
> http-nio-8080-exec-9, SEND TLSv1.2 ALERT: fatal, description =
> certificate_unknown http-nio-8080-exec-9, WRITE: TLSv1.2 Alert, length
> = 2 [Raw write]: length = 7 0000: 15 03 03 00 02 02 2E ....... http-nio-8080-exec-9, called closeSocket() http-nio-8080-exec-9,
> 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

Что не имеет для меня никакого смысла. Мое приложение на java 1.8.242. Любой совет по этому поводу, пожалуйста?

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