612 Stimmen

Fehler - trustAnchors-Parameter darf nicht leer sein

Ich versuche, meine E-Mail auf Jenkins/Hudson zu konfigurieren, und erhalte ständig die Fehlermeldung:

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be
    non-empty

Ich habe im Internet zahlreiche Informationen über diesen Fehler gefunden, aber ich habe keine davon gefunden. Ich verwende das JDK von Sun auf Fedora Linux (nicht OpenJDK).

Hier sind ein paar Dinge, die ich ausprobiert habe. Ich habe versucht, den Rat aus diesem Beitrag , aber das Kopieren der Cacerts von Windows auf meine Fedora-Box, die Jenkins hostet, hat nicht funktioniert. Ich habe Folgendes versucht dieser Leitfaden da ich versuche, Gmail als meinen SMTP-Server zu konfigurieren, aber auch das hat nicht funktioniert. Ich habe auch versucht, die cacert-Dateien manuell herunterzuladen und in meinen Java-Ordner zu verschieben, indem ich eine Variation der Befehle auf dieser Leitfaden .

Ich bin für jeden Vorschlag offen, da ich im Moment nicht weiterkomme. Ich habe es von einem Windows-Hudson-Server aus zum Laufen gebracht, aber unter Linux habe ich Schwierigkeiten.

2voto

Divyesh Kalbhor Punkte 365
System.setProperty("javax.net.ssl.trustStore", "C:\\Users\\user-id\\Desktop\\tomcat\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "passwd");

Sie müssen die beiden oben genannten Zeilen in Ihren Code einfügen. Er ist nicht in der Lage, den Truststore zu finden.

2voto

rdupz Punkte 2064

Fall in diese mit Amazon SDK v2, Windows 10 und JDK8. Amazon SDK hat sich über das Laden von Anmeldeinformationen beschwert.
Ich habe das Problem gelöst, indem ich die security/cacert Datei von JDK8 durch die von JDK11 zu ersetzen.

2voto

Stevey Punkte 1972

Für das Protokoll, keine der hier gegebenen Antworten hat bei mir funktioniert. Meine Gradle-Build begann geheimnisvoll mit diesem Fehler fehlschlagen, nicht in der Lage, HEAD von holen Maven zentral für eine bestimmte POM Datei.

Es stellte sich heraus, dass ich JAVA_HOME auf mein persönliches Build von OpenJDK gesetzt hatte, das ich zum Debuggen eines javac-Problems erstellt hatte. Das Zurücksetzen auf das auf meinem System installierte JDK hat das Problem behoben.

2voto

ak1 Punkte 104

Unter Red Hat Linux konnte ich dieses Problem lösen, indem ich die Zertifikate nach /etc/pki/java/cacerts .

2voto

Christian Bartram Punkte 331

Slim Chance dies wird jemand helfen, aber....für alle, die Java 8 von einem Docker-Image auf einem Raspberry Pi (mit AMD-CPU) Ich habe die folgende Dockerfile zu bauen und laufen erfolgreich für mich

FROM hypriot/rpi-java
USER root

WORKDIR /usr/build/

RUN /usr/bin/printf '\xfe\xed\xfe\xed\x00\x00\x00\x02\x00\x00\x00\x00\xe2\x68\x6e\x45\xfb\x43\xdf\xa4\xd9\x92\xdd\x41\xce\xb6\xb2\x1c\x63\x30\xd7\x92' > /etc/ssl/certs/java/cacerts
RUN update-ca-certificates -f
RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure

EXPOSE 8080

ARG JAR_FILE=target/app-0.0.1-SNAPSHOT.jar

ADD ${JAR_FILE} app.jar

ENTRYPOINT ["java", "-Djavax.net.ssl.trustStorePassword=changeit", "-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts", "-jar", "app.jar"]

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