Impossible d'importer des clés de signature de Code publiques ou privées en utilisant L'accès au porte-clés (Mac OS X Mavericks)
dans une tentative de construire un projet iOS (en XCode), je dois importer les clés publiques et privées de mon collègue pour l'identité de signature du code, mais je suis incapable de le faire parce que je reçois une erreur dans L'accès au porte-clés qui dit "une erreur s'est produite. Impossible d'importer un élément. / Le contenu de cet article ne peut pas être récupéré"
TOUS LES DÉTAILS:
j'ai deux clés de l'ordinateur de mon collègue, exportées de son porte-clés en deux fichiers:
Roomer Inc.p12 (la clé privée)
Roomer Inc.pem (la clé publique)
quand il les a exportées, il a laissé le mot de passe vide (bien que nous ayons aussi essayé avec un mot de passe de "test" et obtenu les mêmes résultats).
quand je double-clique Roomer Inc.p12 (pour la clé privée), il s'ouvre dans L'accès au porte-clés et m'engage à choisir le porte-clés ("login" est sélectionné par défaut)
je clique sur "Ajouter" et on me demande le mot de passe du porte-clés (que je laisse vide)
Ensuite, je vois toujours ce message dans Trousseau d'accès:
cependant, malgré l'apparition de ce message, lorsque je clique sur OK, je vois une nouvelle entrée de clé privée pour "Roomer Inc". Notez que cette entrée est une clé privée dans la chaîne de clés" login " comme je m'y attendais, mais n'a pas de date d'expiration (devrait-elle?)
suivant, pour The Roomer Inc.fichier pem (la clé publique) on me demande de choisir le porte-clés ("login") et je clique Ajouter
ensuite, j'obtiens aussi le "une erreur s'est produite. Impossible d'importer un élément. / Le contenu de cet article ne peut pas être récupéré" message pour la clé publique. Dans ce cas cependant (contrairement à la clé privée), Je ne vois aucune entrée correspondant à ce que je viens d'ajouter.
ainsi, il semble que l'entrée de clé privée peut être OK ou pas (je n'ai aucun moyen de vérifier), et l'entrée de clé publique pour Roomer ne peut pas être installée dans le porte-clés sans ce message d'erreur. Merci notez que j'ai aussi essayé d'utiliser la sécurité de la commande d'importation pour importer la clé publique :
$ de la sécurité de l'importation de Location Inc.pem -f pkcs12 ~/Bibliothèque/Keychains/login.trousseau
1 clé importée.
quand je fais cela, bien que la commande renvoie "1 clé importée", Je ne vois pas de clé publique pour "Roomer Inc" dans ma fenêtre D'accès au porte-clés (j'ai fermé L'accès au porte-clés et je l'ai rouvert).
de toute façon, nous avons identifié que c'est notre bloqueur. (Le le symptôme est bien sûr que le projet XCode ne sera pas construit pour le profil D'approvisionnement AdHoc à utiliser avec TestFlight). J'ai laissé de côté les étapes supplémentaires concernant la construction de XCode et la configuration de TestFlight, parce que nous croyons que le problème de base a à voir avec l'importation des clés comme expliqué ci-dessus.
1 réponses
nous avons résolu notre problème, et je poste ma réponse ici afin que d'autres puissent la trouver utile.
Le problème est vraiment un UX problème avec le Trousseau d'Accès. Permettez-moi de revenir en arrière et de donner un petit contexte: lorsque vous créez un certificat de distribution avec Apple, vous le créez à partir d'une clé privée et de permissions basées sur L'application.
dans Keychain Access, le certificat de distribution est listé comme un enfant sous le nom de la clé privée à partir de laquelle il a été créé. Voici l' prise: lorsque vous utilisez la boîte de recherche dans L'accès au porte-clés (dans mon cas, nous tapions "Roomer" parce que c'est le nom sur notre certificat de distribution), il ne cherchera pas un certificat avec ce nom, il cherchera un certificat attaché à une clé privée pour ce nom.
donc mon collègue avait créé un certificat de distribution basé sur une clé privée qui s'appelait "Jorge Davila" (son nom), même si le certificat de distribution s'appelait " distribution iPhone: Roomer Inc."
Lorsqu'il a cherché "Roomer" dans L'accès au porte-clés, le bon n'a pas été affiché dans les résultats de recherche parce que la clé à partir de laquelle ce certificat a été créé s'appelait "Jorge Davila" et non "Roomer". Ainsi, il exportait le mauvais certificat et ne s'en rendait pas compte parce qu'il y en avait d'autres (certains expirés) avec ce nom.
voici à quoi ressemble le bon:
il s'agit d'un problème relativement nuancé avec le UX d'accès au porte-clés et le fait que l'outil de recherche ne vous donne pas les résultats que vous attendez. Je poste cette réponse dans l'espoir que d'autres la trouveront utile.