C'est une question générale, mais je suis particulièrement intéressé par son utilisation pour Android. Qu'est-ce qu'un fichier keystore et à quoi sert-il?
Plusieurs applications Android peuvent-elles utiliser le même keystore pour signer leur application (que signifie exactement «signer» un .apk?), Et quelles en sont les implications (le cas échéant)?
Réponses:
La réponse que je fournirais est qu'un fichier keystore consiste à vous authentifier auprès de quiconque le demande. Cela ne se limite pas à la signature de fichiers .apk, vous pouvez l'utiliser pour stocker des certificats personnels, signer des données à transmettre et toute une gamme d'authentification.
En ce qui concerne ce que vous en faites pour Android et probablement ce que vous recherchez puisque vous mentionnez la signature d'apk, c'est votre certificat. Vous marquez votre application avec vos informations d'identification. Vous pouvez marquer plusieurs applications avec la même clé, en fait, il est recommandé d'utiliser un certificat pour marquer plusieurs applications que vous écrivez. Il est plus facile de savoir quelles applications vous appartiennent.
Je ne sais pas ce que vous entendez par implications. Je suppose que cela signifie que personne d'autre que le titulaire de votre certificat ne peut mettre à jour votre demande. Cela signifie que si vous le libérez dans la nature, perdez le certificat que vous avez utilisé pour signer l'application, vous ne pouvez pas publier de mises à jour, gardez ce certificat en sécurité et sauvegardé si nécessaire.
Mais en plus de signer des apks pour les publier dans la nature, vous pouvez l'utiliser pour authentifier votre appareil auprès d'un serveur via SSL si vous le souhaitez, (également lié à Android) entre autres fonctions.
la source
Android Market vous oblige à signer toutes les applications que vous publiez avec un certificat, à l'aide d'un mécanisme de clé publique / privée (le certificat est signé avec votre clé privée). Cela fournit une couche de sécurité qui empêche, entre autres, les attaquants distants de pousser des mises à jour malveillantes vers votre application sur le marché (toutes les mises à jour doivent être signées avec la même clé).
À partir du guide de signature d'applications du site du développeur Android:
L'utilisation de la même clé présente quelques avantages: le premier est qu'il est plus facile de partager des données entre des applications signées avec la même clé. Un autre est qu'il permet à plusieurs applications signées avec la même clé de s'exécuter dans le même processus, de sorte qu'un développeur peut créer des applications plus «modulaires».
la source
Vous pouvez trouver plus d'informations sur le processus de signature dans la documentation officielle d'Android ici: http://developer.android.com/guide/publishing/app-signing.html
Oui, vous pouvez signer plusieurs applications avec le même keystore. Mais vous devez vous rappeler une chose importante: si vous publiez une application sur le Play Store, vous devez la signer avec un certificat sans débogage. Et si un jour vous souhaitez publier une mise à jour pour cette application, le keystore utilisé pour signer l'apk doit être le même. Sinon, vous ne pourrez pas publier votre mise à jour.
la source
L'idée même d'un keytool est de signer votre apk avec un identifiant unique indiquant la source de cet apk. Un fichier keystore (d'après ce que je comprends) est utilisé pour le débogage afin que votre apk ait la fonctionnalité d'un keytool sans signer votre apk pour la production. Alors oui, à des fins de débogage, vous devriez pouvoir signer plusieurs apk avec un seul keystore. Mais comprenez que, lors de la mise en production, vous aurez besoin d'outils clés uniques comme identifiants pour chaque apk que vous créez.
la source
keytool
ce que tu veux dire. keytool est un programme java utilisé pour générer des keystores.