187 votes

Certificat de distribution / clé privée non installé

Avec Xcode 9.1, après avoir créé une application iOS, je veux l'archiver et la télécharger sur l'appStore pour un test bêta. Mais je rencontre le problème suivant après avoir cliqué sur le bouton Upload to the App Store... et de choisir Automatically manage signing :

"Mon nom" a un certificat de distribution iOS mais sa clé privée n'est pas installée. pas installée. Contactez le créateur de ce certificat pour obtenir une copie de la clé privée.

Je ne sais pas pourquoi cette "clé privée n'est pas installée", mais le certificat de distribution a peut-être été créé sur un autre ordinateur ou autre. Dans tous les cas :

Quel est le moyen le plus simple de récupérer la clé privée manquante et de l'installer ? Afin de faire fonctionner les choses.

540voto

Tanjima Points 1831

A jour (janvier 2021) (Xcode 10 - 12)

  1. Allez dans Xcode - Préférences - Comptes - Gérer les certificats
  2. Cliquez sur le + en bas à gauche, puis Apple Distribution
  3. Attendez un peu, puis cliquez sur Done

C'est tout. Vous pouvez vouloir révoquer l'ancien certificat sur développeur.apple.com aussi.

Ancienne réponse

Étape 1 : Xcode -> Produit -> Archives -> Cliquez sur le certificat de gestion

Click manage certificate

Étape 2 : Ajouter la distribution iOS

Add iOS distribution

12 votes

Cela ne fonctionne pas car rien ne se passe lorsque je clique sur le signe plus. Je n'ai pas d'option pour la "distribution iOS".

2 votes

Si j'accède à Manage Certificates via Xcode > Preferences > Accounts, alors le signe plus est actif comme indiqué dans l'étape 2 ci-dessus.

22 votes

Ce serait la meilleure réponse

126voto

matt Points 60113

Vous ne pouvez avoir que un certificat de distribution. Il réunit une clé publique, connue d'Apple, et une clé privée, qui se trouve dans le trousseau d'un ordinateur. Si ce certificat de distribution a été créé sur un autre ordinateur, alors la clé privée se trouve dans le trousseau de cet ordinateur. Et ce certificat de distribution ne fonctionne pas sans elle.

Ainsi, pour utiliser ce certificat de distribution sur cet ordinateur, vous devez trouver que ordinateur, ouvrez Keychain Access, localisez et exportez la clé privée, envoyez-la par courrier ou envoyez-la de toute autre manière à ce et l'importer dans le trousseau de clés de cet ordinateur.

Si vous allez dans le panneau préfixe Comptes dans Xcode et que vous double-cliquez sur votre équipe, vous verrez une boîte de dialogue qui vous aidera à résoudre ce problème. Si vous voyez votre certificat de distribution et qu'il indique Not In Keychain, vous pouvez contrôler-cliquer sur ce certificat pour obtenir un menu qui vous permet d'envoyer un e-mail à la personne qui a créé le certificat et lui demander de vous l'envoyer. Cette personne peut utiliser cette même importation pour choisir Exporter le certificat et peut vous envoyer par e-mail le certificat exporté.

Dans tous les cas, la clé privée ou le certificat exporté sera protégé par un mot de passe. Vous devrez connaître le mot de passe pour pouvoir l'utiliser.

1 votes

Mon premier essai en suivant votre suggestion n'a pas fonctionné. Très probablement parce que je ne l'ai pas fait correctement. Une question que j'ai est quand je vais à Keychain Access où le certificat a été créé Comment puis-je localiser la clé privée ? Il semble que Keychain Access montre, à certains endroits, des zillions d'objets tous appelés du même nom. Je ne suis donc pas du tout sûr d'avoir fait cette partie comme je le devais.

87 votes

Eh bien, m'envoyer un courrier à moi-même en posant la question que je vous pose maintenant ne sera probablement pas efficace :)

2 votes

Mais je continue à penser que votre réponse m'a mis sur la bonne voie, donc je dois creuser un peu plus.

38voto

Paul Points 500

Cette réponse s'adresse à l'équipe d'un seul homme pour résoudre ce problème rapidement sans lire trop d'informations sur "l'équipe".

Étape 1) Allez sur le navigateur Web, ouvrez votre compte de développeur. Allez dans Certificats, Identifiants et Profils. Sélectionnez Certificats / Production. Vous verrez que le certificat pour lequel il manquait la clé privée est listé ici. Cliquez sur Révoquer. Et suivez les instructions pour supprimer ce certificat. enter image description here Étape 2) C'est tout ! Retournez dans Xcode pour valider votre application. Il vous demandera maintenant de générer un nouveau certificat. Maintenant vous êtes heureux de télécharger vos applications.

0 votes

Pour les personnes qui ont perdu ou n'ont pas accès à leur clé privée, comme dans mon cas, c'est la solution.

0 votes

Pour les personnes qui ne peuvent pas exporter le certificat privé parce que l'interface graphique de MacOS se bloque toujours lors de l'exportation, c'est la solution.

21voto

fujianjin6471 Points 4055

Ajouter un nouveau certificat de production aquí Téléchargez ensuite le fichier .cer et double-cliquez dessus pour l'ajouter au trousseau.

Tout ira bien maintenant, n'oubliez pas de redémarrer Xcode !!!

1 votes

Votre réponse m'a sauvé. J'ai fait toutes les étapes et ça ne marchait pas. XCode n'est pas assez intelligent pour savoir que vous avez ajouté un nouveau certificat au trousseau de clés sans quitter et relancer.

14voto

Yitzchak Points 1374

EDIT : Je pensais que l'autre ordinateur était mort alors je corrige ma réponse :

Vous devez exporter le certificat du premier ordinateur avec sa clé privée et l'importer dans le nouvel ordinateur.

Je préfère la méthode iCloud, sauvegarder sur iCloud et l'obtenir sur le nouvel ordinateur.

Si vous ne pouvez pas le faire pour une raison quelconque, vous pouvez révoquer le certificat sur le site des développeurs d'Apple, puis laisser Xcode en créer un nouveau pour vous, il créera également une nouvelle clé privée et la stockera dans votre trousseau, assurez-vous de la sauvegarder de la manière que vous préférez.

2 votes

C'est un terrible conseil.

7 votes

Selon mes connaissances, rien de mauvais ne se produit lors de la révocation d'un certificat Savez-vous quelque chose d'autre ?

0 votes

Oui, il peut exporter la clé privée de l'ordinateur 1 vers l'ordinateur 2. Ce que vous conseillez fera que le certificat de distribution ne fonctionnera plus sur l'autre ordinateur ! Pourquoi que une bonne chose ?

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