iOSAppleXcodeApp StoreCode Signing

Comment créer un certificat Apple Distribution

Sloth255
Sloth255
·7 min read·1,357 words

Pour distribuer une application iOS sur l'App Store, un certificat Apple Distribution est indispensable. Il sert à signer le code de l'application, permettant à Apple de vérifier que l'app a été créée par un développeur légitime.

Cet article vous guide pas à pas dans la création du certificat en utilisant le tableau de bord Apple Developer Program.


Prérequis

Avant de créer le certificat, vérifiez les points suivants :

  • Inscription à l'Apple Developer Program ($99 USD/an)
  • Connexion avec un Apple ID disposant des droits Admin ou Account Holder
  • Xcode (version la plus récente recommandée) installé sur votre Mac
  • Accès au Trousseau d'accès (application intégrée à macOS)

Étape 1 — Créer un fichier CSR (Certificate Signing Request)

Un CSR (Certificate Signing Request) est le fichier à soumettre à Apple pour demander un certificat. Il se crée avec le Trousseau d'accès.

  1. Ouvrez le Trousseau d'accès (recherchez « Trousseau » dans Spotlight)
  2. Dans la barre de menus : Trousseau d'accèsAssistant de certificationDemander un certificat à une autorité de certification...

Écran de l'Assistant de certification dans le Trousseau d'accès

  1. Remplissez les champs suivants :

    Champ Valeur
    Adresse e-mail de l'utilisateur Adresse e-mail associée à votre Apple ID
    Nom usuel Nom facilement identifiable (ex. : MyApp Distribution)
    Adresse e-mail de l'AC Laisser vide
    La requête sera Sélectionnez "Enregistrée sur le disque"

Boîte de dialogue pour choisir l'emplacement d'enregistrement du CSR

  1. Cliquez sur « Continuer » et enregistrez le fichier CSR (.certSigningRequest) à l'emplacement de votre choix.

Étape 2 — Créer un nouveau certificat sur le portail Apple Developer

Rendez-vous sur le site Apple Developer pour émettre le certificat.

URL :
developer.apple.com › Account › Certificates, IDs & Profiles › Certificates

  1. Cliquez sur le bouton + (Ajouter) en haut à droite
    Liste des certificats sur Apple Developer

  2. Dans la section Software, sélectionnez Apple Distribution et cliquez sur « Continue »
    Écran de sélection d'Apple Distribution

  3. Sur l'écran « Upload a Certificate Signing Request », importez le fichier .certSigningRequest créé à l'étape 1

  4. Cliquez sur « Continue » → « Download » pour télécharger le fichier de certificat (.cer)
    Écran de téléchargement du certificat


Étape 3 — Télécharger et installer le certificat dans le Trousseau

  1. Double-cliquez sur le fichier distribution.cer téléchargé
  2. Lorsque la boîte de dialogue « Ajouter au Trousseau ? » s'affiche, cliquez sur « Ajouter »
  3. Ouvrez le Trousseau d'accès et vérifiez la catégorie « Certificats » dans le trousseau Ouverture de session
  4. Si Apple Distribution: [Your Name/Team] (XXXXXXXXXX) s'affiche, l'installation est réussie

Cliquez sur le bouton ▶ Développer à gauche du certificat pour vérifier qu'une clé privée (🔑) apparaît. Si la clé privée n'est pas visible, la CSR a peut-être été générée sur un autre Mac, ou la clé privée n'existe pas dans le trousseau du Mac actuel.


Étape 4 — Vérifier que le certificat est reconnu dans Xcode

Emplacement :
Xcode › Settings... › Accounts › Manage Certificates...

  1. Sélectionnez l'Apple ID cible et cliquez sur « Manage Certificates... »
  2. Vérifiez qu'une entrée Apple Distribution apparaît dans la liste
  3. Dans l'onglet Signing & Capabilities de votre projet, désactiver Automatically manage signing vous permet de sélectionner manuellement le certificat Distribution.

Relation entre les certificats et les profils de provisionnement

Le système de signature d'Apple repose sur trois éléments :

  • Certificat (Certificate) : Prouve quel développeur ou quelle équipe a signé l'application
  • App ID : Identifie l'application concernée
  • Profil de provisionnement (Provisioning Profile) : Définit quelle combinaison de certificat, d'App ID, d'appareils et de fonctionnalités est autorisée à exécuter ou à distribuer l'application

En résumé : le certificat identifie le signataire, l'App ID identifie l'application, et le profil de provisionnement est un ensemble de conditions d'utilisation.


Différences avec le certificat Apple Development

Élément Apple Development Apple Distribution
Propriétaire Individuel (nom du Mac dans le nom du certificat) Équipe (Account Holder / Admin uniquement)
Utilisation sur plusieurs Macs ✅ Possible (via .p12) ✅ Possible (partage équipe via .p12)
Usage Débogage et tests sur appareil réel Distribution App Store / Ad Hoc
Distribution TestFlight ❌ Non ✅ Oui
Signature Xcode Schéma Debug Schéma Release
Nombre maximum 2 par équipe 3 par équipe
Durée de validité 1 an 1 an

Certificat Apple Development vs. compte personnel

  • Certificat Apple Development : Certificat de développement officiel pour les équipes inscrites à l'Apple Developer Program
  • Personal Team : Workflow permettant les tests sur appareil réel sans inscription au Developer Program
Élément Personal Team (gratuit) Apple Development (Developer Program)
Condition Seulement un compte Apple Inscription au Developer Program
Usage principal Tests personnels Développement en équipe
Distribution ❌ Impossible ❌ Impossible
TestFlight / App Store Connect ❌ Impossible ❌ Impossible
Validité du profil 7 jours Généralement 1 an
App IDs / Appareils Limités Disponibles dans le Developer Program
Fonctionnalités avancées Limitées Plus de fonctionnalités

Tableau de correspondance par méthode de distribution

Méthode Certificat Profil de provisionnement Remarque
Débogage sur appareil Apple Development Development Appareils enregistrés uniquement
TestFlight Apple Distribution Distribution App Store Connect Upload vers App Store Connect
Publication App Store Apple Distribution Distribution App Store Connect Après validation
Distribution Ad Hoc Apple Distribution Ad Hoc UDID enregistré requis
Enterprise / In-House Apple Enterprise Distribution In-House Apple Developer Enterprise Program

TestFlight et la publication App Store utilisent tous deux le certificat Apple Distribution.


Signature automatique vs. signature manuelle

Dans la plupart des cas, il est recommandé d'activer Automatically manage signing dans Xcode.

Envisagez la signature manuelle dans les situations suivantes :

  • Contrôle strict sur plusieurs cibles ou Bundle Identifiers
  • Gestion explicite des ressources de signature en CI/CD
  • Outil comme Fastlane Match pour la gestion centralisée
  • Les profils automatiques de Xcode ne conviennent pas

Erreurs courantes et solutions

🔴 « Aucune clé privée trouvée pour le certificat »

  • .cer installé sur un autre Mac : La clé privée est uniquement dans le Trousseau du Mac ayant généré la CSR
  • Migration ou remplacement du Mac : La clé privée n'a pas été correctement déplacée
  • Réinitialisation du Trousseau : La clé privée est perdue
  • Re-téléchargement du .cer : Téléchargé sur un Mac différent
# Étapes d'export .p12 (Trousseau d'accès)
# 1. Ouvrir le Trousseau d'accès
# 2. Clic droit sur le certificat cible
#    → Sélectionner « Exporter 'Apple Distribution : ...' »
# 3. Définir un mot de passe et sauvegarder le fichier .p12
# 4. Double-cliquer sur l'autre Mac pour importer

🔴 Certificat expiré

Les certificats Apple Distribution sont valides 1 an. Renouvelez dans cet ordre :

  1. Créer un nouveau certificat Apple Distribution
  2. Regénérer les profils de provisionnement si nécessaire
  3. Mettre à jour le certificat et le profil dans Xcode ou CI/CD
  4. Redistribuer le nouveau .p12 aux Macs concernés

🔴 Erreur « Maximum number of certificates generated »

Maximum 3 certificats Distribution autorisés. Supprimez les inutiles avant d'en créer un nouveau.


Récapitulatif

  1. Générer une CSR (.certSigningRequest) avec le Trousseau d'accès
  2. Créer un nouveau certificat Apple Distribution sur developer.apple.com et uploader la CSR
  3. Double-cliquer sur le .cer téléchargé pour l'installer dans le Trousseau
  4. Vérifier que le certificat est reconnu dans les paramètres Accounts de Xcode

Pour le développement en équipe, explorez les méthodes de partage sécurisé de .p12 ou les outils comme Fastlane Match.


Liens de référence (officiels Apple)