Я использую JDK 1.7.0_45 и пытаюсь получить папку "Входящие" IMAP, но получаю исключение
sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: не удалось найти допустимый путь сертификации к запрошенной цели
Итак, я понял, что сертификат необходимо добавить в cacerts хранилища доверенных сертификатов Java ($JAVA_HOME/jre7/libs/security) через keytool. Сертификат для моего IMAP-сервера был выпущен StartCom, поэтому я подумал, что мне нужно добавить их корневые сертификаты. Я выполнил эти инструкции и добавил сертификаты в глобальное хранилище доверенных сертификатов Java. Тем не менее, я все еще получаю то же исключение. Я также попытался создать свой собственный файл хранилища ключей (.pks), добавить сертификаты и запустить приложение с
-Djavax.net.ssl.keyStore=path/to/myown.jks
Это тоже не сработало. Насколько я понимаю, достаточно добавить сертификат корневого центра, выдавшего сертификат.
Что мне нужно сделать, чтобы Java приняла сертификат моего почтового ящика IMAP?
Побочный вопрос: когда я публикую Java-приложение, такое как почтовый клиент, которому могут потребоваться сертификаты, не содержащиеся в хранилище доверенных сертификатов Java по умолчанию, каков наименее пугающий способ позволить пользователю добавлять новые сертификаты?