clé privée manquante dans le certificat de distribution sur le trousseau

171

J'ai le problème suivant que je n'ai pu trouver de solution nulle part. Fondamentalement, nous avons un compte de développeur d'entreprise (pas d'entreprise) et donc, afin de soumettre notre application, j'ai demandé à notre chef d'équipe de m'envoyer le certificat de distribution et de créer et de m'envoyer un profil d'approvisionnement de distribution.

Avec le profil de développeur, tout fonctionne bien, mais lorsque j'ai installé le cert et le profil de provisionnement, je n'ai pas vu le profil de distribution sur Xcode, et je n'ai pas non plus de clé privée sous le certificat dist dans le trousseau.

Quelqu'un sait-il comment résoudre ceci? J'ai lu à différents endroits que je devrais révoquer le certificat et en créer un nouveau, mais je ne peux pas vraiment le faire car nous avons un tas d'applications dans l'entreprise et je ne peux pas le révoquer pour tout le monde.

moshikafya
la source
2
Parfois, la clé privée est manquante car nous essayons de créer des certificats avec .CSR qui ont été créés sur n'importe quelle autre machine. Donc, assurez-vous que votre fichier CSR doit également être créé sur la même machine que celle sur laquelle vous essayez de créer et d'installer un certificat ... ou vous pouvez utiliser .p12 de certificats pour éviter ce problème
MAhipal Singh
2
Dans mon cas, j'ai deux certificats de signature identiques dans mon trousseau ... Cela a résolu simplement en supprimant l'un d'entre eux ... Juste au cas où ...
juanram0n

Réponses:

168

entrez la description de l'image iciAhh c'est un problème courant, la solution est simple:

Quiconque a déjà créé les informations d'identification du développeur doit à l'origine accéder au trousseau de son ordinateur et faire un clic droit sur la ou les clés privées et publiques et exporter la clé vers un fichier. Ensuite, téléchargez simplement ce fichier sur votre ordinateur et ouvrez-le, et il sera ajouté à votre trousseau.

Vous devez disposer à la fois de la clé privée (fichier .pem) et du certificat pour vos profils d'approvisionnement.

Nirma
la source
36
Pour être plus précis, c'est le fichier .p12 dont vous avez besoin (exporté)
mkral
7
@Nirma Que faire si nous n'avons pas accès à cet ordinateur à partir duquel les informations d'identification de développeur ont été créées à l'origine.
Nishad Arora
@NishadArora Vous devrez créer une nouvelle clé à utiliser. Il n'y a aucun moyen de l'utiliser sans la clé privée. AFAIK
Joshua Pinter
2
@Nirma Comment en créer un nouveau
Muju
Si cela aide quelqu'un, après avoir installé le certificat public et la clé privée (vérifiés dans Keychain Access et cela montrait), je devais également redémarrer Xcode pour qu'il récupère la clé privée. Utilisation de Xcode 11.6 sur OSX 10.15.5.
NHol
70

Tant que vous avez toujours accès au mac qui a été utilisé pour générer le certificat de distribution d'origine, c'est très simple.

Utilisez simplement l'application Keychain Access de ce mac pour exporter à la fois le certificat et la clé privée. Sélectionnez les deux en utilisant la touche Maj ou la commande et cliquez avec le bouton droit pour exporter vers un fichier .p12.

Joint une capture d'écran pour le rendre très clair.

Sur votre Mac, importez ce fichier .p12 et vous êtes prêt à partir (assurez-vous simplement que vous disposez d'un profil d'approvisionnement valide).

Choisissez simplement l'exportation

eladleb
la source
55

Pour ajouter aux réponses des autres, si vous n'avez plus accès à cette clé privée, il est assez simple de se remettre en marche:

  1. révoquez votre certificat actif dans le portail d'approvisionnement
  2. créer un nouveau certificat de développeur (accès trousseau /.../ demande de csr ... etc.)
  3. télécharger et installer un nouveau certificat
  4. créer un nouveau profil d'approvisionnement pour l'ID d'application existant (sur le portail d'approvisionnement)
  5. télécharger et installer un nouveau profil d'approvisionnement et dans la version, les paramètres définissent les identités de signature de code appropriées
mkral
la source
13
Ici, dans mon entreprise, c'est toujours un désordre, personne ne sait dans quel ordinateur a été créé un certain certificat. Est juste préférable de révoquer et de recréer
user2387149
1
@ user2387149 Je suis ici 6 ans plus tard pour suggérer CI / CD de faire ce genre de choses et oublier la distribution via xCode.
Edgar Salazar
si j'ai déjà téléchargé un certificat de distribution, je l'ai révoqué, puis je le redemande. dois-je supprimer l'ancien certificat de distribution?
kafinsalim le
15

Supprimez l'existant de KeyChain, récupérez et ajoutez le fichier .p12 à votre mac à partir duquel le certificat a été créé.

Pour obtenir .p12 à partir du Mac source, accédez à KeyChain, développez le certificat, sélectionnez les deux et exportez 2 éléments. Cela enregistrera le fichier .p12 à votre emplacement:

entrez la description de l'image ici

Jamshed Alam
la source
8

Dans mon cas, j'ai perdu toutes les clés privées de mon trousseau, les nouvelles ont été importées correctement, mais n'affiche pas non plus la clé privée. La seule chose qui a aidé était de générer un nouveau CertificateSigningRequest

JakubKnejzlik
la source
6

Après avoir changé un Mac qui n'est pas celui d'origine qui a créé le certificat de disitribution, il vous manquera la clé privée, supprimez simplement le certificat d'origine et recréez-en un nouveau, cela fonctionne pour moi ~

Michael Yang
la source
5

Lorsque j'essaie de télécharger la version iOS pour tester le vol, une erreur s'est produite.

"Missing privacy key".

entrez la description de l'image ici

Juste 2 étapes pour corriger cette erreur.

  1. Supprimer l'ancien certificat de developer.apple.com
  2. Créez un nouveau certificat depuis Xcode ou developer.apple.com

Mon problème a été résolu (j'utilise Xcode 9.4.1).

Veuillez vérifier, Xcode a créé un nouveau certificat.

entrez la description de l'image ici

Vivek
la source
5

Pour les personnes qui ont peur de recréer le certificat de distribution AppStore, la documentation Apple dit:

Important: la recréation de vos certificats de développement ou de distribution n'affecte pas les applications que vous avez soumises à l'App Store et n'affecte pas votre capacité à les mettre à jour.

Mais cela affecte les applications de l' écosystème Apple Developer Enterprise .

Ramis
la source
4
c'est le cas si vous avez un compte d'entreprise!
MobileMon
Par «système d'écosystème d'entreprise» ... Par ex. parlez-vous si vous travaillez dans une grande entreprise et que 100 développeurs ont cette clé privée pour cette application spécifique?
petrosmm
2

Dans le menu> Visual Studio (mac)> Préférences> Publication> Comptes de développeur Apple> [Sélectionnez votre identifiant Apple]> Afficher les détails> Créer un certificat

Pour supprimer les certificats inutilisés / invalides, accédez au site Web: https://developer.apple.com/account/resources/certificates/list

supprimer tout certificat indésirable là-bas

Ensuite, créez un identifiant d'application (identifiants), accédez au site Web:
https://developer.apple.com/account/resources/identifiers/list

Ensuite, accédez au site Web pour créer des profils d'approvisionnement:
https://developer.apple.com/account/resources/profiles/add

utilisez le certificat pour associer votre identifiant d'application.

Ensuite, téléchargez les profils:
Sur votre mac> Dans le menu> Visual Studio (mac)> Préférences> Publication> Comptes de développeur Apple> [Sélectionnez votre identifiant Apple]> Afficher les détails> Télécharger tous les profils

mjb
la source
1

J'ai accédé à ce certificat sur le site Web des développeurs d'Apple et après l'avoir téléchargé, je l'ai ouvert. De même, à l'ouverture, j'ai eu une petite fenêtre me demandant si je voulais ajouter le certificat au trousseau. Il suffit d'appuyer sur "ajouter" et l'erreur "clé privée manquante" a disparu.

ISS
la source
1

Je suis entré dans cette situation ("Clé privée manquante.") Après que Xcode n'a pas réussi à créer un nouveau certificat de distribution - une erreur inconnue s'est produite.

Ensuite, j'ai eu du mal à obtenir la clé privée ou à générer un nouveau certificat. Du gestionnaire de certificats dans Xcode, j'ai reçu des erreurs étranges telles que "La phrase de passe que vous avez entrée est incorrecte". Mais il ne m'a même pas demandé de mot de passe.

Ce qui m'a aidé était:

  1. Révoquez tous les certificats de distribution qui ne fonctionnent pas sur developer.apple.com
  2. Redémarrez mon Mac

Après cela, Xcode a pu créer un nouveau certificat de distribution et aucune clé privée n'était manquante.

Leçon apprise: redémarrez votre Mac autant que vous Windows;)

Štěpán Havránek
la source
0

Vérifiez si vous utilisez Connexion ou non pour ajouter les certificats, si vous enregistrez le système en haut à gauche, nous ne pourrons pas le voir.

Faites donc glisser et déposez le .cer dans la connexion, puis vérifiez que vous êtes en mesure d'obtenir la clé privée ou non.

Priyanka
la source
0

Juste pour faire la lumière là-dessus.

Après avoir supprimé mon certificat p12 du trousseau. J'ai retéléchargé mon propre certificat depuis le portail des développeurs Apple.

Je n'ai pu télécharger que le certificat. Mais pour signer, vous avez également besoin de la clé privée. Donc vous non plus:

  • exportez la clé privée et le certificat du trousseau pour l'obtenir.

  • Téléchargez une demande de signature de certificat et générez de nouveaux certificats

Ce certificat en lui-même n'a aucune valeur à des fins de signature. Je suppose que la clé privée est créée par le trousseau au moment où vous `` demandez un certificat à une autorité de certification '', mais ne vous est pas affichée tant que vous n'avez pas ajouté son certificat de liaison.

Mon chéri
la source