Schlüsselspeicher ändern Passwörter

267

Ich habe derzeit einen Keystore mit einem bestimmten Passwort, das nur ich kennen sollte. Ich muss jetzt jemand anderem Zugriff auf diesen Schlüsselspeicher gewähren, daher möchte ich entweder:

1) Ändern Sie das Passwort, damit ich es mit anderen teilen und sie signieren lassen kann.
2) Erstellen Sie ein anderes Passwort und lassen Sie sie damit signieren.

Ist das möglich? und - wenn ja - wie?

user313724
quelle

Antworten:

489

Der Keystore hat nur ein Passwort. Sie können es mit keytool ändern:

keytool -storepasswd -keystore my.keystore

So ändern Sie das Kennwort des Schlüssels:

keytool -keypasswd  -alias <key_name> -keystore my.keystore
ZZ Coder
quelle
6
Großartig, also wird die Unterschrift der apk dieselbe sein? Nur das Passwort wird sich ändern? Das brauche ich auch. Wählen Sie ein falsches Passwort und müssen Sie es jetzt ändern.
Matthew Rudy
6
Die Signatur ändert sich nicht, da die App NICHT mit dem Keystore signiert ist, sondern mit einem Zertifikat, das Sie im Keystore aufbewahren.
Marcin Orlowski
keyName ist der Name des Alias, z. -alias Dipu
ılǝ
18
Um das Passwort für den Schlüssel zu entfernen, muss man das gleiche Passwort wie für den Keystore
festlegen
Gilt das auch für .jks? Mein Keystore ist .jks generiert von Android Studio
81

[Wie kann ich] Ändern Sie das Passwort, damit ich es mit anderen teilen und sie unterschreiben lassen kann

Verwenden von Keytool:

keytool -storepasswd -keystore /path/to/keystore
Enter keystore password:  changeit
New keystore password:  new-password
Re-enter new keystore password:  new-password
Pascal Thivent
quelle
Ändert dies auch das Passwort für den Schlüssel im Inneren?
over_optimistic
4
Keystore ist eine Sache, Passwörter (Note Plural) eine andere. Verwenden Sie keytool -keypasswd -alias <KeyName> -keystore my.keystore, um Passwort des privaten Schlüssels zu ändern<KeyName>
Marcin Orlowski
5
Nach Eingabe von Keystore Pass-Changeit gibt es Fehler Keytool-Fehler: java.io.IOException: Keystore wurde manipuliert oder Passwort war falsch
Dilip
@ Dipu, ich erhalte den gleichen Fehler. Haben Sie es geschafft, das zu lösen
JiteshW
Sie können überprüfen, ob sich das Kennwort geändert hat (wenn Sie Zweifel haben), indem Sie genau denselben Befehl erneut ausführen. Wenn Sie nach der Eingabe des vorhandenen Kennworts ein falsches Kennwort eingeben, wird angezeigt, dass Sie das falsche Kennwort eingegeben haben oder die Datei manipuliert und abgebrochen wurde.
ArtOfWarfare
48

Ändern des Keystore-Passworts

$ keytool -storepasswd -keystore keystorename
Enter keystore password:  <old password>
New keystore password: <new password>
Re-enter new keystore password: <new password>

Ändern des Keystore-Alias-Passworts

$keytool -keypasswd -keystore keystorename -alias aliasname
Enter keystore password:  
New key password for <aliasname>: 
Re-enter new key password for <aliasname>:

Hinweis:

**Keystorename**: name of your keystore(with path if you are indifferent folder) 
**aliasname**: alias name you used when creating (if name has space you can use \) 
for example: $keytool -keypasswd -keystore keystorename -alias stop\ watch
user98239820
quelle
1
Es funktioniert danke! Eine weitere Sache, die ich hinzufügen möchte, um den Aliasnamen zu ändern, den ich wollte und von einem Forum erhalten habe. keytool -changealias -keystore my.keystore -alias mein_name -destalias mein_neuer_name
Jugal Panchal
Beim Ändern des Alias-Passworts wird Folgendes angezeigt: UnrecoverableKeyException: Schlüssel kann nicht wiederhergestellt werden. Irgendwelche Vorschläge?
Foo
@Foo hast du jemals dieses Problem herausgefunden? Ich erhalte den gleichen Fehler
Ryan Newman
3
Das Ändern des Keystore-Alias-Passworts funktioniert nicht. Es wird nicht nach dem neuen Schlüssel-Passwort für <Aliasname> gefragt. Es fragt nach dem vorhandenen Passwort für <Aliasname>, was in diesem Fall nicht bekannt ist.
Shivaraj Patil
Ich erhalte immer noch nicht Der Schlüssel kann im Schritt nicht wiederhergestellt werden: Neues Schlüsselkennwort für <Aliasname>: Irgendwelche Ideen? Ich habe gerade den Schlüssel in Android Studio erstellt, hochgeladen und festgestellt, dass ich etwas aktualisieren musste und jetzt funktioniert es nicht mehr: /
Dewald Els
22

So ändern Sie das Kennwort für einen Schlüssel myaliasim Schlüsselspeicher mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias
OriolJ
quelle
Was ist "Innenschlüssel"?
IgorGanapolsky
5
Entschuldigung für meine schlechte Erklärung. Sie können das Kennwort des Schlüsselspeichers oder das Kennwort eines der Schlüssel ändern, die Sie im Schlüsselspeicher gespeichert haben. Das meine ich mit "Inside Key".
OriolJ
9

Wenn der Schlüsselspeicher andere Schlüsseleinträge mit einem anderen Kennwort enthält, müssen Sie diese ebenfalls ändern, oder Sie können Ihren Schlüssel mit dem folgenden Befehl für einen anderen Schlüsselspeicher isolieren.

keytool -importkeystore  -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
Ishan Liyanage
quelle
7

Hier gibt es so viele Antworten, aber wenn Sie versuchen, das jks-Passwort auf einem Mac in Android Studio zu ändern. Hier sind die einfachsten Schritte, die ich finden konnte

1) Öffnen Sie Terminal und CD, wo sich Ihre .jks befindet

2) keytool -storepasswd -new NEWPASSWORD -keystore YOURKEYSTORE.jks

3) Geben Sie Ihr aktuelles Passwort ein

Whyoz
quelle
5

KeyStore Explorer ist ein Open-Source-GUI-Ersatz für das Java-Befehlszeilenprogramm keytool und jarsigner. KeyStore Explorer präsentiert ihre Funktionen und mehr über eine intuitive grafische Benutzeroberfläche.

  1. Öffnen Sie einen vorhandenen KeyStore
  2. Extras -> KeyStore-Passwort festlegen
Rafael Membranen
quelle
beste Lösung! Besser als an das Terminal zu schreiben. Mit dieser Software konnte ich die Passwörter ändern und neue Schlüsselpaare hinzufügen. Sehr zu empfehlen
Dan Alboteanu
4

Für eine vollständige programmatische Änderung (z. B. Programm installieren) und ohne Aufforderung

#!/bin/bash -eu

NEWPASSWORD=${1}
OLDPASSWORD=${2}

keytool -storepasswd -new "${NEWPASSWORD}" \
  -storepass "${OLDPASSWORD}" \
  -keystore /path/to/keystore

Vollständige Offenlegung: Ich empfehle NICHT, diese Befehlszeile in einer Shell auszuführen, da die alten und neuen Kennwörter im Verlauf der Shell gespeichert und in der Konsole angezeigt werden.

Alexander Pogrebnyak
quelle