> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Génération de certificat p12 iOS

> Générez et importez un certificat push .p12 pour connecter votre application iOS ou macOS au service de notification push Apple (APNs) via OneSignal.

Pour envoyer des notifications push aux applications iOS, une connexion authentifiée aux services de notification push Apple (APNs) est requise. Vous pouvez vous authentifier en utilisant une méthode **[basée sur un jeton (clé .p8)](./ios-p8-token-based-connection-to-apns)** ou **basée sur un certificat (fichier .p12)** — mais une seule est nécessaire.

<Warning>
  Les certificats .p12 expirent après un an. Si vous ne voulez pas gérer le renouvellement de ce certificat, vous pouvez [créer une clé .p8](./ios-p8-token-based-connection-to-apns) à la place, qui n'expire pas.
</Warning>

Ce guide couvre la méthode **basée sur un certificat (fichier .p12)**. Cette méthode n'est pas recommandée car vous devez la renouveler annuellement, ce qui implique de générer un nouveau certificat dans votre compte Apple Developer et de le télécharger à nouveau sur votre tableau de bord OneSignal.

***

## Exigences

Assurez-vous d'avoir ce qui suit avant de commencer :

* Une application iOS ou macOS.
* Un [**compte Apple Developer payant**](https://developer.apple.com/) avec un accès [**Administrateur**](https://appstoreconnect.apple.com/access/users).
* Un [**compte OneSignal**](https://onesignal.com).
* Un Mac avec Xcode 14+.
* Le **Bundle ID** pour votre cible d'application tel que défini dans Xcode.
* Un projet Xcode avec **la capacité de notification push activée**.

***

## Créer une demande de signature de certificat (CSR)

Vous devez d'abord créer un fichier `.certSigningRequest` sur macOS.

1. Ouvrez **Applications > Utilities > Keychain Access**.
2. Dans la barre de menu, cliquez sur **Trousseau d'accès > Assistant de certificat > Demander un certificat à une autorité de certification...**

<Frame caption="Trousseau d'accès Mac">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0d53d2a7d0a7992bb646cda2c10b2e3f" alt="Menu Trousseau d'accès affichant l'option Assistant de certificat" width="709" height="314" data-path="images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png" />
</Frame>

3. Remplissez les champs requis :
   * **Adresse e-mail de l'utilisateur** : `[email protected]`
   * **Nom commun** : Votre nom ou le nom du certificat
   * **Adresse e-mail de l'AC** : Laissez ce champ vide
   * **La demande est** : Sélectionnez **Enregistrée sur le disque**

<Frame caption="Fenêtre Assistant de certificat">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=d78feadfda1f4a2c71806f8ab10edd04" alt="Fenêtre Assistant de certificat avec les champs e-mail, nom commun et Enregistrée sur le disque" width="728" height="554" data-path="images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png" />
</Frame>

4. Cliquez sur **Continuer**, choisissez un emplacement pour enregistrer le fichier `.certSigningRequest`, puis cliquez sur **Enregistrer**.

***

## Activer les capacités push pour l'application

<Note>
  Ignorez cette section si vous utilisez **Automatically manage signing** dans Xcode.
</Note>

1. Accédez à la section [Identifiers](https://developer.apple.com/account/ios/identifier/bundle) du portail Apple Developer, localisez et sélectionnez l'**App ID** de votre application dans la liste.

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=05b2003fb8c2fcd9131c44a793a0aba3" alt="Section Identifiers du portail Apple Developer affichant la liste des App ID" width="894" height="319" data-path="images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png" />
</Frame>

2. Activez la capacité **Push Notifications** en cochant la case.

<Warning>
  **Ne cliquez pas** sur **« Configure »** — activez simplement le bouton bascule.
</Warning>

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=ba0781029d19036ddad3db3e45037d2b" alt="Liste des capacités de l'App ID avec la case Push Notifications cochée" width="2008" height="142" data-path="images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png" />
</Frame>

***

## Créer un certificat push

Suivez ces étapes pour générer le certificat SSL Apple Push Notification service (APNs) :

1. Visitez la [page des certificats Apple](https://developer.apple.com/account/resources/certificates/add).

2. Cliquez sur le bouton **plus (+)** pour créer un nouveau certificat.

3. Sous **Services**, sélectionnez :

   * **Apple Push Notification service SSL (Sandbox & Production)**
   * Puis cliquez sur **Continue**

   <Frame>
     <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=6e0d0bb4d73dab95c32a0dc96d740723" alt="Page des certificats Apple affichant l'option Apple Push Notification service SSL Sandbox et Production" width="896" height="865" data-path="images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png" />
   </Frame>

4. Sélectionnez votre **App ID** dans la liste et cliquez sur **Continue**.

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=af9f0fb1fefed645b5ebefc6964d0d2d" alt="Menu déroulant de sélection de l'App ID pour le certificat push" width="897" height="366" data-path="images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png" />
</Frame>

5. Importez le fichier `.certSigningRequest` que vous avez généré précédemment.

<Frame>
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=1ca586cee9190e53ea681b411e36a786" alt="Boîte de dialogue d'importation du fichier Certificate Signing Request" width="662" height="626" data-path="images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png" />
</Frame>

6. Cliquez sur **Continue**, puis sur **Download** pour enregistrer le fichier `.cer` sur votre ordinateur.

<Frame>
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=e81079a2a25e6e82ed0eb9f1204ab774" alt="Bouton Download pour le fichier de certificat .cer généré" width="924" height="368" data-path="images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png" />
</Frame>

Vous utiliserez ce fichier `.cer` dans la section suivante pour créer votre certificat `.p12`.

***

## Créer une clé privée et exporter le certificat .p12

1. **Double-cliquez** sur le fichier `.cer` téléchargé pour l'importer dans **Trousseau d'accès**.

2. Dans Trousseau d'accès, accédez à :

   * **Trousseaux > session**
   * **Catégorie > Mes certificats**

3. Localisez le certificat nommé **Apple Push Services**.

4. **Faites un clic droit** sur le certificat et sélectionnez **Exporter**.

<Frame caption="L'export générera un fichier .p12 à l'emplacement de votre choix">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=ce1453c325f0ad6790754f25a7a1a506" alt="Menu contextuel de Trousseau d'accès affichant l'option Exporter pour le certificat Apple Push Services" width="960" height="720" data-path="images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png" />
</Frame>

5. Choisissez un emplacement pour enregistrer le fichier et sélectionnez le format **`.p12`**.

6. Lorsque vous y êtes invité, définissez un **mot de passe** pour le fichier `.p12`. Vous aurez besoin de ce mot de passe lors du téléchargement vers OneSignal.

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=58e96cbb675ff90014c37e7fd1852975" alt="Boîte de dialogue d'enregistrement affichant la sélection du format .p12 et l'invite de mot de passe" width="918" height="558" data-path="images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png" />
</Frame>

***

## Télécharger le fichier .p12 vers OneSignal

1. Dans votre [tableau de bord OneSignal](https://onesignal.com), accédez à votre application > **Settings > Push & In-App > Apple iOS**.
2. Importez le fichier `.p12` (et saisissez le mot de passe si vous en avez défini un). Cliquez sur **Save**.

<Check>
  Vous avez correctement configuré **l'authentification APNs via un certificat .p12** dans OneSignal.

  Votre application iOS est maintenant prête à envoyer et recevoir des notifications push ! 🎉
</Check>

***

## Dépannage .p12

### Erreur de format de certificat invalide

**Cause :** Le fichier importé n'est pas au format `.p12`.

**Correction :** Assurez-vous d'exporter le certificat depuis Trousseau d'accès **au format `.p12`** (et non `.cer` ou `.pem`).

### « Mot de passe incorrect » lors du téléchargement vers OneSignal

**Cause :** Le mot de passe a été saisi incorrectement ou n'a pas été défini.

**Correction :**

* Essayez d'exporter à nouveau et définissez un **nouveau mot de passe**.
* Assurez-vous qu'aucun espace supplémentaire n'est ajouté lors du collage.
* Si vous utilisez Provisionator, le mot de passe est affiché dans l'interface.

### Clé privée manquante dans le fichier exporté

**Cause :** Le certificat a été importé mais n'est pas associé à une clé privée.

**Correction :**

* Assurez-vous de **générer le CSR** depuis Trousseau d'accès sur la même machine.
* Après avoir téléchargé le fichier `.cer`, double-cliquez pour l'installer et vérifiez si la clé apparaît sous **Mes certificats**.

### Les notifications push ne fonctionnent pas après le téléchargement

**Cause :** App ID incorrect, ou profil de provisionnement sans les capacités requises.

**Correction :**

* Confirmez que le `.p12` correspond à l'**App ID** utilisé dans l'application.
* Dans le portail Apple Developer, assurez-vous que l'App ID a **Push Notifications activé**.
* Assurez-vous que le profil de provisionnement inclut **Push**.

### Certificat expiré

**Cause :** Le certificat `.p12` n'est plus valide.

**Correction :**

* Accédez à Apple Developer > Certificates et vérifiez la date d'expiration.
* Révoquez l'ancien certificat et créez-en un nouveau.

***

## Prochaines étapes

<Columns cols={2}>
  <Card title="Configuration du SDK iOS" icon="apple" href="./ios-sdk-setup">
    Installez le SDK OneSignal, initialisez-le dans votre application et envoyez une notification test.
  </Card>

  <Card title="Configuration du SDK mobile" icon="mobile" href="./mobile-sdk-setup">
    Choisissez votre plateforme et suivez le guide complet d'intégration du SDK pour Android, iOS ou les frameworks multiplateforme.
  </Card>
</Columns>

***

## FAQ

### Quand mon certificat .p12 expire-t-il et comment le renouveler ?

Les certificats .p12 expirent **un an** après leur création. Pour les renouveler, générez un nouveau CSR, créez un nouveau certificat push dans Apple Developer, exportez-le au format .p12 et téléchargez-le à nouveau sur votre tableau de bord OneSignal. Configurez un rappel dans votre calendrier pour éviter toute interruption. Vous pouvez également passer à une [clé .p8](./ios-p8-token-based-connection-to-apns), qui n'expire pas.

### Dois-je utiliser .p8 ou .p12 ?

OneSignal recommande les **clés .p8** pour la plupart des applications. Une clé .p8 n'expire pas, fonctionne avec toutes les applications de votre compte Apple Developer et est plus simple à gérer. Un certificat .p12 est spécifique à une application et doit être renouvelé annuellement. Consultez le [guide de la clé .p8](./ios-p8-token-based-connection-to-apns) pour les instructions de configuration.

### Ai-je besoin d'un profil de provisionnement et comment en créer un ?

Oui, Apple exige différents types de profils pour le développement, les tests (Ad Hoc) et la distribution sur l'App Store.

Dans Xcode, sélectionnez **Automatically manage signing** pour en créer un automatiquement.

<Frame>
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=794544ccd6d05744f053386b2a961c74" alt="Onglet Signing and Capabilities de Xcode avec Automatically manage signing activé" width="2058" height="632" data-path="images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

Sinon, consultez [la documentation Apple sur les profils de provisionnement](https://developer.apple.com/help/account/provisioning-profiles/provisioning-profile-updates) pour plus de détails.

***
