Das Problem ist eigentlich nicht HBCI4Java-spezifisch. Von daher denke ich, dass du in de.comp.lang.java eigentlich doch besser aufgehoben waerst - auch wenn Michael dich hierher verwiesen hatte
Auf solche Problem stoesst man generell, wenn man versucht, mit Java HTTPS-Verbindungen aufzubauen (was hbci4java ja intern bei der Verwendung des PIN/TAN-Verfahrens auch tut).
Eine HTTPS-Verbindung ist ueber ein SSL-Zertifikat gesichert. Der Client (hier Java) prueft dessen Gueltigkeit. Diese Pruefung kann aus vielerlei Gruenden fehlschlagen, u.a.:
- das Zertifikat ist abgelaufen
- der im Zertifikat angegebene Hostname stimmt nicht mit dem tatsaechlichen ueberein
- Die Vertrauenskette konnte mangels CA-Zertifikaten nicht geprueft werden.
Diese Pruefung findet im Java TrustManager statt. Ebenso vielfaeltig wie die Ursachen sind auch die moeglichen Loesungen.
a) Besorge dir das SSL-Zertifikat des Bank-Servers bzw. das der signierenden CA und importiere es in Java. Google nach "Java import certificate"
b) Finde heraus, warum das Zertifikat des Bank-Servers nicht ueber die bei Java mitgelieferten Root-Zertifikate (in "cacerts") verifiziert werden konnte. Ist deine Java-Installation vielleicht unvollstaendig? Ist es wirklich der echte Bank-Server?
c) Implementiere einen eigenen TrustManager und pruefe das Zertifikat selbst. Google nach "Java custom trustmanager"
d) Finde heraus, welche Konfigurations-Parameter hbci4java unterstuetzt, um das SSL-Verhalten zu beeinflussen. Lies hierzu
http://hbci4java.kapott.org/ja…Utils.html
Ich kann dir leider keine konkrete Antwort geben. Zum einen, weil es verschiedenste Ursachen und Loesungen gibt. Zum anderen, weil es als Programmierer wichtig ist, das Thema auch zu verstehen. Es waere nicht Sinn der Sache, die Fehlermeldung irgendwie zu unterdruecken, ohne zu verstehen, welche sicherheitsrelevanten Konsequenzen das haben kann. Insbesondere wenn es um so etwas sensibles wie den Zugriff auf ein Konto geht.
Gruss
Olaf