Java Keytool-Fehler nach dem Importieren des Zertifikats "keytool error: java.io.FileNotFoundException & amp; Zugriff abgelehnt"
Ich versuche, die Verbindung einer Java-Web-API über HTTPS; wird jedoch eine Ausnahme geworfen:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Ich diese Schritte befolgt, die ich gelernt von online-keytool & SSL-cert-Tutorien:
- Kopierte ich die HTTPS-URL in den browser heruntergeladen, die SSL-Zertifikate & Installiert im browser den Internet Explorer verwenden.
- Exportiert die Zertifikate auf einen Pfad auf meinem computer, die Zertifikate gespeichert wurden, als
.cer
- Verwendet das Dienstprogramm keytool - import-option. Den folgenden Befehl ohne Fehler ausgeführt.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
- Wurde ich aufgefordert für ein Kennwort an der Eingabeaufforderung, die ich eingegeben dann wurde ich authentifiziert.
- Den
cmd
Fenster gedruckt einige Zertifikat-Daten - & Signaturen und ich wurde aufgefordert, mit der Frage:
Vertrauen Sie diesem Zertifikat?
Ich mit ja beantwortet.
- Die cmd-Eingabeaufforderung angezeigt
Certificate was added to keystore
Aber nach dieser Nachricht eine weitere Ausnahme wurde angezeigt:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Schließlich, wenn ich überprüft den keystore , das SSL-Zertifikat wurde nicht Hinzugefügt, und meine Anwendung gibt die gleiche Ausnahme war ich immer früher, wenn Sie versuchen, eine Verbindung herzustellen:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
InformationsquelleAutor der Frage cyber101 | 2012-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies könnte geschehen, wenn Sie nicht mit der Eingabeaufforderung im administrator-Modus.
Wenn Sie windows 7 verwenden, können Sie gehen, auf ausführen, geben Sie cmd ein und drücken Sie Strg+Umschalt+EINGABETASTE. Dies öffnet die Eingabeaufforderung im administrator-Modus. Wenn nicht, können Sie auch gehen Sie zu start -> alle Programme -> Zubehör -> rechts-klicken auf Eingabeaufforderung, und klicken Sie auf "als administrator ausführen".
InformationsquelleAutor der Antwort Sharan Rajendran
Ich hatte das gleiche problem unter Windows und konnte es lösen, indem laufen cmd.exe als administrator (rechts-klicken Sie im start-Menü, dann "als administrator Ausführen).
InformationsquelleAutor der Antwort daniel
Überprüfen Sie die Berechtigungen Schreibzugriff auf das keystore.
InformationsquelleAutor der Antwort partha saradhi
Ich hatte das gleiche problem beim importieren Sie das Zertifikat in den lokalen Schlüsselspeicher. Immer wenn ich Problem der keytool-Befehl, den ich bekam die folgende Fehlermeldung.
Certificate was added to keystore
keytool-Fehler: java.io.FileNotFoundException: C:\Program Dateien\Java\jdk1.8.0_151\jre\lib\security (Zugriff verweigert)
Folgende Lösung für mich arbeiten.
1) stellen Sie sicher, laufen Eingabeaufforderung in Rus als Administrator-Modus
2) Ändern Sie das aktuelle Verzeichnis auf %JAVA_HOME%\jre\lib\security
3) führen Sie den nachstehenden Befehl
keytool -import-alias "mycertificatedemo" -Datei "C:\Users\name\Downloads\abc.crt" -keystore cacerts
3) geben Sie das Kennwort changeit
4) geben Sie y
5) sehen Sie die folgende Meldung über die erfolgreiche
"Certificate was added to keystore"
Stellen Sie sicher, dass Sie den "cacerts" nur -keystore param Wert , als ich geben Sie den vollständigen Pfad wie "C**:\Program Files\Java\jdk1.8.0_151\jre\lib\security**".
Hoffe, dass diese Arbeit
InformationsquelleAutor der Antwort Waqas Ahmed
Für Mac-Anwender, stellen Sie sicher, dass sudo, und wenn Sie aufgefordert werden, geben Sie zuerst Ihren administrator-Kennwort ein und wird gefolgt von keystore-Kennwort, das in der Regel sollte "changeit" es sei denn, Sie wirklich geändert.
InformationsquelleAutor der Antwort Vineet Kothari
Wenn Sie windows8:
command prompt
command prompt
und klicken Sie aufRun as administrator
. Dann führen Sie das Dienstprogramm keytool-Befehl.InformationsquelleAutor der Antwort arungopal
Ich auch führen Sie die Eingabeaufforderung als Administrator, aber es hat nicht funktioniert für mich mit die folgende Fehlermeldung.
Wenn der Pfad für das keytool ist nicht in Ihrem System-Pfade, dann müssen Sie den vollständigen Pfad verwenden, um Sie keytool verwenden, das ist
So, der Befehl sollte wie
dass für mich gearbeitet.
InformationsquelleAutor der Antwort sher17
Ich habe das gleiche Problem auf Windows 10 bei der Verwendung von PowerShell, funktioniert aber wenn ich mit cmd.
InformationsquelleAutor der Antwort ery
Können Sie sich selbst Berechtigungen um dieses problem zu beheben.
Klicken Sie rechts auf cacerts > wählen Sie "Eigenschaften" > wählen Sie Securit tab > Erlauben, alle Berechtigungen für alle Gruppen-und Benutzer-Namen.
Dieser arbeitete für mich.
InformationsquelleAutor der Antwort goyalshub1509
GELÖST
InformationsquelleAutor der Antwort Ismael ozil
Können Sie speichern anderen Datenträger oder Pfad (nicht C) EX : D\
InformationsquelleAutor der Antwort maithanhduyan