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:
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?
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?