951 Stimmen

"PKIX Pfadkonstruktion fehlgeschlagen" and "kein gültiger Zertifikat-Pfad zum angeforderten Ziel gefunden"

Ich versuche, Tweets mit der Twitter4j-Bibliothek für mein Java-Projekt abzurufen, die unter Verwendung von java.net.HttpURLConnection (wie im Stack-Trace zu sehen ist) funktioniert. Bei meinem ersten Versuch erhielt ich einen Fehler bezüglich des Zertifikats sun.security.validator.ValidatorException und sun.security.provider.certpath.SunCertPathBuilderException. Dann fügte ich das Twitter-Zertifikat hinzu, indem ich folgendes durchführte:

C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PfadZuZertifikat -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts"

Aber ohne Erfolg. Hier ist das Verfahren zum Abrufen von Tweets:

public static void main(String[] args) throws TwitterException {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
        .setOAuthConsumerKey("meinConsumerKey")
        .setOAuthConsumerSecret("meinConsumerSecret")
        .setOAuthAccessToken("meinAccessToken")
        .setOAuthAccessTokenSecret("meinAccessTokenSecret");

    TwitterFactory tf = new TwitterFactory(cb.build());
    Twitter twitter = tf.getInstance();

    try {
        Query query = new Query("iphone");
        QueryResult result;
        result = twitter.search(query);
        System.out.println("Gesamtzahl der Tweets: " + result.getTweets().size());
        List tweets = result.getTweets();

        for (Status tweet : tweets) {
            System.out.println("@" + tweet.getUser().getScreenName() + " : " + tweet.getText());
        }
    } catch (TwitterException te) {
        te.printStackTrace();
        System.out.println("Fehler beim Suchen von Tweets: " + te.getMessage());
    }

Und hier ist der Fehler:

sun.security.validator.ValidatorException: PKIX-Pfadaufbau fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: Kann gültigen Zertifikatspfad zum angeforderten Ziel nicht finden
Relevante Diskussionen finden Sie im Internet unter:
    http://www.google.co.jp/search?q=d35baff5 oder
    http://www.google.co.jp/search?q=1446302e
TwitterException{exceptionCode=[d35baff5-1446302e 43208640-747fd158 43208640-747fd158 43208640-747fd158], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.5}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:81)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1929)
    at twitter4j.TwitterImpl.search(TwitterImpl.java:306)
    at jku.cc.servlets.TweetsAnalyzer.main(TweetsAnalyzer.java:38)
Verursacht durch: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX-Pfadaufbau fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: Kann gültigen Zertifikatspfad zum angeforderten Ziel nicht finden
    at sun.security.ssl.Alerts.getSSLException(Unbekannter Quelltext)
    at sun.security.ssl.SSLSocketImpl.fatal(Unbekannter Quelltext)
    at sun.security.ssl.Handshaker.fatalSE(Unbekannter Quelltext)
    at sun.security.ssl.Handshaker.fatalSE(Unbekannter Quelltext)
    ...

-1voto

Darshil Shah Punkte 357

Ich hatte mit dem gleichen Problem zu kämpfen, ich benutzte 8.1.0-3, aber später benutzte ich 9.2.1-0 und das Problem wurde ohne manuelle Schritte behoben. Das selbstsignierte Zertifikat funktionierte einwandfrei.

-2voto

fatih Punkte 929

Wenn Sie diesen Fehler in einer IDE wie Spring Tools Suite oder Eclipse gefunden haben, versuchen Sie zunächst, die HTTP-Version Ihrer URL anstelle von HTTPS zu verwenden.

Ich hatte diesen Fehler, als ich versuchte, den SonarQube-Link zur Spring Tools Suite hinzuzufügen. Ich habe meine URL ersetzt durch:

http://sonarqube...

anstatt von

https://sonarqube...

Ich habe erfolgreich eine Verbindung zu SonarQube hergestellt.

Ich hoffe, dass dies für diejenigen hilfreich ist, die wie ich nach einer Antwort auf diese Frage suchen.

-2voto

Braian Coronel Punkte 19992

Fehler

Bei der Konfiguration des Stammprojekts 'uy-android-pagos' ist ein Problem aufgetreten.
> Konnte nicht alle Artefakte für die Konfiguration ': classpath' auflösen.
   > Konnte com.goo  gle.firebase: firebase-crashlytics-gradle: 2.1.0 nicht auflösen.
     Erforderlich von:
         Projekt :
      > Konnte com.goo  gle.firebase: firebase-crashlytics-gradle: 2.1.0 nicht auflösen.
         > Ressource 'https://depdes.artifactory.prod.cloud.ihf/artifactory/itau-oq6-frameworks-maven/com/goo%20%20gle/firebase/firebase-crashlytics-gradle/2.1.0/firebase-crashlytics-gradle-2.1.0.pom' konnte nicht abgerufen werden.
            > Konnte 'https://depdes.artifactory.prod.cloud.ihf/artifactory/itau-oq6-frameworks-maven/com/goo%20%20gle/firebase/firebase-crashlytics-gradle/2.1.0/firebase-crashlytics-gradle-2.1.0.pom' nicht erhalten.
               > PKIX-Pfadgenerierung fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: kann keinen gültigen Zertifikatspfad zum angeforderten Ziel finden

Lösung

Beachten Sie, dass es viele mögliche Ursachen für diesen Fehler gibt. In meinem Fall habe ich es folgendermaßen behoben:

  1. Projekt mit Gradle-Dateien synchronisieren
  2. Prüfen Sie den Fehler Konnte com.goo gle.firebase: firebase-crashlytics-gradle: 2.1.0 nicht auflösen.
  3. Ändern Sie in build.gradle (: Projekt) von com.goo gle.firebase: firebase-crashlytics-gradle: 2.1.0 zu com.google.firebase: firebase-crashlytics-gradle: 2.1.0 (beachten Sie die Leerzeichen)

Alle Fehler in den Abhängigkeitsklassenpfaden führen zu dieser Art von Ausnahme. Überprüfen Sie das Gradle des Commits, das das Problem verursacht.

GL

-2voto

user1379218 Punkte 9

Ich habe das gleiche Problem auf Ubuntu 15.10. Bitte versuchen Sie, das Plugin lokal herunterzuladen, z.B. https://github.com/lmenezes/elasticsearch-kopf/archive/master.zip und installieren Sie es mit diesem Befehl:

sudo /usr/share/elasticsearch/bin/plugin install file:/home/dev/Downloads/elasticsearch-kopf-master.zip

Der Pfad kann je nach Ihrer Umgebung unterschiedlich sein.

Mit freundlichen Grüßen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X