2010-05-22 6 views
200

J'ai actuellement un keystore, avec un mot de passe particulier que je devrais connaître. Je dois maintenant donner accès à ce fichier de clés à quelqu'un d'autre, donc je voudrais soit:Keystore changer les mots de passe

1) Changer le mot de passe, donc je peux le partager avec les autres et les laisser signer
2) Créer un mot de passe différent et permettez-leur de signer avec.

Est-ce possible? et - si oui - comment?

Répondre

371

Le fichier de clés n'a qu'un seul mot de passe. Vous pouvez le modifier en utilisant keytool:

keytool -storepasswd -keystore my.keystore 

Pour modifier le mot de passe de la clé:

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

Merci pour la réponse. – user313724

+4

Super, donc la signature de l'apk sera la même? Juste le mot de passe va changer? C'est ce dont j'ai besoin aussi. Choisissez un mauvais mot de passe, maintenant besoin de le changer. –

+3

La signature ne change pas, car l'application n'est PAS signée avec le magasin de clés, mais avec le certificat que vous gardez dans le fichier de clés. –

65

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

En utilisant keytool:

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

Merci pour la procédure détaillée! – user313724

+0

cela change-t-il aussi le mot de passe pour la clé à l'intérieur? –

+4

Non Keystore est une chose, les mots de passe (note pluriel) en est une autre. Utilisez 'keytool -keypasswd -alias -keystore mon.keystore' pour changer le mot de passe de la clé privée' ' –

18

Pour changer le mot de passe pour une myalias clé à l'intérieur de le magasin de clés mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias 
+0

Qu'est-ce que "inside key"? –

+5

Désolé pour ma mauvaise explication. Vous pouvez modifier le mot de passe du magasin de clés ou le mot de passe de l'une des clés que vous avez stockées sur le magasin de clés. C'est ce que je veux dire avec "clé intérieure". – OriolJ

35

Changer mot de passe keystore

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

keystore Modification alias mot de passe

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

Note:

**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

Cela fonctionne merci! Une autre chose que je veux ajouter pour changer le nom d'alias que je voulais et obtenu à partir d'un forum. keytool -changealias -keystore mon.keystore -alias mon_nom -destalias mon_new_name –

+0

En changeant le mot de passe alias je reçois: UnrecoverableKeyException: Impossible de récupérer la clé Des suggestions? – Foo

+0

@Foo avez-vous déjà compris ce problème? Je reçois la même erreur –

8

Si le keystore contient d'autres clés entrées avec mot de passe différent, vous devez les changer aussi ou vous pouvez isoler votre clé différente en utilisant keystore ci-dessous commande,

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

Vous venez de sauver ma semaine! Le '-srckeypass mykeypass -destkeypass myotherkeypass' est exactement ce dont j'avais besoin. Je vous remercie!!! – Slav

+0

C'est excellent! Je vous remercie! –

4

Il y a tellement de réponses, mais si vous essayez de changer les JKS mot de passe sur un Mac dans Android Studio. Voici les étapes plus faciles que je pouvais trouver

1) Ouvrez Terminal et cd à l'endroit où se trouve votre .jks

2) keytool -storepasswd -nouvelle newpassword -keystore YOURKEYSTORE.jks

3) entrez votre mot de passe actuel

Questions connexes