javax.net.ssl.SSLException: java.Sicherheit.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

Weis ich parse eine XML-Datei, die updates diese Datei täglich - das einzige Problem, das ich habe laufen in ist, dass Sie Ihr eigenes Zertifikat (https://...) und ich kann nicht verwenden, bestimmte URL noch ein http://... - link zur Verfügung.

URL url = new URL("https://...");
...
Document document = db.parse(url.openStream());

Dieser code löst die folgende Ausnahme während der Ausführung meiner tests:

javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.Sicherheit.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

Ich habe gesehen, eine Vielzahl von Anregungen im Umgang mit dem erstellen von verschiedenen Klassen, die sich mit dieser Art von Verbindung oder mit einem personal server, sowie hinzufügen das Zertifikat in einen Schlüsselspeicher und dann hinzufügen, dass keystore der Java-Projekt, aber ich habe nicht in der Lage, das zu tun, und bin auf der Suche nach einen etwas einfacheren Weg für mich zu gehen, über den Zugriff auf die XML-online.

  • Es sieht aus wie Sie geändert haben Ihren truststore-Einstellungen nicht auf die Standardwerte verwenden. Was haben Sie verändert?
  • Dies hatte den Effekt, das entfernen der Standard trust store, damit hast du eine leere trustAnchors parameter. Es muss immer eine nicht-leere truststore.
  • Finden Sie diese Beantworten[1] kurz, der keystore nicht gefunden werden kann. [1]: stackoverflow.com/a/6788682/207131
  • Mögliche Duplikate von Fehler - trustAnchors parameter darf nicht leer sein
Schreibe einen Kommentar