Aller au contenu principal

Signature Apple

Générateur de certificat iOS

Créez un certificat de distribution ou de développement iOS sans Mac. Générez ici le Certificate Signing Request (CSR) et la clé privée, envoyez le CSR à Apple, puis convertissez le certificat délivré en fichier .p12 pour la signature.

  • Créez un CSR prêt pour Apple sans Keychain Access ni Mac, depuis Windows, Linux ou macOS.
  • Compatible avec les certificats Apple Distribution (App Store, TestFlight, ad hoc) et Apple Development.
  • Convertissez le .cer émis en .p12 directement sur cette page, dans votre navigateur, pour Xcode, fastlane, votre CI ou Capgo Cloud Build.

Workflow

  1. 1. Saisissez les informations de sujet du certificat à associer à la demande de signature.
  2. 2. Téléchargez le CSR et la clé privée correspondante.
  3. 3. Envoyez le CSR dans Apple Developer lors de la création de votre certificat.
  4. 4. Convertissez le .cer émis et la clé privée en un fichier .p12 protégé par mot de passe à l'étape 2 ci-dessous.

Étape 1

Générer le CSR et la clé privée

Utilisez la même identité (personne ou organisation) que celle que vous voulez voir figurer dans la demande de certificat Apple.

Résultat

Votre demande de signature générée

Rien ne s'affiche tant que le CSR n'est pas généré. Une fois prêt, téléchargez les deux fichiers et conservez la clé privée en lieu sûr.

Générez une demande de certificat pour voir le résumé du sujet et les boutons de téléchargement ici.

Étape 2

Convertissez votre .cer Apple en .p12

Une fois votre certificat émis par Apple, combinez le .cer avec la clé privée de l'étape 1 pour obtenir un .p12 pour Xcode, fastlane, CI ou le Cloud Build de Capgo.

S'exécute entièrement dans votre navigateur. Votre certificat, votre clé privée et votre mot de passe sont lus localement et ne sont jamais envoyés sur un serveur.

Le fichier distribution.cer ou development.cer d'Apple Developer. Les formats DER et PEM sont acceptés.

Le fichier ios-private-key.pem téléchargé avec le CSR que vous avez envoyé à Apple.

Résultat

Votre identité de signature .p12

Sélectionnez votre .cer et votre clé privée, définissez un mot de passe, puis générez le .p12. Il utilise un chiffrement 3DES avec un MAC SHA-1, le format accepté par le Trousseau d'accès macOS et Xcode.

L'essentiel

Qu'est-ce qu'un certificat de signature iOS ?

Apple exige que chaque application iOS soit code signée. Un certificat de signature prouve que le build provient d'un membre de votre équipe Apple Developer, et iOS refuse d'installer ou de lancer les applications dont il ne peut pas vérifier la signature.

Pour en obtenir un, il faut trois fichiers. Le CSR (.csr) contient votre clé publique et votre identité, puis est envoyé à Apple. Le clé privée (.pem) reste chez vous. Le certificat (.cer) est celui délivré par Apple. Les outils de build ont ensuite besoin du certificat et de la clé privée ensemble sous forme de .p12 fichier.

Sur un Mac, Keychain Access crée le CSR et cache la clé privée dans votre trousseau de connexion. Ce générateur vous fournit directement les deux fichiers, ce qui vous permet de créer un certificat Apple Distribution ou Apple Development depuis Windows, Linux ou un runner CI, et vous savez toujours où se trouve la clé.

Sécurité et confidentialité

Gestion de votre clé privée

  • Le CSR et la clé privée RSA 2048 bits sont créés à la demande par un endpoint Capgo stateless via HTTPS et renvoyés directement à votre navigateur.
  • Les réponses sont envoyées avec Cache-Control: no-store. Rien n'est enregistré dans une base de données ni conservé après la réponse.
  • Le CSR est signé en SHA-256, le format attendu par Apple Developer. Seul le CSR est envoyé à Apple ; la clé privée reste en votre possession.
  • Le convertisseur de .cer en .p12 s'exécute entièrement dans votre navigateur. Votre certificat, votre clé privée et votre mot de passe ne sont jamais envoyés.
  • Aucun compte ni inscription n'est requis, et les requêtes sont limitées pour éviter les abus.

Vous préférez générer la clé en local ? Cette commande OpenSSL produit les deux mêmes fichiers.

Commande OpenSSL équivalente
openssl req -new -newkey rsa:2048 -nodes \
  -keyout ios-private-key.pem \
  -out ios-certificate-request.csr \
  -subj "/emailAddress=jane@company.com/CN=Jane Doe/C=US"

Étape par étape

Comment créer un certificat de distribution iOS sans Mac

Du CSR au build signé sur TestFlight. Chaque étape se fait depuis un navigateur et un terminal, sous Windows, Linux ou macOS.

  1. Étape 1

    Générer le CSR et la clé privée

    Saisissez votre nom, votre e-mail et votre code pays à deux lettres code dans le formulaire ci-dessus, puis cliquez sur « Générer le CSR et la clé privée ». Téléchargez les deux fichiers et conservez la clé privée en lieu sûr.

  2. Étape 2

    Créer le certificat dans Apple Developer

    Connectez-vous sur developer.apple.com, ouvrez Certificates, Identifiers & Profiles, cliquez sur le bouton plus, puis choisissez Apple Distribution ou Apple Development.

  3. Étape 3

    Envoyer le CSR et télécharger le .cer

    Envoyez le fichier ios-certificate-request.csr, continuez, puis téléchargez le certificat émis, généralement nommé distribution.cer ou development.cer.

  4. Étape 4

    Convertir le .cer en fichier .p12

    Utilisez le convertisseur .cer vers .p12 à l'étape 2 de cette page : sélectionnez le .cer et la clé privée, définissez un mot de passe, puis téléchargez le .p12. L'opération s'exécute dans votre navigateur, ou utilisez la commande OpenSSL à la place.

  5. Étape 5

    Créer un profil de provisionnement

    Dans Apple Developer, créez un profil de provisionnement App Store, ad hoc ou de développement pour votre App ID et sélectionnez le nouveau certificat.

  6. Étape 6

    Signez et déployez votre app

    Importez le .p12 et le profil dans Xcode, fastlane, vos secrets CI, ou Capgo Cloud Build, puis compilez et envoyez votre app sur TestFlight ou l'App Store.

Utilisez le résultat

Signez votre app iOS avec le .p12

Le chemin le plus rapide est le convertisseur .cer en .p12 dans le navigateur ci-dessus. Vous préférez la ligne de commande ? OpenSSL fait le même travail ; il vous demande un mot de passe d'export, qui devient celui de votre .p12.

Créez le .p12 avec OpenSSL

OpenSSL est préinstallé sur macOS et la plupart des distributions Linux, et disponible sur Windows via Git Bash ou WSL.

Convertir .cer en .p12
# 1. Convert Apple's DER .cer to PEM
openssl x509 -inform DER -in distribution.cer -out distribution.pem

# 2. Bundle the certificate and private key into a .p12
#    -legacy (OpenSSL 3) keeps the file compatible with macOS Keychain.
#    Drop it on OpenSSL 1.1 or LibreSSL, which do not support the flag.
openssl pkcs12 -export -legacy \
  -inkey ios-private-key.pem \
  -in distribution.pem \
  -name "Apple Distribution" \
  -out distribution.p12

Capgo Build cloud

Enregistrez le .p12 et le profil de provisionnement une seule fois, puis compilez et signez vos apps iOS et Android dans le cloud avec Capgo.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./distribution.p12 \
  --p12-password "your-p12-password" \
  --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \
  --apple-team-id "TEAM123456"

fastlane et Xcode

Sur un Mac, double-cliquez sur le .p12 pour l'importer dans le Trousseau d'accès : Xcode le détectera automatiquement. Sur un runner CI, importez-le dans un trousseau temporaire avec fastlane.

Fastfile
import_certificate(
  certificate_path: "distribution.p12",
  certificate_password: ENV["P12_PASSWORD"],
  keychain_name: "build.keychain",
  keychain_password: ENV["KEYCHAIN_PASSWORD"]
)

Secrets CI et vérification des clés

Encodez vos fichiers de signature pour les secrets GitHub Actions ou GitLab, et vérifiez que le certificat correspond à la clé privée.

base64 et OpenSSL
# Encode the .p12 and profile for CI secrets
base64 -i distribution.p12 | tr -d '\n' > p12.base64
base64 -i profile.mobileprovision | tr -d '\n' > profile.base64

# Check that the certificate and key match (both hashes must be equal)
openssl x509 -noout -modulus -in distribution.pem | openssl md5
openssl rsa -noout -modulus -in ios-private-key.pem | openssl md5

Troubleshooting

Erreurs de certificat iOS courantes et solutions

Le mot de passe saisi est incorrect (import dans le Keychain)
OpenSSL 3 chiffre les fichiers .p12 avec des algorithmes que le trousseau macOS peut rejeter. Réexportez le .p12 avec OpenSSL 3 et le flag -legacy indiqué ci-dessus.
Aucun certificat ne correspond à la clé privée
Le fichier .cer a été émis pour un autre CSR. Utilisez la clé privée téléchargée avec ce CSR précis, ou révoquez le certificat et recommencez avec un nouveau CSR.
impossible de charger les certificats
Apple fournit les fichiers .cer au format DER. Ajoutez -inform DER lors de la conversion du .cer avec openssl x509.
Le profil de provisionnement n'inclut pas le certificat de signature
Les profils sont liés à des certificats spécifiques. Modifiez ou régénérez le profil de provisionnement après avoir créé le nouveau certificat, puis téléchargez-l’à nouveau.
Vous avez atteint le nombre maximum de certificats
Apple limite le nombre de certificats de distribution par équipe. Révoquez-en un inutilisé dans Apple Developer. Les apps en ligne sur l'App Store ne sont pas affectées.
Le certificat n'est pas approuvé dans le Keychain
Installez le certificat intermédiaire Apple Worldwide Developer Relations (WWDR) actuel depuis Apple PKI, puis importez à nouveau le .p12.

Après la signature

Déployez des correctifs web sans repasser par les stores

Une fois le binaire natif signé, les live updates de Capgo peuvent livrer Capacitor changements de la couche web par OTA : canaux, rollback et tout votre CI/CD actuel. Essai gratuit dès que vous êtes prêt à intégrer l'OTA à votre flux de release habituel.

FAQ

FAQ du générateur de certificats iOS

Réponses sur les CSR, les types de certificats, la conversion .p12, les comptes Apple Developer et l'utilisation des certificats en CI ou lors de builds cloud.

Que génère ce générateur de certificats iOS ?

Il crée une Certificate Signing Request (.csr) et la clé privée RSA 2048 bits correspondante (.pem). Envoyez le CSR sur Apple Developer pour obtenir votre certificat Apple Distribution ou Apple Development (.cer), puis combinez le .cer avec la clé privée en un fichier .p12 pour Xcode, fastlane, la CI ou le Capgo Cloud Build.

Qu'est-ce qu'une demande de signature de certificat (CSR) ?

Une CSR est un petit fichier contenant votre clé publique et vos informations d'identité (nom, e-mail, pays), signé avec votre clé privée. Apple l'utilise pour émettre un certificat de signature lié à cette clé. La clé privée n'est jamais envoyée à Apple, c'est pourquoi vous devez conserver le fichier .pem fourni par cet outil.

Puis-je créer un certificat de distribution iOS sans Mac ?

Oui. Générez la CSR et la clé privée ici, envoyez la CSR sur le portail Apple Developer depuis n'importe quel navigateur, téléchargez le .cer, puis convertissez-l’en .p12 avec le convertisseur de l'étape 2 de cette page. Tout fonctionne sous Windows, Linux ou macOS : Keychain Access n'est donc nécessaire à aucune étape.

Quel type de certificat dois-je choisir dans Apple Developer ?

Choisissez Apple Development pour lancer des builds depuis Xcode sur des appareils de test enregistrés. Choisissez Apple Distribution pour signer des builds destinés à l'App Store, TestFlight et la distribution ad hoc. La même CSR fonctionne pour les deux types ; le type est sélectionné dans Apple Developer, pas dans cet outil.

La clé privée est-elle stockée sur le serveur ?

Non. À l'étape 1, la CSR et la clé privée sont générées à la demande par un endpoint Capgo stateless via HTTPS et renvoyées directement à votre navigateur avec Cache-Control: no-store ; elles ne sont jamais écrites dans une base de données ni conservées après la réponse. À l'étape 2, le convertisseur .cer vers .p12 s'exécute entièrement dans votre navigateur et n'effectue aucun upload. Si votre politique impose une génération locale de la clé, utilisez la commande OpenSSL équivalente sur cette page.

Pourquoi dois-je convertir le fichier .cer en .p12 ?

Le fichier .cer fourni par Apple ne contient que le certificat public. La signature d'une application nécessite également la clé privée ; les outils de build attendent donc un fichier .p12 qui regroupe le certificat et la clé privée sous un mot de passe.

Comment convertir un .cer en .p12 ?

Utilisez l'étape 2 de cette page : sélectionnez le .cer d'Apple (DER ou PEM), sélectionnez la clé privée .pem utilisée pour créer le CSR, saisissez un mot de passe et sélectionnez Build .p12 file. Le navigateur vérifie que le certificat correspond à la clé et génère un .p12 chiffré en 3DES accepté par le trousseau macOS, Xcode et fastlane. Rien n'est envoyé. Vous pouvez également copier le .p12 en base64 pour vos secrets de CI.

Ai-je besoin d'un compte Apple Developer ?

Oui. L'envoi d'un CSR et l'émission de certificats de signature nécessitent un abonnement payant au programme Apple Developer (99 USD par an, ou le programme Enterprise pour la distribution interne). Le CSR lui-même peut être généré sans compte.

Quelle est la durée de validité d'un certificat de signature iOS ?

Les certificats Apple Development et Apple Distribution sont valables un an. Les applications déjà présentes sur l'App Store continuent de fonctionner après l'expiration ou la révocation du certificat, mais vous aurez besoin d'un nouveau certificat et d'un profil de provisionnement pour signer le prochain build.

Puis-je réutiliser le même CSR ou la même clé privée ?

C'est possible, mais une nouvelle paire de clés par certificat est plus sûre et plus facile à faire pivoter. Ce qu'il ne faut surtout pas faire, c'est les mélanger : un fichier .cer ne fonctionne qu'avec la clé privée exacte qui a créé son CSR. Si la clé est perdue, révoquez le certificat et générez un nouveau CSR.

Puis-je utiliser ce CSR pour les certificats de notification push (APNs) ?

Oui. Apple demande également un CSR lorsque vous créez un certificat SSL APNs. Pour les nouvelles applications, une clé d'authentification APNs (.p8) est généralement plus simple car elle n'expire jamais et fonctionne pour toutes vos applications.

Capgo Native Build

Compilez et signez vos apps iOS et Android dans le cloud avec Capgo

Envoyez le .p12 et le profil de provisionnement créés avec cet outil, déclenchez des builds de release depuis votre CI, et publiez sur TestFlight ou l'App Store sans maintenir votre propre infrastructure de build.

Explorer Native Build