Gérez les certificats par projet
Séparez certificats, clés privées et journaux de build
Le fait qu’un certificat puisse être copié ne signifie pas que chaque tâche de build doit pouvoir y accéder. Traitez les certificats de signature comme des éléments distincts : précisez qui les importe, dans quel trousseau ils sont utilisés et quand les révoquer ou les renouveler.
Certificats et profils de provisionnement
Conservez les certificats, les clés privées correspondantes et les profils de provisionnement par projet. Avant l’importation, vérifiez leur usage, leur date d’expiration et les targets concernés. Ne validez jamais dans un dépôt de code un export contenant une clé privée.
Si vous devez créer une sauvegarde, utilisez un export protégé par mot de passe et transmettez ce mot de passe par un autre canal. Stockez la copie dans un espace géré par l’équipe au lieu de la laisser uniquement sur la machine de build.
Un trousseau dédié aux builds
Nous conseillons de placer les identités de signature CI dans un trousseau dédié, distinct de celui utilisé au quotidien. Configurez le déverrouillage et les accès selon les besoins réels des builds ; n’autorisez pas tous les processus à accéder aux clés privées par simple commodité.
Si une tâche automatisée doit déverrouiller le trousseau, récupérez le mot de passe depuis une variable protégée de la CI. Validez d’abord la signature avec un build contrôlé, puis élargissez le périmètre des tâches du runner.
Accès aux journaux et aux artefacts
Évitez d’afficher les mots de passe, jetons et mots de passe d’export des certificats dans les scripts. Pour diagnostiquer un problème, désactivez l’affichage détaillé des commandes sensibles et vérifiez les journaux avant de les téléverser.
Définissez séparément l’emplacement et la durée de conservation des archives, des paquets exportés et des symboles de débogage. Un build terminé ne garantit pas que ses artefacts sont sauvegardés : vérifiez au moins une fois que l’équipe peut récupérer les fichiers nécessaires depuis son espace de stockage.
Vérifiez l’identité de signature avant de lancer le build de publication
Exécutez cette vérification en lecture seule sous le compte utilisateur prévu pour le build afin de confirmer que le trousseau contient l’identité de signature attendue. La sortie sert à une vérification locale : ne publiez pas l’ensemble des informations de l’environnement dans un espace public.
security find-identity -v -p codesigning
Cette commande affiche les identités disponibles ; elle n’importe aucun certificat et ne configure pas les autorisations d’accès au trousseau.