Xcode n’a pas trouvé de certificate privé / paire de clés valide pour ce profil dans votre trousseau

Duplication possible:
Xcode – iPhone – le profil ne correspond à aucune paire certificate / clé privée valide dans le trousseau par défaut

J’ai un problème pour installer un profil d’approvisionnement créé par un autre développeur.

  1. Un certificate de développement existe déjà
  2. L’application sur laquelle je travaille dispose d’un profil d’approvisionnement associé au certificate
  3. Mon UUID d’appareil a été ajouté
  4. AppID pour l’application existe déjà
  5. Le profil de provisioning de développement existe, avec mon UUID

Lorsque je télécharge le certificate et le profil d’approvisionnement, j’obtiens l’erreur dans l’organiseur:

Xcode could not find a valid private certificatee/valid key-pair for this profile in your keychain 

Comment puis-je résoudre?

Vous avez également besoin de la clé privée utilisée lors de la demande du certificate.

La clé privée est ce qui est utilisé pour signer chaque fichier binary de périphérique que vous comstackz en utilisant cette identité de développeur. Le certificate que vous téléchargez et importez est simplement un tampon sur votre clé privée indiquant que “le code signé à l’aide de cette clé est autorisé à s’exécuter sur un périphérique”.

Demandez à l’autre développeur d’exporter les clés utilisées lors de la génération de la demande de signature de certificate d’origine, puis importez-les sur votre ordinateur.

Regardez dans Keychain pour voir si la clé est correctement associée au certificate une fois que vous avez les deux:

Lorsque tout est correctement en place, vous devriez voir un petit sortingangle de divulgation sur votre certificate qui vous permet de voir la clé (et vice versa sur la page de la clé où vous devriez voir le certificate sous la clé). Sinon, la relation n’est pas correcte, pas reconnue par Keychain lors de l’importation (je l’ai vu dans certains cas lors de l’importation d’un certificate renouvelé alors que l’expiration était encore dans le trousseau).

J’essayais récemment de déplacer la paire de clés publique / privée pour un certificate de développeur iOS vers une autre machine. Le fichier public a été exporté à l’aide de Keychain Access vers .pem et le fichier privé vers un fichier .p12 protégé par mot de passe.

Sur l’autre machine, Keychain Access ne les importerait pas. La solution était la bonne vieille ligne de commande:

 security import ios_priv.p12 -k ~/Library/Keychains/login.keychain security import ios_pub.pem -k ~/Library/Keychains/login.keychain 

Essayez donc ceci si vous avez des problèmes pour transférer les clés de votre certificate.


EDIT pour répondre au commentaire de @baudot ci-dessous. (Ça ne rentrerait pas dans un commentaire)

Assurez-vous d’avoir également le certificate d’autorité de certificateion racine Apple Developer Relations dans votre trousseau. C’est ce qui sert à vérifier le certificate.

Vous pouvez également opter pour un nouveau départ. Supprimez simplement les clés et les certificates de votre trousseau, révoquez-les sur le portail ADC et supprimez leurs profils de configuration associés.

Une fois que vous avez supprimé tout, vous pouvez générer une nouvelle paire de clés et une demande de signature de certificate associée. Assurez-vous ensuite d’exporter les clés et de les ranger dans le bon endroit pour le futur.

Ensuite, vous accédez au portail ADC, téléchargez votre nouvelle demande de signature de certificate, générez de nouveaux profils d’approvisionnement et vous êtes prêt à partir.

La seule chose irremplaçable est votre compte ADC. Tout le rest peut être restauré ou recréé.

Je vous recommande également d’utiliser le nouveau provisionnement automatique sophistiqué intégré à Xcode. Cela vous évite d’avoir à télécharger et à importer les profils d’approvisionnement. Il synchronise simplement vos existants avec ADC.

Cela m’est arrivé parce que j’ai supprimé le profil dans la section Profils de provisionnement de l’appareil dans l’organiseur Xcode, mais pas dans la section Profils de provisionnement de la bibliothèque. Une fois que je l’ai déposé là aussi, l’avertissement a disparu dans la section appareil.

J’espère que cela peut aider quelqu’un …

Lorsque le certificate est OK, redémarrez Xcode pour l’aider à le trouver.

J’avais un problème similaire. Une solution consiste à supprimer le certificate de votre trousseau et à en demander un nouveau. Apple a une visite détaillée ici:

notes techniques

J’ai eu ce problème après l’expiration de mon certificate et j’étais certain que les clés étaient toutes bonnes et au bon endroit. L’étape qui me manquait consistait à supprimer les profils du portail d’approvisionnement et à les recréer. Ne croyez pas que ce lien “renouveler” – cela ressemble à un raccourci si tentant, mais ça n’a pas marché pour moi!

Ainsi, pour un nouveau départ, vous devez non seulement supprimer les clés et les certificates de votre trousseau, mais vous devez également effacer le contenu des tabs Développement et Dissortingbution sous Mise à disposition.

J’ai aussi eu ce problème sur 10.6, Xcode 4.2. Après avoir essayé beaucoup d’autres choses, j’ai finalement quitté Xcode et l’ai redémarré. Ensuite, le message d’erreur a disparu. Got figure.

Je n’ai pu résoudre ce problème qu’en utilisant Xcode -> Organizer -> Developer Profile et en cliquant sur Export dans le bas du volet de droite. Cela enregistre un fichier consolidé .developerprofile que vous ne faites .developerprofile / importer sur la machine cible.

Déni de responsabilité: cela peut sans doute ne pas être ce que l’affiche avait initialement l’intention de réaliser. Je n’ai toutefois pas réussi à déplacer de manière privée + public + cert entre mes machines.

Vous devez modifier votre profil d’approvisionnement dans le portail de provisionnement iOS. Sélectionnez le bouton “modifier” puis “Modifier”. Entrez les informations requirejses (votre nom, appareils, identifiant d’application).

Lorsque le système indique que le profil est “Actif”, accédez à la section Certificats du portail d’approvisionnement iOS et vérifiez votre certificate de développement. Votre profil d’approvisionnement doit figurer dans l’entrée “Profil d’approvisionnement”.

Ensuite, vous pouvez télécharger le profil et le déposer dans Xcode.

Si votre ancien mac n’est pas accessible, mais que vous avez un access ssh (comme sous tension dans un cube de bureau très éloigné), il existe une solution. Vous pouvez simplement copier le trousseau de votre ancienne machine sur votre nouvelle machine en utilisant la ligne de commande:

 scp user@oldmac:Library/Keychains/login.keychain ~/Downloads/oldmac.keychain --or-- ssh oldmac; cp Library/Keychains/login.keychain ~/Dropbox/oldmac.keychain 

Sur le nouveau Mac, ouvrez le Keychain Access. Allez dans Fichier -> Ajouter un trousseau et choisissez Downloads / oldmac.keychain

Copiez ensuite simplement les clés publiques nécessaires depuis le trousseau oldmac vers le trousseau par défaut “login”.

Je viens d’avoir ce problème maintenant.

Appuyez simplement sur “Actualiser” dans la barre d’outils inférieure et XCode 4 téléchargera et installera tout pour vous.