web-dev-qa-db-fra.com

Signature de l'application iPhone: une identité de signature valide correspondant à ce profil est introuvable dans votre trousseau

Je me tire les cheveux pour ça. Je viens de télécharger le iPhone 3.0 SDK, mais je ne parviens pas à faire fonctionner mes profils de provisioning. Voici ce que j'ai essayé:

  • Supprimer tous les profils d'approvisionnement
  • Supprimer le trousseau de connexion
  • Créer un nouveau trousseau "login", le rendre par défaut
  • Créer une nouvelle demande de signature de certificat
  • Créer de nouveaux certificats de développeur et de distribution dans le centre de développement Apple
  • Téléchargez et installez les
  • Téléchargez le certificat WWDR et installez-le
  • Créez un nouveau profil d'approvisionnement et double-cliquez dessus pour l'installer.

Tous les certificats indiquent qu'ils sont valides, mais Xcode ne les reconnaît toujours pas. Que devrais-je essayer ensuite?

Modifier:

J'ai complètement réinstallé Mac OS X et, à partir d'une nouvelle installation, j'ai installé le 3.0 SDK et j'ai toujours le même problème.

310
Ben Reeves

A eu le même problème hier. Maintenant, après vous être connecté au portail des développeurs, un bouton "Renouveler" est attribué à chaque profil de provisioning non valide. Après le renouvellement et le téléchargement du profil d'approvisionnement mis à jour, tout semble fonctionner comme prévu, le problème est définitivement résolu :)

Mise à jour: vous devrez peut-être contacter Apple pour obtenir un bouton "Renouveler", ou ils l'ont supprimé - et la solution consiste simplement à le télécharger et à l'ajouter au trousseau, sans avoir besoin de le renouveler.

65
Valerii Hiora

J'ai eu le même problème: j'ai d'abord téléchargé mes certificats sur mon petit MacBook lors de mes déplacements. En essayant d'installer les certificats sur mon iMac ..., j'ai rencontré les problèmes décrits sur cette page.

Après avoir passé des heures à me tirer les cheveux, comme beaucoup d’entre vous, j’ai suivi les étapes suivantes:

  1. Fermez tous vos éléments, à l'exception de votre page Web, qui doit être connecté à App Dev Center.

  2. Ouvrez Xcode. Cliquez sur WINDOW> ORGANIZER. Cliquez ensuite sur l'onglet Périphériques et sélectionnez "Profils de provisioning" à gauche. Cela devrait faire apparaître vos profils d'approvisionnement. Mettez en surbrillance un par un (si plus de 1), faites un clic droit et supprimez le profil. Oui, fais-le! Supprimez-les tous! (J'ai continué à en créer un après un autre pour essayer de faire fonctionner la chose.)

  3. Une fois connecté à App Dev Center, à partir de la première page, à droite, cliquez sur "PORTAIL D'APPROVISIONNEMENT iOS"> (ne pas "lancer l'assistant"). Au lieu de cela, cliquez sur le côté gauche. Sélectionnez CERTIFICATS. Vous n'aurez probablement qu'une ligne avec votre nom/société - à partir de là, cliquez sur le côté droit de REVOKE. Cliquez sur OK pour vérifier que c'est ce que vous voulez faire.

  4. Sur la même page, cliquez sur DEVICES. Cliquez sur la case en regard de votre appareil que vous essayez de configurer, puis cliquez sur SUPPRIMER SÉLECTIONNÉ. Encore une fois, cliquez sur OK pour vérifier.

  5. Attendez environ 2 minutes pour laisser Apple faire leur travail.

  6. Maintenant, cliquez sur "HOME" qui est sur la navigation de gauche.

  7. Cliquez sur "Launch Assistant"

  8. créez un nouvel identifiant d'application - appelez-le comme vous voulez. Assurez-vous simplement qu'il est assez unique pour savoir que c'est celui que vous venez de créer, car les autres que vous avez bousculés toute la journée ne seront pas supprimés du Centre de développement d'Apples.

  9. Vous devriez pouvoir suivre le reste de l’Assistant sans problèmes - l’essentiel est de supprimer vos anciens profils de provision et de tout recommencer.

Bonne chance!

166
Louie

J'ai rencontré le même problème. En effet, la clé privée du certificat n’existe pas sur votre ordinateur.

  1. Si vous utilisez maintenant une nouvelle machine et que vous téléchargez le certificat depuis le site Web: Vous pouvez exporter le certificat de l'ancienne machine, puis l'importer sur la nouvelle.

  2. Si vous partagez le compte de développeur avec quelqu'un: vous demandez au propriétaire du compte de vous envoyer une invitation et de devenir membre de l'équipe de ce compte. Ensuite, vous pouvez créer votre propre certificat à partir de zéro.

  3. Si vous ne voulez pas gérer tous ces problèmes, il suffit de révoquer le certificat sur le site Web et de supprimer la copie sur votre ordinateur local. Puis demander un nouveau. Cela devrait être le moyen ultime de résoudre ce problème.

70
Rome Li

Ce que j'ai trouvé, c'est que je devais faire glisser le fichier distribution_identity.cer que j'avais téléchargé de la page "Certificats -> Distribution" du portail du programme de développement dans le programme d'accès au trousseau. Cette erreur a ensuite disparu.

27
MoDJ

Je l'ai résolu par

a) aller à la page de profil d'approvisionnement sur le portail

b) Cliquez sur Modifier sur le profil d'approvisionnement que vous rencontrez des problèmes (côté droit).

c) Cochez la case Certificat approprié (non cochée par défaut) et sélectionnez le bon identifiant d'application (mon ancien identifiant a expiré)

d) Téléchargez et utilisez le nouveau profil d'approvisionnement. Supprimer l'ancien (s).

Apparemment il y a 4 causes différentes à ce problème:

  1. Il manque à votre trousseau la clé privée associée à votre certificat de développeur iPhone ou de distribution iPhone.
  2. Il manque le Apple certificat mondial intermédiaire de relations de développement dans le monde.
  3. Votre certificat a été révoqué ou a expiré.
  4. Le protocole OCSP (Online Certificate Status Protocol) ou la liste de révocation de certificats (CRL) sont activés dans les préférences d'accès au trousseau

.

22
prasad

Après avoir parcouru attentivement le fil de discussion et vérifié toutes les solutions proposées par les utilisateurs, je peux affirmer cela en toute confiance. Après avoir suivi les étapes décrites dans les documents de développement Apple pour la création d'un fichier de RSE et de provision mobile, faites-le!

  1. Lancez Xcode.
  2. Sélectionnez la fenêtre-> Agenda
  3. Cliquez sur ce bouton d'actualisation et cette barre jaune sale sera supprimée instantanément.

http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg

Croyez-moi, vous seulement devez le faire. Il n'est pas nécessaire de répéter le processus encore et encore pour vous assurer de le faire correctement. Appuyez simplement sur Actualiser, entrez vos identifiants de connexion et c'est fait.

14
Taimur Ajmal

Pour moi, cela ne fonctionnait que lorsque le certificat et les deux clés étaient dans le trousseau Connexion. J'avais déjà créé un trousseau Développement, mais l'organisateur Xcode ne trouvait pas les clés. Alors je les ai ramenés à Connexion, quittez l'outil de trousseau - et le tour est joué, l'erreur dans Xcode Organizer est partie! C'était sur Snow Leopard 10.6.2 avec le SDK 3.1.3.

9
Karsten Silz

Pour les certificats de développement, vous pouvez simplement en créer un nouveau et le faire correspondre à un profil. Toutefois, pour la distribution, comme lors de l'envoi à Apple, vous ne pouvez pas le faire et devez utiliser le certificat de distribution créé par l'agent de l'équipe. Le problème est que vous avez besoin de la clé privée sur votre machine. Cependant, il est très simple pour l'agent de l'équipe qui a créé le certificat de vous copier la clé privée. Vous trouverez ci-dessous les instructions fournies par Apple. J'espère que cela vous aidera.

Il est essentiel de sauvegarder votre clé privée dans un endroit sûr au cas où vous deviez développer sur plusieurs ordinateurs ou décider de réinstaller le système d'exploitation de votre système. Sans votre clé privée, vous ne pourrez pas signer de fichiers binaires dans Xcode et tester votre application sur un périphérique Apple. Lorsqu'une CSR est générée, l'application Keychain Access crée une clé privée sur votre trousseau de connexion. Cette clé privée est liée à votre compte d'utilisateur et ne peut pas être reproduite si elle est perdue en raison d'une réinstallation du système d'exploitation. Si vous envisagez de développer et de tester plusieurs systèmes, vous devez importer votre clé privée sur tous les systèmes sur lesquels vous allez travailler.

  1. Pour exporter votre clé privée et votre certificat à des fins de sécurité et pour permettre le développement sur plusieurs systèmes, ouvrez l’application Keychain Access et sélectionnez la catégorie ‘Clés’.
  2. Cliquez sur la clé privée associée à votre certificat de développement iPhone tout en maintenant la touche Contrôle enfoncée, puis cliquez sur "Exporter les éléments" dans le menu. La clé privée est identifiée par le certificat iPhone Developer: public qui lui est associé.
  3. Enregistrez votre clé au format de fichier Personal Information Exchange (.p12).
  4. Vous serez invité à créer un mot de passe utilisé lors de l'importation de cette clé sur un autre ordinateur.
  5. Vous pouvez maintenant transférer ce fichier .p12 entre des systèmes. Double-cliquez sur le fichier .p12 pour l'installer sur un système. Vous serez invité à entrer le mot de passe que vous avez entré à l'étape 4.
7
marchinram

La meilleure réponse que j'ai obtenue est l'exportation de votre clé, au lieu d'essayer simplement d'importer le fichier de certification.

Lorsque vous exportez la clé depuis le trousseau qui a généré la demande, vous obtenez un fichier Certificates.p12, qui regroupe les clés dont vous avez besoin.

Importez ensuite ceci dans le nouvel ordinateur.

Avec de telles clés, il est probablement bon de conserver un fichier de package de certificat roulé, car souvent la clé "publique", ou le fichier de certificat, ne suffit pas pour restaurer des éléments.

5
A A

Juste une note avec Xcode 4: dans l'organiseur, il y a deux sections différentes dans le volet de gauche:

  1. Bibliothèque> Profils d'approvisionnement

  2. Périphériques> votre périphérique> Profils de provisioning

Je mettais toujours mes profils d'approvisionnement dans 2. et même après un nettoyage et une installation corrects, cela ne fonctionnait pas. Puis j'ai découvert 1. et finalement j'ai trouvé le bouton de rafraîchissement. Si vous sélectionnez "Mise en service automatique de périphériques" dans 1. et cliquez sur Actualiser, tout est validé (plus aucun avertissement jaune dans 2.).

3
Jerome Mouneyrac

Dans mon cas, j'ai copié le projet de mon iMac sur mon Macbook Pro et découvert que ma clé privée n'était pas installée sur le Macbook. J'ai donc exporté ma clé privée, copiée et installée sur le Macbook, et le tour est joué! J'ai documenté les informations ici: http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html

3
Anthony Tambrin

Avez-vous essayé de redémarrer votre Mac et votre appareil? Lame répond, mais j'essaye toujours cela en premier.

3
Nosredna

Quelques étapes simples pour y arriver:

  1. Commencez par le trousseau (qui contient déjà votre clé de développement) sur votre ordinateur et créez une demande de certificat. Téléchargez la demande sur le site dev et créez le certificat.
  2. Créez un profil à l'aide du certificat.
  3. Téléchargez le profil et déposez-le sur Xcode.

Maintenant, tous les points sont connectés et cela devrait fonctionner. Cela fonctionne à la fois pour dev et pour la distribution.

2
jack

Je le fais fonctionner après avoir tout refait, puis créé un projet vide avec XCode et construit/exécuté sur le périphérique. XCode a montré une fenêtre demandant quelque chose comme: Voulez-vous accepter le certificat de développeur. J'ai appuyé sur "Toujours". Ce n'est qu'après cette étape que je me suis débarrassé du message "Une identité de signature valide correspondant à ce profil est introuvable dans votre trousseau" dans Organizer.

2
Pompair

Je me suis connecté au compte développeur et j'ai révoqué le certificat de développement. Après avoir révoqué et téléchargé le certificat de développement, j'ai double-cliqué sur le certificat nouvellement téléchargé. Cette fois, Private Key était en cours de développement dans KeyChain Access.

2
Yasir Siddiqui

Il existe deux certificats différents pour deux profils d'approvisionnement différents (développement et distribution). Vous devez installer les DEUX certificats dans le trousseau. Dans le portail du programme pour développeurs iPhone:

Certificats -> Développement -> Télécharger les certificats -> Distribution -> Télécharger

Double-cliquez sur les deux certificats. Après cela, les deux certificats doivent apparaître dans le trousseau.

2
Freeman

Un bon moyen de s’assurer que cela se produit proprement est de nettoyer d’abord votre trousseau de connexion.

En outre, une étape très importante consiste à déverrouiller votre trousseau avant d'importer la clé privée et la clé publique.

 security unlock-keychain -p password ~/Library/Keychains/login.keychain 

Importer une clé privée dans le trousseau de connexion:

security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 

1 identité importée.

Importer une clé publique dans le trousseau de connexion:

security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 

1 clé importée.

2
Das

Hé les gars, j'ai eu beaucoup de problèmes avec ça hier. J'ai parcouru l'ensemble du processus à plusieurs reprises, demandant une nouvelle demande de certificat à l'autorité avec l'assistant, effaçant tout le contenu du portail, téléchargeant le certificat, créant un nouveau profil et téléchargeant tout. Pas de dé.

Cependant, vérifiez ceci.

Commencez par effacer tous les certificats du portail pour un nouveau départ.

Après avoir créé la nouvelle demande de certificat avec l’assistant, cliquez sur "Afficher dans le Finder", puis double-cliquez sur ce mauvais garçon. Vous devriez obtenir une fenêtre contextuelle pour l'Assistant de certification avec un écran "Merci de spécifier l'autorité de certification émettrice", etc. Sinon, fermez-la et double-cliquez à nouveau. Continuez à présent dans la boîte de dialogue en choisissant "Demander un certificat à une autorité de certification existante" - Continuer, la demande est "Enregistré sur le disque" - Continuer, enregistrez-le où bon vous semble, voire remplacez le fichier.

À la fin, vous devriez voir la magie "Créer une paire de clés"

Rendez-vous sur l'accès KeyChain et vous y verrez vos clés! Téléchargez ce certificat sur le portail Apple, puis suivez leur assistant normalement, tout devrait bien fonctionner maintenant.

2
Donald Buchanan

La réponse est que cela révoque votre certificat de développement actuel et en crée un nouveau. suivez les instructions sur le site de pommes sur la façon de le faire. C'est si simple!! J'ai eu ce problème exact.

2
Deprecated Darren

De quoi as-tu besoin:

1) Une clé privée et une clé publique.

Ils ont ce symbole dans votre trousseau:

alt text

2) Un certificat établi à partir de la demande de signature de ces clés

3) Un profil d'approvisionnement lié à ce certificat

Supposons que vous changiez d'ordinateurs et que vous souhaitiez configurer à nouveau Xcode avec des profils d'approvisionnement. Comment faites-vous?

  1. Ouvrez Xcode, appuyez sur ctrl + O pour ouvrir l’Organiseur et supprimez tous les profils de provisioning déjà installés.
  2. Ouvrez l'accès au trousseau et créez une demande de signature que vous enregistrez dans un fichier (lorsque vous créez la demande, une clé privée et publique est créée dans votre trousseau).
  3. Créer/mettre à jour un certificat dans le portail de provisioning en envoyant Apple cette demande de signature
  4. Téléchargez et installez le certificat nouvellement créé.
  5. Révoquez vos profils d'approvisionnement et mettez-les à jour avec le nouveau certificat.
  6. Téléchargez et installez les profils d'approvisionnement mis à jour.
1
quano

"Il s'agissait d'un bogue sur le site portail Apple. Il manquait un champ nécessaire dans le profil d'approvisionnement. Ils ont corrigé ce bogue le 16/06/09 en retard."

1
David Smith

Tout le monde ici a très tort. Tout ce dont vous avez besoin est de suivre les étapes que Apple fournit dans Gestion de vos identités numériques.

Il vous indique d'exporter vos certificats via Xcode et de les réimporter via Xcode. Cela fonctionne très bien, mais assurez-vous que votre nom d'utilisateur est le même sur les deux ordinateurs, sinon il échouera.

1
casey

Était confronté hier à un problème similaire avec notre serveur CI. L'extension de l'application n'a pas pu être signée avec l'erreur

Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.

Remarque: j'avais créé moi-même mes profils d'approvisionnement à partir de portail de développeur (non géré par Xcode).

L'erreur était que j'avais créé les profils de provisioning à l'aide du certificat de distribution, mais les paramètres de génération étaient définis pour utiliser le certificat de développeur. Le changer pour utiliser le certificat de distribution a résolu le problème.

enter image description here

Résumé: faites également correspondre le certificat utilisé pour créer le profil de provisioning dans les paramètres de construction.

1
Ayush Goel

J'ai eu exactement le même problème et j'ai tout essayé. Pour une raison quelconque, la solution était que tous mes certificats avaient migré vers un trousseau appelé "Microsoft_intermediate_certificates". Comme cela s'est probablement passé lors d'une mise à niveau Xcode, je ne sais absolument pas pourquoi, mais cela peut aider quelqu'un.

J'ai déplacé tout le contenu du trousseau Microsoft vers le trousseau de connexion et tout est rentré dans l'ordre.

1
CodeFlakes

Voici ce que j'ai fait.

  1. Assurez-vous que vos certificats n'ont pas expiré, assurez-vous de supprimer tous ceux qui ont expiré. Obtenez-en de nouveaux, etc. Une fois que vous vous êtes assuré que tout se passe comme prévu, concentrez-vous sur vos fichiers de projet.
  2. dans le Finder, accédez à vos fichiers .xcodeproj, puis affichez les contenus du paquet.
  3. ouvrez project.pbxproj en xcode ou textedit.
  4. trouvez chaque référence à PROVISIONING_PROFILE et supprimez le GUID, laissez simplement vide "" En fonction de votre projet, vous devriez avoir environ 12 références ou plus, supprimez tous les GUIDS.

  5. Enregistrez le fichier, puis rouvrez votre projet dans XCODE

  6. Re sélectionner les profils de provision corrects pour toutes les signatures de code possibles (ils ne doivent pas tous être identiques)
  7. Construisez votre projet et vous devriez être prêt à partir.

Je pense que Xcode a du mal à comprendre comment. En supprimant tous les profils de provision du projet.pbxproj, puis en sélectionnant à nouveau un profil valide, cela le définira automatiquement.

1
J3RM

Je viens de passer plusieurs heures sur ce problème de fershlugginer, qui est apparu après le renouvellement de ma licence de développement. Pour répéter, tout fonctionnait sans accroc, puis (merci Apple!) Tout a été foiré et est resté foutu. Aucune des étapes de dépannage officielles Apple (liées au précédent) ni des solutions de résolution possibles mentionnées ici n'a résolu le problème pour moi.

Ce qui a finalement abouti pour moi a été de supprimer mes certificats de développement et de distribution, de les révoquer dans le portail de provisioning, puis de permettre à Xcode de les actualiser/de les publier AUTOMATIQUEMENT. Rien d’autre, dans quelque ordre que ce soit, n’a pu obtenir les deux certificats requis dans mon trousseau avec la clé privée correctement attachée.

1
software evolved

Si vous avez un nouveau Mac, vous pouvez aller sur IOS centre de développeur -> Portail d'approvisionnement -> Certificats -> Développement -> Révoquer et créer un nouveau certificat. Mon problème est résolu. Mon erreur est "Erreur de code: l'identité" Développeur iPhone "ne correspond à aucune paire certificat/clé privée valide non expirée dans vos trousseaux"

1
ethemsulan

J'ai eu le même problème mais, cela était dû à la configuration de "FileVault" sur mon Mac. Je suis allé dans mon trousseau et mis "login" pour être ma valeur par défaut et cela l'a corrigé.

1
Lou

Je ne sais pas s'ils l'ont vraiment sauté ou si mes yeux étaient tout simplement vitreux mais ...

Juste au cas où quelqu'un oublierait les mêmes choses que moi ...

comme quand vous développiez et testiez ...

1) Vous avez besoin d’un DISTRIBUTION << CERTIFICATE >> 2) Vous avez besoin d’un DISTRIBUTION << PROFIL PROVISIONING >>

C'est deux étapes sur le portail afin de faire signer la chose.

J'étais là, après avoir créé le développeur CERTIFICATE et l'avoir copié dans le dossier Mobile Provisions, en me demandant pourquoi cela ne fonctionnait pas.

Dès que j'ai eu le profil d'approvisionnement mis en place

* BINGO *

1
Dave Appleton

J'ai finalement réussi à faire fonctionner cela après, par exemple, 4 essais distincts après avoir rencontré le même problème que celui qui avait été posté à l'origine. Voici donc ce qui s’est passé. Je ne sais pas si c’est un vieux problème (2009-07-09), mais je publierai quand même au cas où cela vous serait utile. Ce qui a fonctionné pour moi… pourrait fonctionner pour vous….

  1. recommencer et supprimer les anciennes clés privées, clés publiques et certificats du trousseau
  2. suivez tout le processus, demandez un certificat à une autorité de certification, obtenez une nouvelle clé publique, une nouvelle clé privée et un nouveau certificat. Remarque: lorsque cela fonctionnait, j'avais exactement une clé privée, une clé publique et un certificat.
  3. Créez un nouveau profil de provisioning (qui utilise le certificat que vous venez de créer) et mettez-le dans la fenêtre de votre organiseur dans Xcode. Supprimer tous les anciens BS.
  4. Exécuter.

Espérons que cela aide.

1
noobHaxor

Comme je reviens sans cesse sur cette question, je vais laisser ma réponse ici pour la solution qui me convient. Il se trouve que pour un même identifiant de développeur de clé publique/privée, il est installé deux fois dans mon trousseau. Les deux ont une clé privée. Mais lorsque je compare, une de mes clés privées au sein de mon organisation de développeurs et une autre est une clé privée de moi en tant que développeur personnel. Il s'avère que Xcode continue d'essayer d'utiliser la mauvaise clé. Supprimer la mauvaise clé en double résout tout le problème. Salut moi, regarde la première fois la prochaine fois!

0
Chen Li Yong