web-dev-qa-db-fra.com

Comment créer un certificat P12 pour la distribution iOS

Nous avons une application iOS dont le certificat de notification Push a expiré et nous essayons d'en créer un nouveau. J'ai créé de nouveaux certificats dans le portail de provisionnement (ios_developer.cer, ios_distribution.cer) et les ai téléchargés. Je suivais les instructions ici sur Stack Overflow pour le convertir en fichiers PEM puis en fichiers P12, mais je suis bloqué. Lorsque je tente ensuite de convertir le fichier PEM en fichier P12, il souhaite une sorte de clé privée et je ne sais pas où l'obtenir.

J'ai aussi essayé de les charger dans Keychain Access. J'avais lu que vous pouviez les exporter en tant que P12 à partir de là, mais lorsque je fais l'importation, elles n'apparaissent nulle part.

91
RobG

Votre clé privée est générée lorsque vous avez créé la demande de signature dans Keychain Access. Une fois le certificat généré et téléchargé, double-cliquez dessus pour l'ajouter au trousseau d'accès, où il sera mis en correspondance avec la clé privée. Vous pouvez ensuite sélectionner le certificat et ouvrir la flèche pour sélectionner également la clé privée et les exporter ensemble sous forme de fichier .p12 à partir de Keychain Access.

117
picciano

. Les fichiers p12 sont utilisés pour publier une application sur le Apple App Store

A. Créer un fichier CSR (.certSigningRequest)

  1. Ouvrir Accès au trousseau à partir d’utilitaires
  2. Dans la barre d'outils Accès au trousseau, sélectionnez Accès au trousseau -> Préférences .
  3. Dans la fenêtre qui s’affiche, sélectionnez Certificats
  4. Réglez les deux “Protocole de statut de certificat en ligne” et “Liste de révocation de certificats” sur “Non”
  5. Ferme cette fenêtre
  6. Maintenant, à partir de la barre d’outils, ouvrez Accès au trousseau> Assistant de certificat> Demander un certificat à une autorité de certification
  7. Entrez l'adresse électronique et le nom commun que vous avez utilisés pour vous inscrire dans le programme pour développeurs iOS.
  8. Laissez le courrier électronique de CA vierge et sélectionnez "Enregistré sur le disque" et "Permettez-moi de spécifier les informations relatives à la paire de clés"
  9. Cliquez sur Continuer
  10. Choisissez un nom de fichier et une destination sur votre disque dur
  11. Cliquez sur Enregistrer
  12. Dans la fenêtre suivante, définissez la valeur “ Key Size” sur “2048 bits”
  13. Définissez “Algorithme” sur “RSA”
  14. Cliquez sur Continuer

Cela créera et sauvegardera votre fichier certSigningRequest (CSR) sur votre disque dur. Une clé publique et une clé privée seront également créées dans Accès au trousseau avec le nom commun entré.

B. Créer le fichier ".cer" dans le compte développeur iOS

  1. Connectez-vous à Apple compte de développeur Cliquez sur "Certificats, identifiants et profils"
  2. Cliquez sur "Profils de provisioning" .
  3. Dans la section "Certificats", cliquez sur "Production" .
  4. Cliquez sur le bouton "Ajouter" (+) en haut à droite du panneau principal .
  5. Maintenant, choisissez “App Store et Ad Hoc”
  6. Cliquez sur Continuer
  7. Cliquez sur "Choisir le fichier" et recherchez le fichier CSR que vous avez créé à partir de votre disque dur.
  8. Cliquez sur Générer
  9. Cliquez sur Télécharger pour obtenir le fichier.

C. Installez .cer et générez un certificat .p12

  1. Recherchez le fichier . Cer que vous avez téléchargé et double-cliquez sur .
  2. Définissez le menu déroulant Connexion sur "login" et cliquez sur Ajouter .
  3. Ouvrez KeyChain Access et vous trouverez le profil créé à l'étape A
  4. Vous pouvez développer "clé privée" profil (indique le certificat que vous avez ajouté).
  5. Sélectionnez uniquement ces deux éléments (pas la clé publique)
  6. Faites un clic droit et cliquez "Exporter 2 éléments…" dans une fenêtre contextuelle.
  7. Maintenant, assurez-vous que le format de fichier est “.p12” et choisissez le nom du fichier et la destination sur votre disque dur.
  8. Cliquez sur Enregistrer. Maintenant, vous serez invité à définir un mot de passe mais laissez ces deux champs vierges
  9. Cliquez sur OK. Maintenant, vous avez un fichier .p12 sur votre disque dur
65
Jayprakash Dubey

OK, problème résolu! il semble que lorsque je double-clique sur le certificat, il l'installe automatiquement dans le trousseau SYSTEM - je ne sais pas pourquoi. Donc, au lieu de cela, je fais simplement glisser le certificat dans le trousseau LOGIN et tout va bien. Grâce à cet article -> Ajout de certificats au trousseau et génération du format de fichier .p12 - alon rosenfeld il y a 10 mois

29
Abraham Lopez

vous n'obtiendrez pas l'option d'élargissement à moins de filtrer en choisissant (Certificats) dans le coin inférieur gauche de la chaîne de clés

28
albaiti

Pour ceux qui ont toujours ce problème, la solution pour moi était de NE PAS sélectionner les deux et "Exporter 2 éléments" (la clé et le certificat) - au lieu d'exporter simplement le certificat que DÉJÀ contient la clé. À partir de 2016, je pense que c'est la façon de le faire, car les téléchargements précédents qui fonctionnaient avec les éléments d'exportation 2 ne fonctionnent plus.

3
Jessicardo

Pour toute autre personne ayant l'option P12 grisée/grisée:

Assurez-vous de figurer dans la catégorie Mes certificats ou Certificats dans Accès au trousseau.

https://sailthru.zendesk.com/hc/en-us/articles/115000032546-Can-t-export-my-certificate-in-p12-format

2
Dirk Boer

Pour obtenir votre fichier p12 allez de cette façon ..

Étape 1. Dans XCode > Aller à Paramètres du projet > Général > Section de signature > Certificat de signature

Voir le certificat que vous utilisez pour cette application particulière, comme indiqué dans l'image ci-dessous

enter image description here

Étape 2. Ouvrir Porte-clés > en bas à gauche Catégorie section> Certificats

Recherchez le certificat et ouvrez l'enfant en cliquant sur la flèche vers le bas, comme indiqué dans l'image.

enter image description here

Étape 3. Cliquez avec le bouton droit de la souris et exportez sous le nom "Certificates.p12" en indiquant votre mot de passe, par exemple. "123456"

0
swiftBoy