web-dev-qa-db-fra.com

Comment créer une clé privée pour un certificat de distribution iPhone?

Dans iPhone Developer Program Portal, une vidéo explique comment créer un certificat de développement et attribuer une clé privée. 

Maintenant, j'ai terminé le processus de développement et commence à distribuer

J'ai créé un "certificat de distribution", mais comment puis-je affecter une clé privée à ce certificat?

Comme il a eu "l'erreur CodeSign: identité de signature de code '...' ne correspond à aucun certificat de signature de code dans votre trousseau" lors de la compilation

Il me fera plaisir de me laisser maintenant si je dois attribuer une clé privée au cert de distribution et comment.

Veuillez noter que je ne parle PAS du certificat de développement ici, merci.

14
Unreality

Lisez la section Obtention du certificat de distribution de votre iPhone du site iPhone de Apple Developer Connection . Ceci explique pas à pas ce que vous devez faire, dans le bon ordre.

EDIT: le lien actuel semble être: https://developer.Apple.com/library/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//Apple_ref/doc/uid/TP40012582-CH31-SW1

Avant de pouvoir coder la signature de votre application, vous créez votre certificat de développement et, ultérieurement, un certificat de distribution pour télécharger votre application sur iTunes Connect. Vous pouvez créer tous les types de certificats et d'identités de signature nécessaires à l'aide de Xcode. Xcode crée, télécharge et installe vos identités de signature pour vous.

Tous les membres de l'équipe peuvent créer leur propre certificat de développement. Seul un agent d'équipe ou un administrateur peut créer un certificat de distribution. Seul un agent de l'équipe peut créer un certificat d'ID de développeur. Si vous êtes membre d'une organisation, lisez la rubrique Gestion de votre équipe dans le centre des membres pour obtenir une description des rôles et des tâches de l'équipe exécutés par les agents de l'équipe pour le compte des membres de l'équipe.

Xcode crée votre certificat de développement pour vous quand vous en avez besoin. Par exemple, lorsque vous affectez votre projet à une équipe ou créez le profil de provisioning d'équipe, comme décrit dans la section Configuration des paramètres d'identité et d'équipe, Xcode crée votre certificat de développement et l'ajoute au profil de provisioning d'équipe. Pour cette raison, vous créez généralement des certificats de distribution à l'aide de la fenêtre Préférences Xcode.

Créer une identité de signature

  1. Dans la fenêtre Préférences Xcode, cliquez sur Comptes.

  2. Sélectionnez l'équipe que vous souhaitez utiliser, puis cliquez sur Afficher les détails.

  3. Dans la boîte de dialogue qui apparaît, cliquez sur le bouton Créer dans la ligne du type de certificat que vous souhaitez créer.

    Si le bouton Créer est désactivé, vous n'êtes pas autorisé à créer ce type d'identité de signature. Pour une description de chaque type de certificat, reportez-vous au Tableau 14-2.

    Une fois l’identité de signature créée, le bouton Créer disparaît. 

  4. Pour revenir aux préférences de comptes, cliquez sur Terminé.

4
Alex Reynolds

Comme personne n’a mis à jour ni répondu à cette question depuis que Nathan a souligné que le lien de réponse original n’était pas disponible (premier point sur la publication sur stackoverflow "Veuillez vous assurer de répondre à la question"), voici une réponse de mon expérience , espérons que cela aide quelqu'un:

Pour cette question spécifique (cert. Dev/Distribution installé mais pas de clé privée), la réponse est un choix de 2 alternatives:

1. Créez une nouvelle identité de certificat via le portail devloper Apple Dans ce cas, vous devrez vous connecter au portail de développement Apple et utiliser l'assistant. Pour ce faire, vous devrez créer et télécharger un CSR (Certificate Signing Request) qui créera également les clés publique et privée sur la machine. Apple signe la demande et voilà, une paire de certificats public/privé signée: Référence

2. Exportez la clé privée de la machine utilisée à l’origine pour créer le certificat C’est le cas lorsque vous signez avec une identité créée précédemment, probablement sur une ancienne machine ou si (comme dans mon cas) votre développement pour un client dont l'identifiant est déjà créé. Si vous ne pouvez pas accéder à la machine utilisée à l'origine pour créer l'identité du certificat, vous devrez créer une nouvelle identité conformément au guide/assistant.

Pour ce faire, vous devez exporter votre clé privée (un fichier .p12) ou une paire de clés publique/privée via Keychain Access, puis installer la clé privée ou la paire de clés sur la machine sur laquelle vous développez. Voici un guide j'ai trouvé sur stackoverflow.

Réf: http://iphonedevsdk.com/forum/iphone-sdk-development/11498-problems-exporting-importing-p12-private-key-for-developing-on-another-mac.html

PS> Soyez averti, je suis en train d'exécuter cette dernière option en ce moment, et même si des preuves suggèrent que cela fonctionnera, cela n'a pas encore été testé par moi. Si cela ne fonctionne pas, je vous répondrai de nouveau!

35
Danny Walker

Pour moi, le redémarrage de Xcode a résolu ces deux problèmes.
Tout était évidemment configuré correctement quelque part, mais devait être vidé/synchronisé.

0
DefenestrationDay

Si vous passez la souris sur l’image et cliquez sur la petite icône de suppression rouge, sauvegardez-la. Naviguez et revenez à cette page, vous pourrez ajouter l'icône à nouveau.

0
Clawg