Не могу импортировать открытый ключ в OSX Keychain


21

Я создал пару самозаверяющих S / MIME-сертификатов (используя OSX Keychain & OpenSSL) и затем экспортировал их в 3 файла:

  • Сертификат (.cer)
  • Закрытый ключ (.p12)
  • Открытый ключ (.pem)

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

Вместо этого я получаю следующее сообщение об ошибке:

Произошла ошибка. Невозможно импортировать элемент.

Содержание этого времени не может быть получено

Снимок экрана: ошибка OSX Keychain при импорте открытого ключа

Как я могу импортировать открытый ключ? Должен ли он быть преобразован в другой формат для импорта?


почему вы хотите импортировать открытый ключ? Это закрытый ключ, который вам нужно импортировать. Открытый ключ остается на сервере, закрытый ключ экспортируется клиенту, и все.
MariusMatutiae

Достаточно справедливо - поэтому нет способа импортировать открытый ключ вручную через связку ключей (например, если кто-то предоставил вам свой открытый ключ в виде файла, а не отправил вам электронное письмо)?
Прембо

1
Вы можете использовать scp для копирования всех файлов из одного в другой в течение периода, в течение которого разрешено подключение по паролю. Затем, когда у вас есть все ключи, вы можете отключить пароль для входа.
MariusMatutiae

Ответы:


31

Это ошибка в OSX. Вы можете импортировать из командной строки согласно этому ответу:

/programming//a/11979625/59198

Команда:

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

Затем вам нужно будет переименовать ключ в keychain.app


Куда это импортирует? Я до сих пор не могу найти его в связке ключей.
Хагги

@huggie Он загружает его с действительно общим именем в цепочке для ключей, что-то вроде «открытого ключа», возможно, поищите там что-то новое.
Крис

1

Сертификат фактически содержит копию открытого ключа (вместе с именем и подписью от центра сертификации, в которой говорится, что имя и этот открытый ключ идут вместе). Обычно вам не нужно иметь дело с открытым ключом как отдельным элементом, если вы используете систему на основе сертификатов, такую ​​как SMIME. Если вы хотите, вы можете извлечь копию открытого ключа из сертификата с помощью команды openssl x509.

(Интересно, отказывается ли Keychain импортировать открытый ключ, потому что считает, что у него уже есть копия в сертификате? Сообщения об ошибках Keychain обычно довольно расплывчаты.)


1

Файл .p12 может содержать вашу пару ключей. Вам будет предложено ввести пароль, если он содержит ваш закрытый ключ. Брелок покажет закрытый ключ во вложенном виде. Если импортировано правильно, оно должно отображаться в разделе «Мои сертификаты».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.