135 votes

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 je les ai téléchargés. J'ai suivi les instructions ici sur Stack Overflow pour le convertir en fichiers PEM et ensuite en fichiers P12, mais je suis coincé. Lorsque j'essaie ensuite de convertir le PEM en P12, il me faut une sorte de clé privée, et je ne sais pas où l'obtenir.

J'ai également 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, ils n'apparaissent nulle part.

8voto

Dirk Boer Points 771

Pour tous ceux qui ont l'option P12 grisée/grisée :

Assurez-vous que vous êtes 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

1 votes

Il m'a totalement sauvé

0 votes

C'est là que l'Internet est pour

4voto

Jessicardo Points 766

Pour tous ceux qui rencontrent encore 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) - plutôt d'exporter seulement le certificat qui inclut DÉJÀ la clé. Depuis 2016, je pense que c'est la façon de faire car les téléchargements précédents qui fonctionnaient avec l'exportation de 2 éléments ne fonctionnent plus.

0 votes

Je ne peux pas exporter uniquement le certificat en tant que p12 - êtes-vous sûr que c'est la bonne méthode ?

0 votes

Même chose ici. C'est très important.

3voto

MattPil29 Points 125

J'ai atterri ici alors que j'essayais de construire une application iOS dans le nuage en utilisant MS Visual Studio App Center SANS Mac. Le problème est que chaque tutoriel utilise la réponse la mieux notée ci-dessus par Jayprakash Dubey. Cette approche utilise un Mac et un KeyChain. La solution vient de SO aquí .

Vous avez besoin d'une Clé (aps_development.key), et ensuite :

  1. Créer une paire de clés : openssl genrsa -out aps_development.key 2048
  2. Créer un CSR : openssl req -new -sha256 -key aps_development.key -out aps_development.csr
  3. Téléchargez le CSR sur le portail de développement pour obtenir le certificat. aps_development.cer
  4. Convertir le certificat : openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem
  5. Construire le PKCS#12 : openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12

Vous pouvez ensuite créer un identifiant d'application et un profil d'approvisionnement. Cela vous permettra de construire dans l'App Center.

0 votes

App Center lui-même utilise les Macs dans le nuage pour créer des applications iOS. App Center Build s'attend également à ce que votre application soit capable de se construire dans un environnement Mac local. Cette approche n'est donc pas prise en charge et pourrait entraîner des problèmes imprévus, même si elle fonctionne pour l'instant.

0 votes

@MattPil29 Où avez-vous téléchargé le fichier .key ?

0 votes

J'avais besoin d'utiliser ma machine Windows pour générer le CSR et convertir le CER en P12 pour CodeMagic et ces instructions ont parfaitement fonctionné.

3voto

Lai Lee Points 136

Pour tous ceux qui ont l'option P12 grisée/grisée,

voici la dernière capture d'écran (2021) de mon macbook pro.

keychain access v11.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X