Недавно я переключился на Let's Encrypt Private Beta для нескольких моих доменных имен, и, как следствие, некоторые из моих Java-программ перестали работать, потому что я считаю, что сертификат не находится в хранилище доверенных сертификатов.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели
Я пытался делать разные вещи, например заходить на панель конфигурации Java в Windows или добавлять корневые сертификаты в cacerts.
Как экспортировать / загрузить файл .csr или .p12 из корневого ЦС Let's Encrypt, чтобы импортировать его в список сертификатов Java, предпочтительно таким образом, чтобы были приняты все защищенные домены Let's Encrypt, а не только мой домен?
Я попытался загрузить корневые сертификаты по адресу https://letsencrypt.org/certificates/ и добавить их в списки, но безрезультатно. Я также попытался добавить /etc/letsencrypt/live/<my_website>/cert.pem
на сайты, но это не сработало. Я даже пытался добавить его в cacerts с помощью keytool, используя это: https://stackoverflow.com/questions/2138940/import-pem-into-java-key-store Независимо от того, что я пытаюсь, это не работает ( та же ошибка выше появляется).
Среди поиска в Google, я также нашел это: https://community.letsencrypt.org/t/will-the-cross-root-cover-trust-by-the-default-list-in-the -jdk-jre/134/13, но не смог использовать информацию внутри него.