Я создал пару ключей следующим образом:
security create-keypair -a dsa -s 4096 FooBar
Теперь я хочу получить доступ к этому ключу из командной строки, чтобы фактически использовать его (в формате .pem, если это возможно). Однако в security
нет опции find-keypair
, и я не смог заставить работать другие подкоманды find_...
Есть ли способ сделать это?
Редактировать:
На данный момент я нашел (неудобный) обходной путь:
- Во-первых, вручную создайте "защищенную заметку" в доступе цепочки для ключей, содержимое которой является закрытым ключом.
- Используйте следующую мерзость:
security find-generic-password -w -s "$SecureNoteName" | xxd -p -r | plutil -extract "NOTE" xml1 -o - - | xmllint --xpath '//string/text()' -
Кажется, сначала я должен бороться с цепочкой для ключей, чтобы получить ее содержимое, а затем я должен бороться со списком, чтобы получить значение ... Разбор plist может быть упрощен с помощью команды defaults
, но я хотел избежать записи ключа во временный файл, и я не мог получить значения по умолчанию для чтения из stdin.