Подтвердить что ты не робот

Я потерял свой открытый ключ. Могу ли я восстановить его из закрытого ключа?

Я создал пару ключей + подписанный сертификат для разработки iOS/OSX. Где-то по пути я потерял открытый ключ, который идет с моим личным ключом. Может быть, потому, что Keychain Access не группирует личные и открытые ключи вместе, как это делают с сертификатами и закрытыми ключами (это так раздражает! Почему это делает (не)!)

В Keychain Access я все еще могу щелкнуть правой кнопкой мыши закрытый ключ → "Запрос сертификата"; но без открытого ключа я получаю сообщение об ошибке "Указанный элемент не найден в цепочке ключей". Я довольно уверен, что открытые ключи можно восстановить, но как? Очевидно, что Keychain Access недостаточно умен, чтобы сделать это автоматически.

В конце концов я понял это и поищу свой ответ правильно через несколько дней, если кто-то не добавит что-то новое в ответ.

4b9b3361

Ответ 1

Я смутно помню, как это можно было сделать с помощью opensl на .pem файлах, чтобы направление, в котором я возглавлял.

  • В Keychain Access экспортируйте закрытый ключ, например, private.p12. Применить пароль или нет.
  • Преобразуйте его в .pem: openssl pkcs12 -in private.p12 -out private.pem. Введите пароль с предыдущего шага. Вы вынуждены применять пароль к .pem.
  • Извлеките общедоступную часть: openssl rsa -in private.pem -pubout > public.pem. Введите пароль с предыдущего шага.
  • Импорт в доступ к цепочке ключей: security import public.pem -k login.keychain. Если вы не укажете цепочку ключей, импорт будет завершен, но я не смог найти, где был помещен элемент.
  • В Keychain Access зайдите в логин-логин для "Импортированный открытый ключ". Переименуйте его и перейдите в нужное место.
  • Очистите себя, особенно те .p12 и .pem личные ключи без или плохих паролей.