16

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

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

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

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

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

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

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

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

3 ответа3

24

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

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

Команда:

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

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

1

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .