Je trouve très peu de conseil ou bonnes pratiques. Développeurs Android qui avez de l’expérience là dedans, j’ai besoin de vos lumières.
Pour l’instant j’ai lu Signing you applications. J’ai retenu que toutes les applications doivent être signées, et que pour pouvoir les mettre à jour il faut utiliser exactement le même certificat que l’application d’origine. Pour signer on créé un keystore et un alias.
Une ou plusieurs clefs
La bonne pratique habituelle côté sécurité c’est une clef par destination, application ou usage. Éventuellement une clef globale pour certifier les premières si on a besoin de s’assurer de la paternité de toutes les clefs. Ça militerait pour signer chaque application avec une clef différente et ça permettrait de déléguer la production d’une ou plusieurs applications à un tiers sans devoir lui donner la clef globale.
Le problème c’est que le document sur la doc Android, ainsi que les quelques documents trouvés sur le web à propos de Google Play, conseillent plutôt d’utiliser une clef globale. Le seul gain que j’y vois c’est que les applications pourront communiquer entre elles. Je n’en ai pas besoin pour l’instant mais il est vrai que je ne connais pas le futur.
Alors, une clef par application ou une clef globale ?
Notion de keystore et alias
Tel que je le comprends le keystore n’est qu’un simple entrepôt pour stocker des clefs. Mis à part que lui même peut être protégé par un mot de passe pour éviter de donner trop facilement accès aux clefs privées. Les clefs privés sont en fait ce qui est pointé par les « alias » dans la documentation. On peut donc avoir plusieurs clefs par keystore.
J’en déduis que la notion de keystore n’influe pas du tout sur Google Play. Je peux sortir ma clef d’un keystore, la mettre dans un autre keystore et signer une mise à jour avec. Tant que c’est la même clef, on se moque du keystore. Ai-je bon ?
J’en déduis donc aussi que Google n’a aucune notion de mon keystore et que je peux y ajouter de nouvelles clefs quand je le souhaite pour de nouvelles applications. Je n’ai pas besoin de préparer un keystore avec un jeu de clef qui ne bougera pas et que je ne pourrai pas mettre à jour. Ai-je bon ?
Voilà voilà, j’ai besoin de vos lumières et ayant peu d’éditeurs d’applications dans mon réseau, j’apprécierai beaucoup que vous fassiez suivre mes interrogations à vos propres connaissances.
Comme j’ai eu quelques conseils de gens qui réfléchissent à haute voix mais n’ont eux-même pas essayé ou pas d’expérience dans tout ça : Si vous vous retrouvez dans cette situation, merci de le préciser pour que je fasse le tri entre les retours d’expérience réels et les autres.
Laisser un commentaire