SSLHandshakeException obwohl Cert im Truststore vorhanden

Diskutiere SSLHandshakeException obwohl Cert im Truststore vorhanden im Allgemeine Java-Themen Bereich.
M

Maliko

Hoi,

ich hab grad ein kleines aber verzwicktes Problem. Und zwar muss ich über Java einen Request auf eine Https-Seite machen und bekomme dabei immer folgende Fehlermeldung:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching aspserver.topm.de found.
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:328)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1614)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:987)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at topmxmlermittlung.Handler.TopMHandler.getBelege(TopMHandler.java:35)
at topmxmlermittlung.TopMXmlErmittlung.main(TopMXmlErmittlung.java:39)
Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching aspserver.topm.de found.
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:96)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:200)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1596)
... 14 more
Ich weiß das der Fehler normalerweise auftritt, wenn das Zertifikat nicht in cacerts importiert wurde. Dies habe ich aber getan. Das Problem ist auch dass das Zertifikat nicht für die Seite ist sondern für eine andere (darauf habe ich aber keinen Einfluss, weil auf Seiten des Anbieters). Hat irgendjemand eine Idee wie ich den Fehler behoben bekomme. Ich meine es ist relativ klar dass es am falschen Zertifikat liegt nur wie zum Geier sage ich meinem System dass er das entsprechende Zertifikat benutzen soll auch wenn es nicht für die Seite eigentlich ist?
 
mihe7

mihe7

Du könntest folgendes probieren:
Java:
HttpsURLConnection.setDefaultHostnameVerifier((host, sess) -> "aspserver.topm.de".equals(host));
Muss natürlich gemacht werden, bevor die Connection erzeugt wird.
 
Thema: 

SSLHandshakeException obwohl Cert im Truststore vorhanden

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben