Пред: Быстрая манипуляция ключами, Вверх: Автоматическая работа GPG [Содержание][Указатель]
Для автоматического создания ключей команду --genenerate-key можно использовать с параметром --batch. Это самый гибкий способ создания ключей, но и самый сложный. Подумайте, не подойдет ли вам быстрый способ манипуляции ключами, описанный в предыдущем подразделе, «Быстрая манипуляция ключами».
Параметры ключа либо считываются из стандартного потока ввода, либо даются в файле, указанном в командной строке. Файл параметров имеет следующий формат:
Управляющие конструкции:
Вывести текст в качестве диагностики.
Подавить действительное создание ключа (полезно для проверки синтаксиса).
Выполнить создание ключа. Обратите внимание, что неявно эта конструкция вводится перед следующим параметром Key-Type.
Записывать ключ не в исходную таблицу ключей и не в таблицу, данную в командной строке, а в указанный файл. Файл должен определяться до первой конструкции ‘%commit’, при повторном задании учитывается последняя конструкция, появившаяся перед ‘%commit’. Этот файл используется затем до тех пор, пока не появится новое имя файла (при выполнении конструкций ‘%commit’), и все ключи записываются в этот файл. Если задано новое имя файла, этот файл создается (или записывается поверх существующего).
Более защищенный от побочных эффектов способ описан в предыдущем подразделе, «Разовые домашние каталоги».
Этот параметр не влияет на работу GnuPG 2.1 и более поздних версий.
См. предыдущий подраздел, «Разовые домашние каталоги».
Этот параметр не влияет на работу GnuPG 2.1 и более поздних версий.
Параметр позволяет создавать ключи без защиты фразой-паролем. Предназначен в основном для испытаний.
Ключи создаются с помощью более быстрого и несколько менее безопасного генератора случайных чисел. Этот параметр используется для ключей, которые используются короткое время и не требуют полной криптографической защиты. Параметр действует только вместе с управляющей конструкцией ‘%no-protection’.
Общие параметры:
Открывает новый блок параметров, задавая тип первичного ключа. Алгоритм должен подходить для подписей. Это обязательный параметр. Аргументом может быть либо номер алгоритма OpenPGP, либо строка с названием алгоритма. Особое значение ‘default’ можно использовать для создания ключа с типом по умолчанию; в этом случае параметр ‘Key-Usage’ не должен быть задан, а значение ‘default’ должно использоваться и для ‘Subkey-Type’.
Заданная длина создаваемого ключа в битах. Исходное значение можно узнать, выполнив команду ‘gpg2 --gpgconf-list’.
Необязательный параметр; используется для создания запроса на подпись сертификата или сертификата для уже существующего ключа. Параметр Key-Length при этом игнорируется.
Список функций ключа с пробелом или запятой в качестве разделителя. Допустимы значения ‘encrypt’ (шифрование), ‘sign’ (подпись) и ‘auth’ (проверка подлинности). Используется для задания признаков ключа. Проверьте, пожалуйста, что алгоритм может выполнять эти функции. Обратите внимание, что OpenPGP требует, чтобы все первичные ключи могли проводить сертификацию, так что признак ‘cert’ будет установлен в любом случае. Если ‘Key-Usage’ не задан, а ‘Key-Type’ не равен ‘default’, устанавливаются все допустимые для конкретного алгоритма функции; если в качестве списка задан ‘default’, будет создан ключ для подписей (‘sign’).
Создает вторичный ключ (подключ). В настоящее время можно создавать только один подключ. См. выше ‘Key-Type’.
Заданная длина создаваемого вторичного ключа (подключа) в битах. Исходное значение можно узнать, выполнив команду ‘gpg2 --gpgconf-list’.
Список функций подключа; аналогичен ‘Key-Usage’.
Если хотите указать фразу-пароль для секретного ключа, введите ее здесь. По умолчанию для запроса фразы-пароля вызывается диалог программы ввода пароля.
Три части идентификатора пользователя. Не забудьте, что это UTF-8. Если вы не зададите хотя бы один из параметров, идентификатор пользователя не будет создан.
Задать срок действия ключа (и подключа). Это может быть либо дата в формате ИСО (e.g. "20000815T145012"), либо число дней, недель, месяцев или лет после даты создания. Допускается также особая запись «seconds=N» для указания числа секунд с момента создания. Число без буквы считается числом дней. Обратите внимание, что проверка переполнения типа, используемого в OpenPGP для меток времени, не проводится. Таким образом, лучше убедиться, что заданное значение имеет смысл. Хотя OpenPGP работает с интервалами времени, внутри GnuPG применяется абсолютное значение; таким образом, мы можем представлять годы до 2105.
Задать дату создания ключа, которая будет записана в ключе и которая входит в вычисление отпечатка. Это либо дата в виде «1986-04-26», либо полная метка времени в виде «19860426T042640». Время считается Всемирным координированным (UTC). Можно использовать также особую запись «seconds=N» для указания числа секунд от начала эпохи (время Unix). Если параметр не задан, используется текущее время.
Установить предпочтения для симметричных шифров, хеша и сжатия. Вид аргумента совпадает с аргументом подкоманды ‘setpref’ из меню --edit-key.
Добавить отзывающего для создаваемого ключа. В качестве алгоритма задается алгоритм шифрования с открытым ключом для отзывающего (т.е. RSA=1, DSA=17 и т.д.) Строка отп представляет отпечаток отзывающего ключа. Необязательный признак ‘sensitive’ помечает отзывающего как особо важную информацию. Отзывающими могут быть только ключи версии 4.
Необязательный параметр, указывающий URL предпочтительного сервера ключей для данного ключа.
Необязательный параметр, применяемый только со строками состояния KEY_CREATED и KEY_NOT_CREATED. В аргументе может быть до 100 символов и не должно быть пробелов. Это полезно для пакетной генерации ключей, чтобы связать блок параметра ключей со строкой состояния.
Вот пример создания ключа в разовом домашнем каталоге:
$ export GNUPGHOME="$(mktemp -d)" $ cat >foo <<EOF %echo Создание простого ключа OpenPGP Key-Type: DSA Key-Length: 1024 Subkey-Type: ELG-E Subkey-Length: 1024 Name-Real: Яша Испытатель Name-Comment: с дурацкой фразой-паролем Name-Email: yi@test.mil Expire-Date: 0 Passphrase: abc # Тут сохраним, чтоб можно было сказать "готово" :-) %commit %echo готово EOF $ gpg2 --batch --generate-key foo [...] $ gpg2 --list-secret-keys /tmp/tmp.0NQxB74PEf/pubring.kbx ------------------------------- sec dsa1024 2016-12-16 [SCA] 768E895903FC1C44045C8CB95EEBDB71E9E849D0 uid [абсолютно] Яша Испытатель (с дурацкой фразой-паролем) <yi@test.mil> ssb elg1024 2016-12-16 [E]
Если вы хотите создать ключ с исходными алгоритмами, можно задать следующие параметры:
%echo Создание ключа по умолчанию Key-Type: default Subkey-Type: default Name-Real: Яша Испытатель Name-Comment: с дурацкой фразой-паролем Name-Email: yi@test.mil Expire-Date: 0 Passphrase: abc # Тут сохраним, чтоб можно было сказать "готово" :-) %commit %echo готово
Пред: Быстрая манипуляция ключами, Вверх: Автоматическая работа GPG [Содержание][Указатель]