keytool error Keystore wurde manipuliert oder das Passwort war falsch

Beim Generieren von Zertifikaten auf meinem lokalen Computer wird ein Fehler angezeigt.

C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA Enter keystore password: keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect 

Ich denke, dass es einige Probleme in der jdk-Version gibt. Ich habe den gleichen Befehl auf meiner Kollegenmaschine ausgeführt, und es funktioniert gut.

Bitte teilen Sie Ihre Eingaben mit.

   

Von Ihrer Beschreibung nehme ich an, dass Sie auf Windows-Maschine sind und Ihr Haus ist abc

Also jetzt: Ursache

Wenn Sie diesen Befehl ausführen

keytool -genkey -alias tomcat -keyalg RSA

Da Sie keinen expliziten Keystore angeben, wird er versuchen, den C:\users\abc>.keystore zu generieren (und in Ihrem Fall, wenn Sie eine Exception erhalten, um ihn zu aktualisieren) und natürlich müssen Sie das alte Passwort für .keystore bereitstellen Ich glaube, dass Sie Ihre Version (eine neue) zur Verfügung stellen.

Lösung

  1. Entweder löschen Sie .keystore von C:\users\abc> location und versuchen Sie den Befehl

  2. oder versuche folgenden Befehl, der einen neuen xyzkeystore erzeugt:

    keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA

Hinweis: -genkey ist alt, -genkey jetzt -genkeypair obwohl beides gleich funktioniert.

Ich triggerse es mit dem Standardpasswort für cacerts keystore: 'changeit'

Diese Antwort wird für neue Mac User hilfreich sein (funktioniert auch für Linux, Windows 7 64 bit).

Leeres Passwort funktionierte in meinem Mac. (fügen Sie die untere Zeile im Terminal ein)

 keytool -list -v -keystore ~/.android/debug.keystore 

wenn es aufgefordert wird

 Enter keystore password: 

Drücken Sie einfach die Enter-Taste (Geben Sie nichts ein). Es sollte funktionieren.

Bitte stellen Sie sicher, dass es sich um die debug.keystore Datei handelt, nicht um Ihre projektbasierte Keystore-Datei (Password könnte sich dafür ändern).

functioniert auch gut für MacOS Sierra 10.10+.

Ich habe gehört, es funktioniert auch für Linux-Umgebung. das habe ich noch nicht in linux getestet.

In Tomcat 8.5 achten Sie darauf, den richtigen Namen der Attribute zu schreiben. Dies ist mein Code auf server.xml:

      

Sie können https://tomcat.apache.org/tomcat-8.5-doc/config/http.html aufrufen , um alle Attribute anzuzeigen

Die Verwendung von changeit für das Passwort ist ebenfalls wichtig.

Dieser Befehl funktionierte schließlich für mich (mit Steg):

  keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048 

Überprüfen Sie Ihren Home-Ordner ~/.gradle/gradle.properties . Manchmal, wenn Sie gradle.properties im Home-Verzeichnis haben, nimmt es Details von dort. Entweder Sie können das ändern oder die Dateien löschen. Dann werden die erforderlichen Details von Ihrem lokalen Ordner übernommen.

functioniert unter Windows

Öffnen Sie die Eingabeaufforderung (drücken Sie die Windows-Taste + R, geben Sie “cmd” ohne Anführungszeichen in das Dialogfeld ein und drücken Sie die Eingabetaste).

Gib dann den folgenden Code ein:

  1. CD C: \ Programme \ Java \ jdk1.7.0_25 \ bin

dann folgenden Befehl eingeben

  1. keytool -list -keystore “C: / Dokumente und Einstellungen / Ihr Name / .android / debug.keystore”

Dann wird nach dem Keystore-Passwort gefragt. Das Standardpasswort lautet “android” und geben Sie ein oder drücken Sie einfach die Eingabetaste “kein Passwort eingeben”.

Zusammenfassend die Ratschläge von dieser Seite, habe ich folgendes abgeschlossen:

 keytool -genkeypair -keystore ~/.android/release.keystore -alias  -storepass  -keyalg RSA 

Dann bekam ich eine Reihe von Fragen bezüglich Name, Organisation, Ort und Passwort für meinen Alias.

keytool error: java.io.IOException: Keystore wurde manipuliert oder das Passwort war falsch

Ich habe mein Problem getriggers, als ich den Schlüsselspeicherpfad C: \ MyWorks \ mykeystore in C: \ MyWorks \ mykeystore.keystore geändert habe .

In meinem Fall musste ich root Zugang haben.

Ich habe dieses Problem behoben, indem ich die Ausgabedatei gelöscht und den Befehl erneut ausgeführt habe. Es stellt sich heraus, dass es die vorherige Datei NICHT überschreibt. Ich hatte dieses Problem bei der Erneuerung eines Let’s cert mit Tomcat zu verschlüsseln