Экспорт безопасности Mac OS X не принимает парольную фразу

11

Я пытаюсь экспортировать некоторые элементы в моей цепочке для ключей, как это:

hostname:~ username$ security export -k login.keychain -t all -P "passphrase"

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

security: SecKeychainItemExport: Passphrase is required for import/export

Что дает?

уточнение : я вошел через SSH.

Бен Коллинз
источник

Ответы:

2

Когда я бегу

security export -t identities

Я получаю то же сообщение об ошибке:

security: SecKeychainItemExport: Passphrase is required for import/export.

Однако, если я укажу формат с открытым ключом -f (и помещу двоичный поток вывода в файл), он будет работать:

security export -P testing -f pkcs12 -t identities -o test.p12

дает файл, с которым я могу работать через openssl.

Мне кажется, что я securityпросто использую здесь неправильное сообщение об ошибке, поэтому кажется, что эта функция не работает. Вероятно, в нем должно быть сказано «Вы должны указать формат для экспорта закрытых ключей» или слова на этот счет.

Фактическое понимание приходит из этого твита .

NateEag
источник
5

Это просто сломано, ИМО. «экспорт безопасности» ведет себя очень плохо, если вы пытаетесь экспортировать закрытые ключи и входите в систему с помощью SSH. Те же команды работают, когда вы входите из GUI. Это специально?

В зависимости от того, что вам нужно, вы можете обойти это с помощью «security find-сертификаты» или «security export -t certs». Все это работает до тех пор, пока вы не экспортируете закрытый ключ.

Skrymsli
источник
3

Если в вашей парольной фразе есть какие-то нечетные символы, которые глотает ваша оболочка, попробуйте использовать одинарные кавычки вместо двойных, чтобы избежать интерполяции.

security export -k login.keychain -t all -P 'passphrase'
Уолт Стоунбернер
источник
Я думаю, что это не вопрос цитаты.
Чарльз Стюарт