Неможливо імпортувати відкритий ключ у брелок OSX


20

Я створив пару самопідписаних сертифікатів S / MIME (за допомогою OSX Keychain & OpenSSL), а потім експортував їх у 3 файли:

  • Сертифікат (.cer)
  • Приватний ключ (.p12)
  • Відкритий ключ (.pem)

При спробі імпортувати їх назад на інший Mac, сертифікат та приватний ключ імпортуються без жодних проблем. Але відкритий ключ не можна імпортувати.

Натомість я отримую таке повідомлення про помилку:

Сталася помилка. Неможливо імпортувати елемент.

Вміст цього часу неможливо отримати

Скріншот помилки брелка OSX під час імпорту відкритого ключа

Як я можу імпортувати відкритий ключ? Чи слід його перетворити на інший формат для імпорту?


чому ви хочете імпортувати відкритий ключ? Це приватний ключ, який потрібно імпортувати. Відкритий ключ залишається на сервері, приватний ключ експортується до клієнта, і все.
MariusMatutiae

Досить справедливо - тож немає можливості імпортувати відкритий ключ вручну через Keychain (наприклад, якщо хтось надав вам свій відкритий ключ у вигляді файлу, а не надсилав вам електронний лист)?
Прембо

1
Ви можете використовувати scp для копіювання всіх файлів від одного до іншого, протягом періоду, коли дозволено з'єднання паролем. Тоді, коли у вас всі ключі на місці, ви можете відключити вхід із паролем.
MariusMatutiae

Відповіді:


30

Помилка в OSX. Ви можете імпортувати з командного рядка відповідно до цієї відповіді:

https://stackoverflow.com/a/11979625/59198

Команда така:

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

Потім вам потрібно буде перейменувати ключ у keychain.app


Куди імпортується? Я досі не можу знайти його в брелоку.
huggie

@huggie Це завантажує його з дійсно загальним ім'ям в брелок, можливо, на зразок "відкритого ключа", шукайте там щось нове.
Кріс

1

Сертифікат фактично містить копію відкритого ключа (разом з ім'ям та підписом органу сертифікації, який говорить про те, що це ім'я та цей відкритий ключ ідуть разом). Зазвичай вам не потрібно обробляти відкритий ключ як окремий елемент, якщо ви використовуєте систему на основі сертифікатів, наприклад SMIME. Якщо ви цього хотіли, ви можете отримати копію відкритого ключа з сертифіката за допомогою команди openssl x509.

(Цікаво, чи Keychain відмовляється імпортувати відкритий ключ, оскільки вважає, що в його сертифікаті вже є копія? Повідомлення про помилки Keychain зазвичай досить розпливчасті.)


1

Файл .p12 може містити вашу пару ключів. Вам буде запропоновано ввести пароль, якщо він містить ваш приватний ключ. Брелок покаже приватний ключ вкладеним способом. Якщо імпортовано правильно, він повинен відображатися у розділі "Мої сертифікати".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.