Lors de la signature d'un apk après une longue pause dans le développement d'Android, j'ai été surpris de ne plus pouvoir entrer un mot de passe de magasin de clés vide pour le déverrouiller. Est-ce juste moi ou est-ce que c'était possible avant? Si tel est le cas, quand cela a-t-il changé et comment puis-je réussir à déverrouiller le magasin de clés?
Quelques antécédents: peut-être que je suis fou et que je n'ai jamais utilisé de mot de passe vide pour le magasin de clés, mais le seul et unique mot de passe que j'aurais pu utiliser à la place ne fonctionne pas non plus (je jure, je ne J'ai utilisé un autre mot de passe!).
Le magasin de clés peut être manipulé à l'aide de la variable keytool
dans le kit de développement Java.
Essayez d'exécuter l'outil de clé sur votre magasin de clés et extrayez les certificats avec le mot de passe vide. Ensuite, importez-le dans un nouveau magasin de clés. Cette fois, utilisez un vrai mot de passe.
Le commutateur -exportcert
vous aidera à y parvenir.
Il se peut que vous ayez mis à jour votre sdk Java et que, par conséquent, vous ne puissiez pas entrer de mot de passe vide (en raison d'une mise à niveau de sécurité de l'outil). Dans ce cas, vous pouvez essayer d'installer un ancien SDK et procéder comme indiqué ci-dessus.
Bonne chance!
Au lieu d'utiliser le programme keytool, écrivez un programme Java SE simple, fatigué d'utiliser votre clé ou répertoriant des alias. L'API devrait (pas à 100% sur ce point) vous permet d'utiliser un mot de passe vide (""
). Vous pouvez également essayer des outils tiers tels que portecle pour lister/extraire les clés.
Essayez le mot de passe par défaut du fichier de clés du mode de débogage Android, à savoir Android
ou Java cacerts par défaut changeit
/changeme
.
Vous ne pouvez pas utiliser un mot de passe vide pour votre magasin de clés.
J'ai vérifié, dans la mesure où jdk 1.3 keytool ne le permet pas, voir http://docs.Oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html où doc indique explicitement que:
storepass doit comporter au moins 6 caractères. Il doit être fourni à toutes les commandes qui accèdent au contenu du fichier de clés. Pour de telles commandes, si une option -storepass n'est pas fournie sur la ligne de commande, l'utilisateur est invité à la saisir.
Pour le fun, je voulais essayer keytool à partir de jdk 1.2 et je l’ai téléchargé car sa documentation n’indique pas que le mot de passe est obligatoire, mais j’ai besoin d’une boîte Windows NT pour l’installer! version de keytool.
Désolé, mais il semble que vous ayez: oublié votre mot de passe ou saisi avec des majuscules/une mauvaise configuration de clavier activée. :(
MODIFIER:
Si ce n’est pas un problème de mise en page, vous pouvez essayer de
J'ai fait face à ce problème aussi et c'était très bizarre. J'avais un ancien magasin de clés qui n'était protégé par aucun mot de passe. Je pouvais l'utiliser avec succès dans SoapUI mais keytool
et keystore Explorer n'ont pas réussi à l'ouvrir. Je devais créer un nouveau magasin de clés avec déjà un mot de passe et depuis, tout allait bien.
Je soupçonne que Java 8 est plus difficile que Java 7.
keytool -importkeystore -srckeystore client.jks -destkeystore client2.jsk -srcstoretype JKS -deststoretype JKS -deststorepass changeit
Si tout ce qui précède échoue, vous pouvez essayer de le résoudre. Question connexe: Android - Mot de passe oublié Puis-je déchiffrer le fichier de magasin de clés?