J'essaie de trouver le hachage SHA1 de mon magasin de clés de signature sur macos sierra en utilisant la commande suivante:
keytool -exportcert -alias androiddebugkey -keystore $HOME/.Android/debug.keystore -list -v -storepass Android
Le résultat ressemble à ci-dessous:
Nom d'alias: androiddebugkey
Date de création: 25 octobre 2017
Type d'entrée: PrivateKeyEntry
Longueur de la chaîne de certificats: 1
Certificat [1]:
erreur keytool: Java.util.IllegalFormatConversionException: d! = Java.lang.String Java.util.IllegalFormatConversionException: d! = Java.lang.String at Java.base/Java.util.Formatter $ FormatSpecifier.failConversion (Formatter.Java:4331) sur Java.base/Java.util.Formatter $ FormatSpecifier.printInteger (Formatter.Java:2846) sur Java.base/Java.util.Formatter $ FormatSpecifier.print (Formatter.Java:2800) sur Java.base/Java.util.Formatter.format (Formatter.Java:2581) sur Java.base/Java.util.Formatter.format (Formatter.Java:2517) sur Java.base/Java.lang.String.format ( String.Java:2747) sur Java.base/Sun.security.tools.keytool.Main.withWeak (Main.Java:3151) sur Java.base/Sun.security.tools.keytool.Main.printX509Cert (Main.Java: 3182) sur Java.base/Sun.security.tools.keytool.Main.doPrintEntry (Main.Java:1995) sur Java.base/Sun.security.tools.keytool.Main.doCommands (Main.Java:1212) sur Java .base/Sun.security.tools.keytool.Main.run (Main.Java:397) sur Java.base/Sun.security.tools.keytool.Main.main (Main.Java:390)
Pour autant que je puisse voir que la commande fonctionne, ce n'est pas un problème avec le fichier ni avec le mot de passe, il me semble une erreur interne en Java, manque-t-il un Java? I utilise Java SDK 9.0.1
J'ai trouvé que le problème venait de la dernière version de Keytool dans JDK8.151
et JDK9
. Par défaut keytool
utilise la langue par défaut du système et cela semble ne plus fonctionner correctement sur certaines langues (dans mon cas le français).
Il suffisait de forcer la sortie en anglais en utilisant le paramètre -J-Duser.language=en
Essayez donc d'utiliser cette ligne de commande à la place:
keytool -J-Duser.language=en -exportcert -alias androiddebugkey -keystore $HOME/.Android/debug.keystore -list -v -storepass Android
Voir aussi ma réponse ici: https://stackoverflow.com/a/47181882/5292951