ich hätte da wieder ein anliegen, bei dem ich auf eure Expertiese vertraue
Undzwar habe ich eine Anwendung, die bisher über eine URL (java.net.URL) eine Verbindung zu einer Website aufbaut. Hat auch alles bisher wunderbar geklappt.
Jetzt hat die Seite aber auf Https umgestellt und seither funktioniert mein Programm nichtmehr.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
an der Stelle, wo zum ersten Mal eine Verbindung aufgebaut werden soll.
Ich hab natürlich schon selbst nach Lösungen gesucht und sowohl https://github.com/escline/InstallCert als auch versucht das Zertifikat selber mittels „keytool“ zu „cacerts“ hinzuzufügen, hat leider am Ergebnis nichts geändert.
Jetzt hoffe ich, dass mir jemand noch den entscheidenden Tipp geben kann
Ist das Zertifikat auf der Gegenseite denn ordentlich eingerichtet? (Test hier: https://www.ssllabs.com) Gerade wenn ein Zertifikat eine Zwischenzertifikatsstelle erwartet und der Server diese nicht mit ausliefert, kann es oft zu Problemen kommen. Ich würde zuerst mal das eigentliche Problem isolieren.
Notfalls gibt es auch die Möglichkeit, serverseitige Zertifikatsfehler zu ignorieren, wenn es nur ein kleines Tool für dich selbst ist.
Und wie ignoriere ich die?^^ Die Idee hinter dem Programm war eig, dass auch andere das benutzen aber davon bin ich inzwischen Weg, also wenn es bei mir funktioniert ist alles gut.
Ansonsten hab ich jetzt mal den Test gemacht (ssllabs) und der gibt ein Rating von A.
Wenn manche Sachen etwas “blöd” rüberkommen, liegt es daran, dass ich mir bisher über SSH/SSL und dem ganzen drumherum wenig Gedanken gemacht habe.
Ausprobieren kann ich auch erst heute Abend wieder.
Ich hab die Lösung von mogel ausprobiert und es funktioniert tadelos. Ich bin begeistert.
Auch danke an inv_zim, ich werde deinen vorschlag auch ausprobieren/einbauen für den Fall der Fälle.