vendredi 18 mars 2011
Comment signer des fichiers APK Android et ZIP
Avant de publier leurs applications sur Android Market, les développeurs de signer les fichiers .Apk avec une clé privée personnelle aussi appelé un certificat. La plate-forme Android identifie l'auteur de la demande par le biais de ce certificat.
Dans le passé, la seule façon de signer un fichier .Apk était d'utiliser un outil clé, puis il signe avec jarsigner, mais récemment, une autre solution a été développée et elle est compatible avec pratiquement n'importe quel système d'exploitation.
La méthode la plus simple ne nécessite qu'un seul outil à signer les fichiers .Apk, appelé SignApk.jar et inclus dans le bundle Android source plate-forme.
L'application est livrée avec les touches par défaut de plusieurs, qui ne devrait pas être utilisé à des fins personnelles. Je conseille fortement aux utilisateurs de générer leurs propres clés.
Pour utiliser SignApk.jar vous aurez à créer une clé privée avec le certificat correspondant à l'aide de OpenSSL.
Après avoir téléchargé OpenSSL assurez-vous de se rappeler où vous l'avez extrait (de préférence en C: \ openssl). Dans le type de répertoire openssl la ligne suivante en utilisant l'outil de ligne de commande:
- openssl genrsa -out key.pem 1024
- openssl req -new -key key.pem -out request.pem
- openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
- openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
Ensuite, vous serez en mesure de signer un fichier APK. Utilisant l'outil SignApk.jar et les fichiers key.pk8 et certificate.pem que vous venez de créer en utilisant les commandes décrites ci-dessus.
Avant d'utiliser SignApk à chanter le fichier .APK, assurez-vous que Java soit installé et copier certificate.pem et key.pk8 dans votre répertoire SignApk extrait.
Utilisation de l'invite de commande, type de répertoire au sein SignApk la commande suivante pour que votre demande soit signée:
- java -jar signapk.jar certificate.pem key.pk8 your-update.zip your-signed-update.zip
Pour vérifier que le paquet a été signé il suffit de taper: jarsigner-verify-verbose-certs apkfilename.