2010-05-22 13 views
200

Ich habe derzeit einen Keystore, mit einem bestimmten Passwort, das nur ich wissen sollte. Ich muss jetzt den Zugang zu dieser Schlüsselspeicher geben jemand anderes, so würde Ich mag entweder:Keystore ändern Passwörter

1), um das Passwort ändern, so kann ich es mit anderen teilen und lassen Sie sie unterzeichnen
2) Erstellen Sie ein anderes Passwort und erlaube ihnen, damit zu unterzeichnen.

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

Antwort

371

Schlüsselspeicher hat nur ein Passwort. Sie können es verwenden ändern keytool:

keytool -storepasswd -keystore my.keystore 

Um das Passwort des Schlüssels zu ändern:

keytool -keypasswd -alias <key_name> -keystore my.keystore 
+1

Danke für die Antwort. – user313724

+4

Großartig, also wird die Unterschrift der Apk die gleiche sein? Nur das Passwort wird sich ändern? Das ist es, was ich auch brauche. Wählen Sie ein falsches Passwort, das Sie jetzt ändern müssen. –

+3

Die Signatur wird nicht geändert, da die App NICHT mit dem Schlüsselspeicher signiert ist, sondern mit dem Zertifikat, das Sie im Schlüsselspeicher behalten. –

65

[How can I] Change the password, so I can share it with others and let them sign

Mit keytool:

keytool -storepasswd -keystore /path/to/keystore 
Enter keystore password: changeit 
New keystore password: new-password 
Re-enter new keystore password: new-password 
+1

Vielen Dank für die detaillierte Walkthrough! – user313724

+0

ändert dies auch das Passwort für den Schlüssel im Inneren? –

+4

Nr. Keystore ist eine Sache, Passwörter (Note Plural) ist eine andere. Verwenden Sie 'keytool -keypasswd -alias -keystore my.keystore' zum Ändern des Passworts des privaten Schlüssels' ' –

18

Um das Passwort für einen Schlüssel myalias zu ändern innerhalb von der Schlüsselspeicher mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias 
+0

Was ist "Inside Key"? –

+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

35

ändern Kennwort für Schlüsselspeicher

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

ändern Schlüsselspeicher alias Passwort

$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 
+0

Es funktioniert, danke! Eine weitere Sache möchte ich hinzufügen, um den Alias-Namen zu ändern, den ich wollte und von einem Forum bekommen habe. keytool -changealias -keystore my.keystore -alias my_name -suppennames my_new_name –

+0

Beim Ändern des Alias-Passwortes bekomme ich: UnrecoverableKeyException: Schlüssel kann nicht wiederhergestellt werden Irgendwelche Vorschläge? – Foo

+0

@Foo hast du jemals dieses Problem herausgefunden? Ich bekomme den gleichen Fehler –

8

Wenn der Schlüsselspeicher enthält andere Schlüssel-Einträge mit unterschiedlichem Passwort, das Sie haben, um sie auch zu ändern oder Sie können Ihren Schlüssel zu verschiedenen Schlüsselspeichern mit folgendem Befehl,

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

Du hast gerade meine Woche gerettet! Der '-srckeypass mykeypass -destkeypass myotherkeypass' ist genau das, was ich brauchte. Vielen Dank!!! – Slav

+0

Das ist ausgezeichnet! Vielen Dank! –

4

Es gibt so viele Antworten hier, isolieren, aber wenn Sie versuchen, die JKS zu ändern Passwort auf einem Mac in Android Studio. Hier sind die einfachsten Schritte konnte ich finden

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

2) keytool -storepasswd -neue NewPassword -keystore YOURKEYSTORE.jks

3) Geben Sie Ihr aktuelles Passwort ein