289 votes

Keystore change les mots de passe

J'ai actuellement un keystore, avec un mot de passe particulier que je suis le seul à connaître. J'ai maintenant besoin de donner l'accès à ce keystore à quelqu'un d'autre, donc je voudrais soit :

1) Changer le mot de passe, afin que je puisse le partager avec d'autres personnes et les laisser signer.
2) Créez un mot de passe différent et autorisez-les à signer avec celui-ci.

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

527voto

ZZ Coder Points 36990

Keystore n'a qu'un seul mot de passe. Vous pouvez le changer 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

7 votes

Super, donc la signature de l'apk sera la même ? Seul le mot de passe changera ? C'est ce dont j'ai besoin aussi. J'ai choisi un mauvais mot de passe, maintenant je dois le changer.

7 votes

La signature ne changera pas, car l'application n'est PAS signée avec le keystore, mais avec le certificat que vous conservez dans le keystore.

0 votes

KeyName est le nom de l'alias, par exemple -alias Dipu

87voto

Pascal Thivent Points 295221

[Comment puis-je changer le mot de passe, pour pouvoir le partager avec d'autres personnes et les laisser signer ?

Utilisation de Keytool :

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

0 votes

Est-ce que cela change aussi le mot de passe pour la clé à l'intérieur ?

4 votes

Non. Keystore est une chose, les mots de passe (notez le pluriel) en sont une autre. Utilisez keytool -keypasswd -alias <KeyName> -keystore my.keystore pour changer le mot de passe de la clé privée <KeyName>

7 votes

Après avoir entré keystore pass -changeit il donne erreur keytool error : java.io.IOException : La clé de stockage a été altérée ou le mot de passe est incorrect.

51voto

user98239820 Points 125

Changer le mot de passe du keystore

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

Changement du mot de passe de l'alias du keystore

$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

1 votes

Cela fonctionne, merci ! Une dernière chose que je veux ajouter pour changer le nom de l'alias que j'ai voulu et obtenu d'un forum. keytool -changealias -keystore my.keystore -alias mon_nom -destalias mon_nouveau_nom

0 votes

En changeant le mot de passe de l'alias, j'obtiens : UnrecoverableKeyException : Impossible de récupérer la clé. Des suggestions ?

0 votes

@Foo avez-vous réussi à résoudre ce problème ? J'obtiens la même erreur

21voto

OriolJ Points 677

Pour modifier le mot de passe d'une clé myalias à l'intérieur du keystore mykeyfile :

keytool -keystore mykeyfile -keypasswd -alias myalias

0 votes

Qu'est-ce qu'une "clé intérieure" ?

5 votes

Désolé pour ma mauvaise explication. Vous pouvez changer le mot de passe du keystore ou le mot de passe d'une des clés que vous avez stockées dans le keystore. C'est ce que je veux dire par "clé interne".

8voto

Ishan Liyanage Points 131

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X