Следующий: , Пред: , Вверх: Команды GPG   [Содержание][Указатель]


4.1.2 Команды выбора типа операции

--sign
-s

Подписать сообщение. Эту команду можно сочетать с --encrypt (чтобы подписать и зашифровать сообщение) или одновременно с --encrypt и --symmetric (чтобы подписать и зашифровать сообщение, которое можно расшифровать секретным ключом или по фразе-паролю). Для подписи берется основной ключ или ключ, явно указанный параметрами --local-user и --default-key.

--clear-sign
--clearsign

Сделать текстовую подпись. Текст с такой подписью можно читать без специальных программ. Программа, реализующая OpenPGP, нужна только для проверки подписи. В подписанных данных, которые выводятся вместе с подписью, могут изменяться символы перевода строки для независимости от платформы; эта нормализация может быть необратима. Для подписи берется основной ключ или ключ, явно указанный параметрами --local-user и --default-key.

--detach-sign
-b

Создать отделенную подпись. В отличие от простой подписи, подписанные данные в отделенной подписи не присутствуют.

--encrypt
-e

Зашифровать данные для одного или более открытых ключей. Эту команду можно сочетать с --sign (чтобы подписать и зашифровать сообщение), --symmetric (чтобы зашифровать сообщение, которое можно расшифровать секретным ключом или по фразе-паролю) или --sign и --symmetric одновременно (для подписанных сообщений, которые можно расшифровать с помощью секретного ключа по фразе-паролю). Параметр --recipient и связанные с ним указывают, какие открытые ключи использовать для зашифрования.

--symmetric
-c

Зашифровать симметричным шифром с помощью пароля. По умолчанию применяется алгоритм шифрования AES-128, но его можно выбрать параметром --cipher-algo. Эту команду можно сочетать с --sign (для подписанных сообщений, зашифрованных симметричным шифром), --encrypt (для сообщений, которые можно расшифровать секретным ключом или по фразе-паролю) или --sign и --encrypt одновременно (для подписанных сообщений, которые можно расшифровать секретным ключом или по фразе-паролю). gpg сохраняет фразу-пароль для симметричного шифрования в буфере, так что для расшифрования ввод пользователем фразы-пароля может не потребоваться. Параметром --no-symkey-cache можно воспользоваться для отключения этой особенности.

--store

Только сохранить (записать простой пакет с данными).

--decrypt
-d

Расшифровать файл, данный в командной строке (или стандартном потоке ввода, если файл не указан) и записать в стандартный поток вывода (или файл, если он указан параметром --output). Если расшифровываемый файл подписан, подпись проверяется. Эта команда отличается от действия по умолчанию тем, что игнорирует файлы, которые не начинаются с зашифрованного сообщения, и не пишет в файл с именем, указанным в сообщении.

--verify

Считать, что первый аргумент — подписанный файл, и проверить подпись, не создавая выходного файла. Без аргументов пакет с подписью читается из стандартного потока ввода. Если дан только один аргумент, в указанном файле ожидается полная (не отделенная) подпись.

Если аргументов больше одного, первый должен указывать файл с отделенной подписью, а остальные файлы должны содержать подписанные данные. Чтобы читать подписанные данные из стандартного потока ввода, в качестве имени второго файла введите ‘-’. По соображениям безопасности отделенная подпись не применяется к стандартному потоку ввода, если это явно не обозначено вышеуказанным образом.

Замечание: Если параметр --batch не используется, gpg может считать, что единственный аргумент представляет файл с отделенной подписью, и попытаться найти соответствующий файл данных, отбрасывая определенные суффиксы в имени. Пользоваться этой исторической особенностью категорически не рекомендуется; всегда указывайте файл данных явно.

Замечание: Когда проверяется текстовая подпись, gpg проверяет только ту часть, которая составляет подписанные данные, но не какие-либо дополнительные данные, не заключенные между строками-ограничителями. Параметр --output можно применять для вывода самих подписанных данных, но с этим форматом есть и другие загвоздки. Рекомендуется вместо текстовых подписей пользоваться отделенными.

Замечание: Иногда легче воспользоваться gpgv, чем полной командой gpg с этим параметром. gpgv сравнивает подписанные данные по списку доверенных ключей и возвращает признак успешного выполнения только для действительной подписи. У команды есть своя страница man.

--multifile

Указание для определенных команд принимать в командной строке несколько файлов для обработки или считывать имена файлов из стандартного потока ввода по одному на строку. Это позволяет обработать несколько файлов за раз. В настоящее время --multifile можно применять с --verify, --encrypt и --decrypt. Обратите внимание, что --multifile --verify нельзя применять с отделенными подписями.

--verify-files

То же, что --multifile --verify.

--encrypt-files

То же, что --multifile --encrypt.

--decrypt-files

То же, что --multifile --decrypt.

--list-keys
-k
--list-public-keys

Перечислить указанные ключи. Если ключи не указаны, перечисляются все ключи из настроенных таблиц открытых ключей.

Никогда не пользуйтесь текстом, выведенным этой командой, в программах. Он предназначен только для человека, и его формат часто меняется. Данные в стабильном формате для машинной обработки выдаются по --with-colons.

--list-secret-keys
-K

Перечислить указанные секретные ключи. Если ключи не указаны, выводятся все известные секретные ключи. Символ # после начальных меток sec и ssb значит, что секретный ключ или подключ в настоящее время непригоден для использования. Можно сказать также, что этот ключ недоступен (например, секретный ключ можно экспортировать с помощью команды --export-secret-subkeys). Символ > после этих меток указывает, что ключ хранится на карте. См. также --list-keys.

--check-signatures
--check-sigs

То же, что --list-keys, но дополнительно проверяются и перечисляются подписи на ключе. Обратите внимание, что по соображениям быстродействия не определяется, отозван подписавший ключ или нет. Команда эквивалентна вызову --list-keys с --with-sig-check.

Результат проверки указывается символом, непосредственно следующим за меткой «sig» (следовательно, перед описанными ниже признаками). «!» указывает, что подпись прошла проверку успешно, «-» означает плохую подпись, а «%» выводится при ошибке во время проверки подписи (например, если не поддерживается алгоритм). Подписи, сделанные отсутствующими открытыми ключами, не перечисляются; чтобы просмотреть идентификаторы этих ключей, можно воспользоваться командой --list-sigs.

Для каждой перечисленной подписи между флагом состояния подписи и идентификатором ключа выводится несколько символов. Эти символы дают дополнительные сведения о каждой подписи на ключе (слева направо): цифры 1-3 представляют уровень проверки сертификата (см. --ask-cert-level), «L» — локальная (неэкспортируемая) подпись (см. --lsign-key), «R» — неотзываемая подпись (см. команду «nrsign» --edit-key), «P» — подпись содержит URL правил (см. --cert-policy-url), «N» — подпись содержит замечание (см. --cert-notation), «X» — срок действия подписи истек (см. --ask-cert-expire), цифры 1-9 или «T» (что значит 10 и выше) указывают уровень доверия подписи (см. команду «tsign» --edit-key).

--locate-keys

Найти заданные в качестве аргументов ключи. Эта команда находит ключи в основном по алгоритму, который применяется для поиска ключей при шифровке и подписи; таким образом, команду можно использовать для определения того, какие ключи будет использовать gpg. В частности, внешние методы, определяемые --auto-key-locate, могут использоваться для поиска ключа. Выводятся только открытые ключи.

--fingerprint

Перечислить все (или указанные) ключи с их отпечатками. То же, что --list-keys, но дополнительно выводится строка с отпечатком. Можно также сочетать с --check-signatures. Если команда задана дважды, выводятся также отпечатки всех вторичных ключей. Эта команда также приводит к принудительному выводу отпечатков, если в качестве формата идентификаторов ключей указано «none».

--list-packets

Перечислять только последовательности пакетов. Команда полезна только для отладки. Когда задан параметр --verbose, выводятся сами значения длинных чисел, а не только их длины. Обратите внимание, что вывод этой команды в новых выпусках может измениться.

--edit-card
--card-edit

Представить меню для работы с электронной картой. Подкоманда "help" выводит обзор имеющихся команд. Подробное описание см. в «Памятке GnuPG по картам» на https://gnupg.org/documentation/howtos.html#GnuPG-cardHOWTO .

--card-status

Показать содержимое электронной карты.

--change-pin

Представить меню для изменения PIN электронной карты. Эта функция имеется также в виде подкоманды «passwd» в команде --edit-card.

--delete-keys имя

Удалить ключ из таблицы открытых ключей. В пакетном режиме требуется либо --yes, либо указание ключа отпечатком; это предохраняет от удаления сразу нескольких ключей по случайности.

--delete-secret-keys имя

Удалить ключ из таблицы секретных ключей В пакетном режиме ключ должен задаваться отпечатком. Параметр --yes можно использовать, чтобы указать программе gpg-agent не запрашивать подтверждения. Эта дополнительная предосторожность предпринимается, потому что gpg не может быть уверен, что секретный ключ (контролируемый программой gpg-agent) используется только для данного открытого ключа OpenPGP.

--delete-secret-and-public-key имя

То же, что --delete-key, но если есть секретный ключ, сначала будет удалятся он. В пакетном режиме ключ должен задаваться отпечатком. Параметром --yes можно указать программе gpg-agent не запрашивать подтверждения.

--export

Экспортировать все ключи из всех таблиц (основных и зарегистрированных параметром --keyring) или (если дано хотя бы одно имя) ключи с заданным именем. Экспортируемые ключи выводятся в стандартный поток вывода или файл, заданный параметром --output. Для отправки по почте применять с параметром --armor.

--send-keys идентификаторы ключей

Подобно команде --export, но отсылает ключи на сервер ключей. Вместо идентификаторов ключей можно применять отпечатки. Для задания имени сервера должен применяться параметр --keyserver. Не отсылайте свою таблицу ключей на сервер полностью — выбирайте только новые или измененные вами ключи. Если идентификаторов ключей не дано, gpg ничего не делает.

--export-secret-keys
--export-secret-subkeys

То же, что --export, но экспортирует секретные ключи. Экспортируемые ключи выводятся в стандартный поток вывода или в файл, указанный параметром --output. Эту команду часто применяют с параметром --armor, чтобы это можно было распечатать на бумаге; однако для сохранения резервных копий на бумаге лучше подходит внешняя программа paperkey. Обратите внимание, что экспорт секретного ключа может представлять опасность, если экспортированные ключи пересылаются по незащищенному каналу.

Вторая форма команды отличается тем, что делает секретную часть первичного ключа непригодной к использованию; это расширение OpenPGP, специфичное для GNU, и нельзя ожидать, что другие реализации смогут успешно импортировать такой ключ. Расширение предназначено для того, чтобы создавать полный ключ с дополнительным подключом для подписи на выделенной для этого машине. Затем этой командой ключ экспортируется без первичного ключа на главную машину.

GnuPG может запросить у вас фразу-пароль ключа. Это требуется, потому что внутренний метод защиты секретного ключа отличается от метода, предписанного в протоколе OpenPGP.

--export-ssh-key

Эта команда применяется для экспорта ключа в формате открытого ключа OpenSSH. Это требует указания одного ключа обычным способом; последний действительный подключ, который можно использовать для проверки подлинности, экспортируется в стандартный поток вывода или файл, заданный параметром --output. Результат можно напрямую добавлять в файл authorized_key ssh.

Указывая ключ с помощью идентификатора ключа или отпечатка, к которому приписан восклицательный знак (!), можно экспортировать конкретный подключ или первичный ключ. При этом не требуется даже, чтобы у ключа был установлен признак возможности проверки подлинности.

--import
--fast-import

Импортировать или объединить ключи. Добавляет данные ключи в таблицу ключей. Вариант «fast» в настоящий момент просто синоним.

Несколько других параметров управляют работой этой команды, прежде всего это параметр --import-options merge-only, который не вставляет новые ключи, а только дополняет их новыми подписями, идентификаторами пользователя и подключами.

--receive-keys идентификаторы ключей
--recv-keys идентификаторы ключей

Импортировать ключи с данными идентификаторами с сервера ключей. Для указания имени этого сервера нужно пользоваться параметром --keyserver.

--refresh-keys

Запросить на сервере ключей обновление тех ключей, которые уже записаны в локальную таблицу ключей. Это полезно для обновления ключа новыми подписями, идентификаторами пользователя и т.д. Для указания имени этого сервера нужно пользоваться параметром --keyserver для всех ключей, у которых не установлены предпочтительные серверы (см. --keyserver-options honor-keyserver-url).

--search-keys имена

Искать на сервере ключей заданные имена. Заданные имена объединяются в строку для поиска на сервере. Для указания имени этого сервера нужно пользоваться параметром --keyserver. Серверы, которые поддерживают различные методы поиска, допускают использование выражений, описанных ниже в разделе «Как указать идентификатор пользователя». Обратите внимание, что разные типы серверов ключей поддерживают разные методы поиска. В настоящее время только поиск по LDAP поддерживает все методы.

--fetch-keys URI

Извлечь ключи, расположенные по указанным URI. Обратите внимание, что разные варианты установки GnuPG могут поддерживать разные наборы протоколов (HTTP, FTP, LDAP и т.д.). При связи по HTTPS эта команда пользуется корневыми сертификатами, предоставляемыми системой.

--update-trustdb

Провести регламентные работы в базе данных доверия. Команда проходит по всем ключам и строит сеть доверия. Это диалоговая команда, она может запрашивать значения «доверия владельцу» для разных ключей. Пользователь должен дать оценку того, насколько он верит, что владелец показанного ключа всегда правильно сертифицирует (подписывает) другие ключи. GnuPG запрашивает эти значения, только когда они ключу еще не присвоены. Присвоенное значение можно изменить в любой момент из меню команды --edit-key.

--check-trustdb

Провести работы по поддержке базы данных доверия без участия пользователя. Время от времени база данных доверия должна обновляться, чтобы отследить просроченные ключи или подписи, влияющие на сеть доверия. Обычно GnuPG делает это автоматически по мере необходимости, если не задан параметр --no-auto-check-trustdb. Этой командой можно в любое время проводить принудительную проверку базы данных доверия. Обработка проводится та же, что по команде --update-trustdb, но ключи, у которых «доверие владельцу» не установлено, пропускаются.

Для применения с заданиями cron эту команду можно вызывать с параметром --batch; в этом случае проверка проводится только тогда, когда она нужна. Для принудительной проверки в пакетном режиме добавьте параметр --yes.

--export-ownertrust

Отправить величины доверия владельцам в стандартный поток вывода. Это полезно для задач резервного копирования, поскольку в случае порчи базы данных доверия нельзя восстановить только эти значения.

  gpg --export-ownertrust > otrust.txt
--import-ownertrust

Обновить базу данных доверия значениями, записанными в заданных файлах (или стандартном потоке ввода, если файлы не заданы); существующие значения будут заменяться на новые. В случае сильно поврежденной базы данных, если у вас есть свежая резервная копия величин доверия владельцам (напр., в файле otrust.txt), восстановить базу данных можно командами:

  cd ~/.gnupg
  rm trustdb.gpg
  gpg --import-ownertrust < otrust.txt
--rebuild-keydb-caches

При обновлении с версии 1.0.6 до версии 1.0.7 эту команду нужно применять для создания буферов подписей в таблице ключей. Она может оказаться удобной и в других ситуациях.

--print-md алг
--print-mds

Распечатать хеш сообщения, найденный по алгоритму алг, для всех заданных файлов или стандартного потока ввода. Во втором варианте команды (или в нерекомендованном случае «*» в качестве алгоритма) распечатываются хеши, найденные по всем доступным алгоритмам.

--gen-random 0|1|2 число

Выдать указанное число случайных байт на заданном уровне качества (0, 1 или 2). Если число не задано или равно нулю, выдается бесконечная последовательность случайных байт. Если задан параметр --armor, данные на выходе будут в кодировке base64. НЕ ПОЛЬЗУЙТЕСЬ этой командой, если вы не знаете, что делаете; она может вывести драгоценную энтропию из системы!

--gen-prime режим биты

См. исходники. Формат данных на выходе еще не устоялся.

--enarmor
--dearmor

Запаковать произвольные данные на входе в формат ASCII OpenPGP или распаковать их. Это расширение OpenPGP, специфическое для GnuPG, в целом это не очень полезно.

--tofu-policy {auto|good|unknown|bad|ask} ключи

Установить правило TOFU для всех привязок указанных ключей (см. trust-model-tofu). Ключи можно задавать отпечатками (предпочтительно) или идентификаторами.


Следующий: , Пред: , Вверх: Команды GPG   [Содержание][Указатель]