Beim Generieren von Zertifikaten auf meinem lokalen Computer wird der folgende 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, es gibt einige Probleme in der JDK-Version. Ich habe den gleichen Befehl auf meinem Kollegen-Computer ausgeführt und er funktioniert einwandfrei.
Bitte teilen Sie Ihre Eingaben.
Antworten:
Aus Ihrer Beschreibung gehe ich davon aus, dass Sie sich auf einer Windows-Maschine befinden und Ihr Zuhause abc ist
Also jetzt: Ursache
Wenn Sie diesen Befehl ausführen
keytool -genkey -alias tomcat -keyalg RSA
Da Sie keinen expliziten Keystore angeben, wird versucht, einen Keystore zu generieren (und in Ihrem Fall, wenn Sie eine Ausnahme erhalten, um ihn zu aktualisieren).
C:\users\abc>.keystore
Natürlich müssen Sie ein altes Kennwort für .keystore angeben, während Sie meiner Meinung nach Ihre Version bereitstellen (a ein neues).Lösung
Entweder
.keystore
vomC:\users\abc>
Speicherort löschen und den Befehl ausführenoder versuchen Sie den folgenden Befehl, der einen neuen xyzkeystore erstellt:
keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA
Hinweis:
-genkey
Ist jetzt alt, verwenden Sie lieber,-genkeypair
obwohl beide Werke gleichermaßen funktionieren.quelle
Ich habe es mit dem Standardkennwort für den Cacerts-Keystore gelöst:
'changeit'
quelle
Diese Antwort ist hilfreich für neue Mac-Benutzer (funktioniert auch für Linux, Windows 7 64-Bit).
Das leere Passwort funktionierte auf meinem Mac. (Fügen Sie die folgende Zeile in Terminal ein)
wenn es dazu auffordert
Drücken Sie einfach die Eingabetaste (geben Sie nichts ein). Es sollte funktionieren.
Stellen Sie sicher, dass es sich um eine Standarddatei handelt
debug.keystore
, nicht um eine projektbasierte Keystore-Datei (das Kennwort kann sich hierfür ändern).Funktioniert auch gut für MacOS Sierra 10.10+.
Ich habe gehört, es funktioniert auch für Linux-Umgebungen. Ich habe das noch nicht unter Linux getestet.
quelle
Die Verwendung von changeit für das Passwort ist ebenfalls wichtig.
Dieser Befehl funktionierte schließlich für mich (mit Steg):
quelle
Achten Sie in Tomcat 8.5 darauf, den korrekten 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 besuchen , um alle Attribute anzuzeigen
quelle
Das Standardkennwort für den Debug-Keystore lautet
android
.quelle
Ich habe dieses Problem mit dem Standardkennwort " changeit " gelöst .
quelle
Funktioniert unter Windows
Öffnen Sie die Eingabeaufforderung (drücken Sie Windows-Taste + R, geben Sie "cmd" ohne Anführungszeichen in das angezeigte Dialogfeld ein und drücken Sie die Eingabetaste).
Geben Sie dann den folgenden Code ein:
Geben Sie dann den folgenden Befehl ein
Dann wird jetzt nach dem Keystore-Passwort gefragt. Das Standardkennwort ist "android" und geben Sie ein oder drücken Sie einfach die Eingabetaste "KEIN PASSWORT TYPEN".
quelle
Überprüfen Sie Ihren Home-Ordner
~/.gradle/gradle.properties
. Manchmal, wenn Siegradle.properties
im Home-Verzeichnis haben, nimmt es Details von dort. Entweder können Sie das ändern oder die Dateien löschen. Dann werden die erforderlichen Details aus Ihrem lokalen Ordner übernommen.quelle
Zusammenfassend habe ich die Ratschläge auf dieser Seite zusammengefasst und Folgendes festgestellt:
Dann bekam ich eine Reihe von Fragen zu Name, Organisation, Ort und Passwort für meinen Alias.
quelle
Ich habe mein Problem gelöst, als ich den Schlüsselspeicherpfad C: \ MyWorks \ mykeystore in C: \ MyWorks \ mykeystore.keystore geändert habe .
quelle
In meinem Fall musste ich
root
Zugang haben.quelle
Ich habe dieses Problem behoben, indem ich die Ausgabedatei gelöscht und den Befehl erneut ausgeführt habe. Es stellt sich heraus, dass die vorherige Datei NICHT überschrieben wird. Ich hatte dieses Problem bei der Erneuerung eines Zertifikats mit Tomcat
quelle
Hinweis: - Schreiben Sie über Export Pasworrd irgendwo hin, da eine JKS-Datei erstellt werden muss (es hängt von Ihrer Wahl ab, welches Kennwort Sie erstellen möchten).
quelle
Für mich habe ich es gelöst, indem ich Passwörter von arabischen Buchstaben in englische Buchstaben geändert habe, aber zuerst bin ich in den Ordner gegangen und habe den generierten Schlüssel gelöscht, dann funktioniert es.
quelle
Wenn Sie daran arbeiten, Ihre Flutter-App anhand dieser Anleitung zu signieren, erstellen und veröffentlichen Sie eine Android-App und führen Sie diesen Fehler aus. Ich hoffe diese Antwort hilft dir.
In meinem Fall habe ich den Pfad zum Speichern meiner key.jks geändert. Dies ist mir passiert, weil in diesem Pfad eine Datei vorhanden war.
Dieser Befehl speichert die Datei key.jks in Ihrem Home-Verzeichnis. Um es an anderer Stelle zu speichern, ändern Sie das Argument, das Sie an den Parameter -keystore übergeben.
In meinem Fall,
dh X - Benutzername und Y - Ordnername
Anschließend werden Sie aufgefordert, das Keystore-Passwort einzugeben : und das neue Passwort erneut einzugeben: . Hier können Sie ein beliebiges Passwort verwenden.
Halten Sie die Keystore-Datei jedoch privat. Checken Sie es nicht in die öffentliche Quellcodeverwaltung ein!
quelle
In meinem Fall mit Xamarin Forms 4.7 und Visual Studio 2019 16.7.0 Preview 3.1 war das Problem die Nichtübereinstimmung der Version der kürzlich aktualisierten Android Build-Tools (Apksigner) und JDK. JDK wurde auf den neuesten Stand gebracht und auf den neuen JDK-Pfad unter Extras-> Optionen-> Xamarin-> Android-Einstellungen verwiesen, und es funktioniert.
quelle