Скорее всего, файл вашего хранилища доверенных сертификатов не содержит сертификатов X509. Если вы взглянете на код для java.security.cert.PKIXParameters.<init>
из своей трассировки стека, вы увидите следующее:
Set<TrustAnchor> hashSet = new HashSet<TrustAnchor>();
Enumeration<String> aliases = keystore.aliases();
while (aliases.hasMoreElements()) {
String alias = aliases.nextElement();
if (keystore.isCertificateEntry(alias)) {
Certificate cert = keystore.getCertificate(alias);
if (cert instanceof X509Certificate)
hashSet.add(new TrustAnchor((X509Certificate)cert, null));
}
}
setTrustAnchors(hashSet);
Похоже, что в вашем файле отсутствуют какие-либо сертификаты или те, которые он не содержит X509Certificate
экземпляров.
Вы можете проверить содержимое вашего файла, используя:
keytool -list -v -keystore keystore.jks
Вы также можете проверить документацию Tomcat которая содержит подробные инструкции о том, как создавать эти файлы.