1

Я создал пару ключей следующим образом:

security create-keypair -a dsa -s 4096 FooBar

Теперь я хочу получить доступ к этому ключу из командной строки, чтобы фактически использовать его (в формате .pem, если это возможно). Однако в security нет опции find-keypair , и я не смог заставить работать другие подкоманды find_... Есть ли способ сделать это?

Редактировать:

На данный момент я нашел (неудобный) обходной путь:

  1. Во-первых, вручную создайте "защищенную заметку" в доступе цепочки для ключей, содержимое которой является закрытым ключом.
  2. Используйте следующую мерзость: security find-generic-password -w -s "$SecureNoteName" | xxd -p -r | plutil -extract "NOTE" xml1 -o - - | xmllint --xpath '//string/text()' -

Кажется, сначала я должен бороться с цепочкой для ключей, чтобы получить ее содержимое, а затем я должен бороться со списком, чтобы получить значение ... Разбор plist может быть упрощен с помощью команды defaults , но я хотел избежать записи ключа во временный файл, и я не мог получить значения по умолчанию для чтения из stdin.

0