Кто отвечает за добавление сертификата в хранилище ключей JDK? - PullRequest
0 голосов
/ 01 октября 2019

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

Я добавил сертификатэкспортируя его.

Кто отвечает за добавление этого сертификата в JAVA таким образом, чтобы все загрузки содержали сертификат? Кроме того, если это связано с версией Java, почему только некоторые пользователи, имеющие обе версии Java, сталкиваются с этой проблемой?

1 Ответ

0 голосов
/ 01 октября 2019

Это зависит от используемой вами версии Java. Для OpenJDK версии 10 и выше см. OpenJDK 10 теперь включает сертификаты корневого CA . Чтобы использовать системные сертификаты, укажите параметр Java «Djavax.net.ssl.trustStoreType = WINDOWS-ROOT», см. Настройка JRE для использования доверенного хранилища Windows, в частности хранилища доверений пользователя .

Текущее официальное слово содержится в Справочном руководстве по Java Secure Socket Extension (JSSE) .

Для более ранних версий см. Какие доверенные корневые сертификаты включены в Java? и Почему мне нужно импортировать серверные сертификаты в java .

В частности, вам нужно будет проверить, установлен ли сертификат Comodo RSA в вашей системе, и если не установить его, используя Java keytoolкак описано в ссылках.

...