HTTPS Zertifikat Problem

Dieses Thema HTTPS Zertifikat Problem im Forum "Allgemeine Java-Themen" wurde erstellt von Fohnbit, 29. Nov. 2016.

Thema: HTTPS Zertifikat Problem Hallo, ich update einen DynDNS Dienst: ddnss.de Dort wurde das https Zertifikat erneuert und nun bekomme ich:...

  1. Hallo,

    ich update einen DynDNS Dienst: ddnss.de
    Dort wurde das https Zertifikat erneuert und nun bekomme ich:

    Code (Text):
    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
        at sun.security.ssl.Alerts.getSSLException(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
        at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
        at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
        at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
        at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
        at sun.security.ssl.Handshaker.processLoop(Unknown Source)
        at sun.security.ssl.Handshaker.process_record(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
        at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
        at java.net.HttpURLConnection.getResponseCode(Unknown Source)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
        at com.ddnss.DDNSS.run(DDNSS.java:38)
    Der Code an der Stelle:
    Code (Java):
            try {
               
               
                String authStr = user + ":" + pass;
                String authEncoded = Base64.encodeBytes(authStr.getBytes());
                String url = "https://ddnss.de/nic/update?hostname=" + hostname;
                URL obj = new URL(url);
                HttpURLConnection con = (HttpURLConnection) obj.openConnection();
                con.setConnectTimeout(5000);
                con.setRequestMethod("GET");
                con.setRequestProperty("User-Agent", USER_AGENT);
                con.setRequestProperty("Authorization", "Basic " + authEncoded);
               
                int responseCode = con.getResponseCode();

                BufferedReader in = new BufferedReader(new InputStreamReader(
                        con.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();
                con.disconnect();
     
    Ich möchte aber kein Zertifikat händisch speichern ... ändert sich ja wieder mal und ich muss erneut alles händisch machen.

    Kann meine Applikation nicht einfach "jedes" Zertifikat aktzeptieren?

    Danke!
     
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*
  3. Versuche einmal ip4.ddnss.de oder ip6.ddnss.de
    Der Verwalter der Webseite hat nicht alle erreichbaren DNS Namen in das SAN Zertifikat gepackt.
    Hier musst du nicht jedes mal das Zertifikat speichern sondern der Admin muss das ganze richtig machen.
     
  4. Dann wurde das Zertifikat gestern oder heute vom Betreiber ersetzt. Gestern gab es noch ein anderes Zertifikat.
    Aber solange es jetzt geht.
     
  5. Kostenloses Java-Grundlagen Training im Wert von 39 €
    Schau dir jetzt hier das Tutorial an und starte richtig durch!