Impossible d'importer la clé publique dans le trousseau OSX

21

J'ai créé quelques certificats S / MIME auto-signés (en utilisant OSX Keychain & OpenSSL), puis les ai exportés dans 3 fichiers:

  • Certificat (.cer)
  • Clé privée (.p12)
  • Clé publique (.pem)

Lorsque vous essayez de les réimporter dans un autre Mac, le certificat et la clé privée sont importés sans aucun problème. Mais la clé publique ne peut pas être importée.

Au lieu de cela, j'obtiens le message d'erreur suivant:

Une erreur est survenue. Impossible d'importer un élément.

Le contenu de cette heure ne peut pas être récupéré

Capture d'écran de l'erreur du trousseau OSX lors de l'importation de la clé publique

Comment importer la clé publique? Doit-il être converti dans un autre format pour être importé?

Prembo
la source
pourquoi voulez-vous importer la clé publique? C'est la clé privée que vous devez importer. La clé publique est laissée sur le serveur, la clé privée est exportée vers le client, et c'est tout.
MariusMatutiae
Assez juste - il n'y a donc aucun moyen d'importer une clé publique manuellement via le trousseau (par exemple, si quelqu'un vous a fourni sa clé publique sous forme de fichier, plutôt que de vous envoyer un e-mail)?
Prembo
1
Vous pouvez utiliser scp pour copier tous les fichiers de l'un à l'autre, pendant la période pendant laquelle la connexion par mot de passe est autorisée. Ensuite, lorsque vous avez toutes les clés en place, vous pouvez désactiver la connexion par mot de passe.
MariusMatutiae

Réponses:

31

C'est un bug dans OSX. Vous pouvez importer à partir de la ligne de commande selon cette réponse:

/programming//a/11979625/59198

La commande est:

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

Vous devrez ensuite renommer la clé dans keychain.app

Chris
la source
Où importe-t-il? Je ne le trouve toujours pas dans le trousseau.
huggie
@huggie Il le charge avec un nom vraiment générique dans le trousseau, quelque chose comme «clé publique» peut-être, cherchez quelque chose de nouveau là-dedans.
Chris
1

Le certificat contient en fait une copie de la clé publique (avec un nom et une signature de l'autorité de certification indiquant que ce nom et cette clé publique vont de pair). Normalement, vous n'avez pas besoin de traiter la clé publique comme un élément distinct si vous utilisez un système basé sur des certificats comme SMIME. Si vous le souhaitez, vous pouvez extraire une copie de la clé publique du certificat à l'aide de la x509commande openssl .

(Je me demande si le trousseau refuse d'importer la clé publique parce qu'il pense qu'il a déjà une copie dans le certificat? Les messages d'erreur du trousseau sont généralement assez vagues.)

Wim Lewis
la source
1

Un fichier .p12 peut contenir votre paire de clés. Vous serez invité à entrer un mot de passe s'il contient votre clé privée. Le trousseau affichera la clé privée de manière imbriquée. S'il est importé correctement, il devrait apparaître sous «Mes certificats».

bbaassssiiee
la source