Руководства по командной строке

Man » Онлайн-руководство gpg - подробная онлайн-документация для страницы руководства gpg

🌍
gpg - инструмент шифрования и подписи OpenPGP

СИНТАКСИС

gpg [--homedir dir] [--options file] [options] command [args]

ОПИСАНИЕ

gpg - это часть OpenPGP в GNU Privacy Guard (GnuPG). Это инструмент для предоставления услуг цифрового шифрования и подписи с использованием стандарта OpenPGP. gpg включает в себя полное управление ключами и все необходимые функции, которые можно ожидать от полной реализации OpenPGP.

Существуют две основные версии GnuPG: GnuPG 1.x и GnuPG 2.x. GnuPG 2.x поддерживает современные алгоритмы шифрования и, следовательно, предпочтительнее, чем GnuPG 1.x. Вам нужно использовать GnuPG 1.x только в том случае, если ваша платформа не поддерживает GnuPG 2.x или вам нужна поддержка некоторых функций, которые были устаревшими в GnuPG 2.x, например, для расшифровки данных, созданных с использованием ключей PGP-2.

Если вы ищете версию 1 GnuPG, вы можете обнаружить, что она установлена под именем gpg1.

ЗНАЧЕНИЕ ВОЗВРАТА

Программа возвращает 0, если нет серьезных ошибок, 1, если хотя бы одна подпись была недействительна, и другие коды ошибок для фатальных ошибок.

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

ПРЕДУПРЕЖДЕНИЯ

Используйте надежный пароль для своей учетной записи пользователя и убедитесь, что все проблемы с безопасностью всегда исправлены на вашем компьютере. Также обеспечьте надежную физическую защиту вашего компьютера. Рассмотрите возможность использования хорошей парольной фразы в качестве крайней меры защиты для вашего секретного ключа в случае кражи вашего компьютера. Важно, чтобы ваш секретный ключ никогда не был раскрыт. Использование легко переносимого токена или смарт-карты с секретным ключом часто является разумным решением.

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

Для скриптового или другого автономного использования gpg убедитесь, что вы используете интерфейс, предназначенный для машинной обработки, а не интерфейс по умолчанию, который предназначен для прямого использования людьми. Интерфейс, предназначенный для машинной обработки, предоставляет стабильный и хорошо документированный API, независимый от локали или будущих изменений gpg. Чтобы включить этот интерфейс, используйте параметры --with-colons и --status-fd. Для определенных операций может быть полезен параметр --command-fd. См. эту страницу руководства и файл 'DETAILS' для спецификации интерфейса. Обратите внимание, что в страницах «info» GnuPG, а также в PDF-версии руководства GnuPG есть глава об автономном использовании GnuPG. В качестве альтернативы можно использовать библиотеку GPGME в качестве высокоуровневой абстракции над этим интерфейсом.


ВЗАИМОДЕЙСТВИЕ

GnuPG стремится быть гибкой реализацией стандарта OpenPGP. В частности, GnuPG реализует многие необязательные части стандарта, такие как хеш-функция SHA-512, а также алгоритмы сжатия ZLIB и BZIP2. Важно помнить, что не все программы OpenPGP реализуют эти необязательные алгоритмы, и, принудительно используя их с помощью опций --cipher-algo, --digest-algo, --cert-digest-algo или --compress-algo в GnuPG, можно создать совершенно допустимое сообщение OpenPGP, но такое, которое не сможет прочитать предполагаемый получатель.

Существуют десятки различных вариантов программ OpenPGP, и каждая из них поддерживает несколько отличный набор этих необязательных алгоритмов. Например, до недавнего времени ни одна (не взломанная) версия PGP не поддерживала алгоритм шифрования BLOWFISH. Сообщение, использующее BLOWFISH, просто не могло быть прочитано пользователем PGP. По умолчанию GnuPG использует стандартную систему предпочтений OpenPGP, которая всегда будет делать правильный выбор и создавать сообщения, которые будут доступны всем получателям, независимо от того, какую программу OpenPGP они используют. Отклоняйтесь от этого безопасного значения по умолчанию только в том случае, если вы действительно знаете, что делаете.

Если вам абсолютно необходимо отклониться от безопасного значения по умолчанию или если предпочтения для данного ключа недействительны по какой-либо причине, гораздо лучше использовать опции --pgp6, --pgp7 или --pgp8. Эти опции безопасны, поскольку они не принудительно устанавливают какие-либо конкретные алгоритмы с нарушением стандарта OpenPGP, а скорее уменьшают количество доступных алгоритмов до "безопасного для PGP" списка.

КОМАНДЫ

Команды отличаются от опций тем, что разрешена только одна команда. В общем, нерелевантные опции игнорируются и могут не проверяться на корректность.

gpg можно запускать без команд. В этом случае он выводит предупреждение и выполняет разумное действие

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

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

Команды, не относящиеся к конкретной функции

--version

Выводит версию программы и информацию о лицензии. Обратите внимание, что вы не можете сокращать эту команду.

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

--warranty

Выводит информацию о гарантии.

--dump-options

Выводит список всех доступных опций и команд. Обратите внимание, что вы не можете сокращать эту команду.

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

--sign
-s     Подписывает сообщение. Эта команда может быть объединена с --encrypt (для подписи и шифрования сообщения), --symmetric (для подписи и симметричного шифрования сообщения) или с обеими командами --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

Сохранить только (создать простую литерную datа packet).

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

--verify

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

Если указано более одного аргумента, первый аргумент должен указывать файл с отсоединенной подписью, а остальные файлы должны содержать подписанные данные. Чтобы считывать подписанные данные из STDIN, используйте «-» в качестве второго имени файла. В целях безопасности отсоединенная подпись не будет считывать подписанный материал из STDIN, если это не указано явно.


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

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

Примечание: при использовании опции `--batch` проверка подписей останавливается при обнаружении первой недействительной подписи. Это безопасное значение по умолчанию для автоматизированной обработки, но иногда требуется статус для всех подписей. Чтобы отменить этот ранний выход, используйте опцию `--proc-all-sigs`.

Примечание: для проверки, подписан ли файл определенным ключом, можно использовать опцию `--assert-signer`. В качестве альтернативы можно использовать инструмент `gpgv`. Инструмент `gpgv` предназначен для сравнения подписанных данных со списком доверенных ключей и возвращает успешный результат только в случае хорошей подписи. У него есть своя страница руководства.

`--multifile`

Это изменяет определенные другие команды, чтобы они принимали несколько файлов для обработки в командной строке или считывали их из STDIN, при этом имя каждого файла находится на отдельной строке. Это позволяет обрабатывать сразу много файлов. Опцию --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" (и, следовательно, предшествует флагам, описанным ниже). Символ "!" указывает, что подпись была успешно проверена, "-" обозначает неверную подпись, а "%" используется, если при проверке подписи произошла ошибка (например, используется неподдерживаемый алгоритм). Подписи, для которых отсутствует открытый ключ, не отображаются; чтобы увидеть их keyid, можно использовать команду --list-sigs.

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

--locate-keys
--locate-external-keys

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

В варианте --locate-external-keys локально существующий ключ не учитывается, и его можно использовать для принудительного обновления ключа с помощью определенных внешних методов. Если указан отпечаток и методы, определенные в --auto-key-locate, определяют серверы LDAP, ключ извлекается из этих ресурсов; определенные серверы ключей, отличные от LDAP, пропускаются.

--show-keys

Эта команда принимает ключи OpenPGP в качестве входных данных и выводит информацию о них так же, как команда --list-keys для локально хранимых ключей. Кроме того, также включены параметры списка show-unusable-uids, show-unusable-subkeys, show-notations и show-policy-urls. Как обычно для автоматической обработки, эта команда должна быть объединена с опцией --with-colons.

--fingerprint

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


`--list-packets`

Выводит только последовательность пакетов. Эта команда полезна только для отладки. При использовании с опцией --verbose выводятся фактические значения MPI, а не только их длины. Обратите внимание, что вывод этой команды может измениться в новых версиях.

`--edit-card`
`--card-edit`

Предоставляет меню для работы со смарт-картой. Подкоманда "help" предоставляет обзор доступных команд. Для получения подробного описания, пожалуйста, обратитесь к документу Card HOWTO по адресу https://gnupg.org/documentation/howtos.html#GnuPG-cardHOWTO. Обратите внимание, что команда "openpgp" может быть использована для переключения на приложение OpenPGP на карте, которая по умолчанию представляет другое приложение (например, PIV).

`--card-status`

Отображает содержимое смарт-карты.

`--change-pin`

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

`--delete-keys name`

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

`--delete-secret-keys name`

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

`--delete-secret-and-public-key name`

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

`--export`

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

`--send-keys keyIDs`

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

Будьте внимательны: Серверы ключей по своей конструкции являются системами, доступными только для записи, и, следовательно, невозможно удалить ключи после их отправки на сервер ключей.


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

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

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

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

--export-ssh-key

Эта команда используется для экспорта ключа в формате открытого ключа OpenSSH. Она требует указания одного ключа обычным способом и экспортирует последний действительный подключ, у которого есть возможность аутентификации, в STDOUT или в файл, указанный с помощью опции --output. Этот вывод можно напрямую добавить в файл «authorized_key» SSH.

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

--import
--fast-import

Импорт/объединение ключей. Это добавляет указанные ключи в кольцо ключей. Быстрая версия в настоящее время является просто синонимом.

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

--receive-keys keyIDs
--recv-keys keyIDs

Импорт ключей с указанными keyIDs с сервера ключей.

--refresh-keys

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

--search-keys names

Поиск на сервере ключей по указанным именам. Несколько имен, указанных здесь, будут объединены для создания строки поиска для сервера ключей. Обратите внимание, что серверы ключей ищут имена другим и более простым способом, чем gpg. Лучший выбор — использовать адрес электронной почты. Из-за соображений конфиденциальности серверы ключей могут даже не разрешать поиск по идентификатору пользователя или адресу электронной почты и, следовательно, могут возвращать результаты только при использовании с командой --recv-key для поиска по отпечатку ключа или идентификатору ключа.


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

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

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

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

--export-ownertrust
Отправляет значения ownertrust в стандартный вывод (STDOUT). Это полезно для создания резервных копий, поскольку эти значения являются единственными, которые нельзя воссоздать из поврежденной базы данных доверия. Пример:
gpg --export-ownertrust > otrust.txt

--import-ownertrust
Обновляет базу данных доверия с помощью значений ownertrust, хранящихся в файлах (или в стандартном вводе, если они не указаны); существующие значения будут перезаписаны. В случае серьезного повреждения базы данных доверия и если у вас есть недавняя резервная копия значений ownertrust (например, в файле «otrust.txt»), вы можете восстановить базу данных доверия с помощью следующих команд:
cd ~/.gnupg
rm trustdb.gpg
gpg --import-ownertrust < otrust.txt

--rebuild-keydb-caches
При обновлении с версии 1.0.6 до 1.0.7 эту команду следует использовать для создания кэшей подписей в кольце ключей. Это также может быть полезно и в других ситуациях.

--print-md algo
--print-mds
Выводит контрольную сумму алгоритма algo для всех указанных файлов или стандартного ввода. Во втором варианте (или с устаревшим «*» для algo) выводятся контрольные суммы для всех доступных алгоритмов.

--gen-random 0|1|2|16|30 count
Генерирует count случайных байтов указанного уровня качества 0, 1 или 2. Если count не указан или равен нулю, генерируется бесконечная последовательность случайных байтов. При использовании с параметром `--armor` вывод будет закодирован в base64. Специальный уровень 16 использует уровень качества 1 и выводит бесконечный поток шестнадцатеричных байтов. Специальный уровень 30 выводит случайные данные в виде 30 символов zBase-32.

--gen-prime mode bits

Используйте исходный код, Люк :). Формат вывода может измениться в любой версии.

--enarmor
--dearmor

Упакуйте или распакуйте произвольные входные данные в/из формат OpenPGP ASCII Armor. Это расширение GnuPG для OpenPGP, которое в целом не очень полезно. Команда --dearmor также может использоваться для распаковки PEM-форматов.

--unwrap

Эта опция изменяет команду --decrypt, чтобы выводить исходное сообщение с удаленным слоем шифрования. Таким образом, вывод будет представлять собой структуру данных OpenPGP, которая часто означает подписанное сообщение OpenPGP. Обратите внимание, что эта опция может или не может удалять слой сжатия, который часто находится под слоем шифрования.

--tofu-policy {auto|good|unknown|bad|ask} keys

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

Как управлять ключами

В этом разделе объясняются основные команды для управления ключами.

--quick-generate-key user-id [algo [usage [expire]]]
--quick-gen-key

Это простая команда для генерации стандартного ключа с одним идентификатором пользователя. В отличие от --generate-key, ключ генерируется напрямую, без необходимости отвечать на множество вопросов. Если не указана опция --yes, создание ключа будет отменено, если данный идентификатор пользователя уже существует в кольце ключей.

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

Если указаны параметры algo или usage, создается только первичный ключ, и вопросы не задаются. Чтобы указать дату истечения срока действия, но при этом создать первичный и вторичный ключи, используйте значения «default» или «future-default» для параметра algo и «default» для параметра usage. Описание этих необязательных аргументов см. в команде --quick-add-key. Параметр usage также принимает значение «cert», которое можно использовать для создания первичного ключа, предназначенного только для сертификации; по умолчанию создается ключ, используемый для сертификации и подписи.

Аргумент expire можно использовать для указания даты истечения срока действия ключа. Поддерживаются различные форматы; обычно используются форматы ISO «YYYY-MM-DD» или «YYYYMMDDThhmmss». Чтобы срок действия ключа истек через N секунд, N дней, N недель, N месяцев или N лет, используйте значения «seconds=N», «Nd», «Nw», «Nm» или «Ny» соответственно. Если значение не указано или используется «-», срок действия ключа истекает через разумный период по умолчанию. Значения «never» или «none» можно использовать для указания отсутствия даты истечения срока действия.

Если эта команда используется с --batch, --pinentry-mode установлено значение loopback, и используется одна из опций для парольной фразы (--passphrase, --passphrase-fd или --passphrase-file), то указанная парольная фраза используется для нового ключа, и агент не запрашивает ее. Чтобы создать ключ без какой-либо защиты, можно использовать --passphrase "".


Для создания ключа OpenPGP из ключей, доступных на текущей смарт-карте, можно использовать специальную строку card для параметра algo. Если смарт-карта содержит ключ шифрования и ключ подписи, gpg определит их и создаст ключ OpenPGP, состоящий из обычного первичного ключа и одного подчинённого ключа. Это работает только с определенными смарт-картами. Обратите внимание, что интерактивная команда --full-gen-key позволяет сделать то же самое, но с большей гибкостью в выборе ключей смарт-карты.

Следует отметить, что можно создать первичный ключ и подчинённый ключ, используя алгоритмы, отличные от стандартных, с помощью default и изменения параметров по умолчанию с помощью опции --default-new-key-algo.

--quick-set-expire fpr expire [*|subfprs]

При указании двух аргументов, напрямую устанавливает дату истечения срока действия первичного ключа, идентифицированного по fpr. Чтобы удалить дату истечения срока действия, можно использовать 0. При указании трех аргументов и указании третьего аргумента как звездочки, дата истечения срока действия всех не отозванных и еще не истекших подчинённых ключей устанавливается. При указании более двух аргументов и списка отпечатков пальцев для subfprs, дата истечения срока действия всех не отозванных подчинённых ключей, соответствующих этим отпечаткам пальцев, устанавливается.

--quick-add-key fpr [algo [usage [expire]]]

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

^ lgo может быть любым из поддерживаемых алгоритмов или имен кривых, указанных в формате, используемом в списках ключей. Чтобы использовать алгоритм по умолчанию, можно использовать строку default или -. Поддерживаемые алгоритмы: rsa, dsa, elg, ed25519, cv25519 и другие кривые ECC. Например, строка rsa добавляет RSA-ключ с длиной ключа по умолчанию; строка rsa4096 указывает, что длина ключа должна быть 4096 бит. Строка future-default является псевдонимом для алгоритма, который, вероятно, будет использоваться в качестве алгоритма по умолчанию в будущих версиях gpg. Чтобы отобразить список поддерживаемых кривых ECC, можно использовать команду gpg --with-colons --list-config curve.

В зависимости от указанного algo, подчинённый ключ может быть либо ключом шифрования, либо ключом подписи. Если алгоритм может выполнять как подпись, так и шифрование, и требуется такой подчинённый ключ, необходимо указать строку usage. Эта строка может быть либо default, либо -, чтобы сохранить значение по умолчанию, либо списком (разделенным запятыми или пробелами) ключевых слов: sign для ключа подписи, auth для ключа аутентификации и encr для ключа шифрования (encrypt может использоваться как псевдоним для encr). Допустимые комбинации зависят от алгоритма.

Аргумент expire можно использовать для указания даты истечения срока действия ключа. Поддерживаются несколько форматов; обычно используются форматы ISO YYYY-MM-DD или YYYYMMDDThhmmss. Чтобы установить истечение срока действия ключа через N секунд, N дней, N недель, N месяцев или N лет, используйте seconds=N, Nd, Nw, Nm или Ny соответственно. Если не указывать значение или использовать -, ключ будет истекать через разумный интервал по умолчанию. Значения never и none можно использовать для указания отсутствия даты истечения срока действия.


--quick-add-adsk fpr adskfpr

Непосредственно добавляет дополнительный субключ расшифровки к ключу, идентифицированному отпечатком fpr. adskfpr — это отпечаток субключа шифрования другого ключа. Субключ обычно используется здесь, потому что по умолчанию у основного ключа нет возможности шифрования. Используйте опцию --with-subkey-fingerprint со списком команд, чтобы отобразить отпечатки субключей. Если для adskfpr используется строка "default", добавляются все отсутствующие ADSK, настроенные с помощью --default-new-key-adsk.

--generate-key
--gen-key

Генерирует новую пару ключей с использованием текущих параметров по умолчанию. Это стандартная команда для создания нового ключа. В дополнение к ключу создается сертификат отзыва и он хранится в каталоге «openpgp-revocs.d» в домашнем каталоге GnuPG.

--full-generate-key
--full-gen-key

Генерирует новую пару ключей с диалогами для всех параметров. Это расширенная версия --generate-key.

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

--generate-revocation name
--gen-revoke name

Генерирует сертификат отзыва для полного ключа. Чтобы отозвать только субключ или подпись ключа, используйте команду --edit.

Эта команда просто создает сертификат отзыва, чтобы его можно было использовать для отзыва
ключа, если это когда-либо понадобится. Чтобы фактически отозвать ключ, созданный сертификат отзыва необходимо объединить с ключом, который нужно отозвать. Это делается путем импорта
сертификата отзыва с помощью команды --import. Затем отозванный ключ необходимо опубликовать, что
лучше всего сделать, отправив ключ на сервер ключей (команда --send-key) и экспортировав
(--export) его в файл, который затем отправляется частым корреспондентам.

--generate-designated-revocation name
--desig-revoke name

Генерирует сертификат условного отзыва для ключа. Это позволяет пользователю (с разрешения владельца ключа) отозвать чужой ключ.

--edit-key

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

uid n Переключает выбор идентификатора пользователя или фотографического идентификатора пользователя с индексом n. Используйте * для выбора
всех и 0 для отмены выбора всех.

key n Переключает выбор субключа с индексом n или идентификатора ключа n. Используйте * для выбора
всех и 0 для отмены выбора всех.

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

lsign   То же, что и "sign", но подпись помечается как неэкспортируемая и, следовательно, не будет использоваться другими. Это может быть использовано для того, чтобы ключи были действительны только в локальной среде.

nrsign  То же, что и "sign", но подпись помечается как необратимая, и поэтому ее нельзя будет отозвать.

tsign   Создать подпись доверия. Это подпись, которая сочетает в себе понятия сертификации (как обычная подпись) и доверия (как команда "trust"). Обычно это полезно в различных сообществах или группах для реализации концепции доверенного посредника. Для получения дополнительной информации, пожалуйста, прочитайте разделы "Подпись доверия" и "Регулярное выражение" в RFC-4880.

Обратите внимание, что "l" (для локального/неэкспортируемого), "nr" (для необратимого) и "t" (для доверия) могут быть свободно смешаны и добавлены в качестве префикса к "sign" для создания подписи любого желаемого типа.

Если указана опция --only-sign-text-ids, то любые идентификаторы пользователей, не основанные на тексте (например, идентификаторы фотографий), не будут выбраны для подписи.

delsig  Удалить подпись. Обратите внимание, что отозвать подпись невозможно, после того как она была отправлена в открытый доступ (т.е. на сервер ключей). В этом случае лучше использовать revsig.

revsig  Отменить подпись. Для каждой подписи, созданной одним из секретных ключей, GnuPG запрашивает, следует ли создать сертификат отзыва.

check   Проверить подписи для всех выбранных идентификаторов пользователей. С дополнительной опцией selfsig отображаются только собственные подписи.

adduid  Создать дополнительный идентификатор пользователя.

addphoto    Создать фотографический идентификатор пользователя. Это потребует указания файла JPEG, который будет вложен в идентификатор пользователя. Обратите внимание, что очень большой JPEG приведет к очень большому ключу. Кроме того, обратите внимание, что некоторые программы будут отображать ваш JPEG без изменений (GnuPG), а некоторые программы будут масштабировать его, чтобы он помещался в диалоговом окне (PGP).

showphoto   Отобразить выбранный фотографический идентификатор пользователя.

deluid  Удалить идентификатор пользователя или фотографический идентификатор пользователя. Обратите внимание, что отозвать идентификатор пользователя невозможно, после того как он был отправлен в открытый доступ (т.е. на сервер ключей). В этом случае лучше использовать revuid.

revuid  Отменить идентификатор пользователя или фотографический идентификатор пользователя.

primary Пометить текущий идентификатор пользователя как основной, удалить флаг основного идентификатора пользователя со всех остальных идентификаторов пользователей и установить временную метку для всех затронутых собственных подписей на одну секунду вперед. Обратите внимание, что установка фотографического идентификатора пользователя в качестве основного делает его основным по сравнению с другими фотографическими идентификаторами пользователей, а установка обычного идентификатора пользователя в качестве основного делает его основным по сравнению с другими обычными идентификаторами пользователей.

keyserver   Установить предпочтительный сервер ключей для указанных идентификаторов пользователей. Это позволяет другим пользователям знать, откуда вы предпочитаете, чтобы они получали ваш ключ. См. --keyserver-options honor-keyserver-url для получения дополнительной информации о том, как это работает. Установка значения "none" удаляет существующий предпочтительный сервер ключей.

notation    Установить имя=значение для указанных идентификаторов пользователей. См. --cert-notation для получения дополнительной информации о том, как это работает. Установка значения "none" удаляет все аннотации, установка аннотации с префиксом минус (-) удаляет эту аннотацию, а установка имени аннотации (без =значение) с префиксом минус (-) удаляет все аннотации с этим именем.

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

showpref
Более подробный список предпочтений для выбранного идентификатора пользователя. Отображает предпочтения, учитывая подразумеваемые предпочтения 3DES (шифр), SHA-1 (хеш) и Uncompressed (сжатие), если они еще не включены в список предпочтений. Кроме того, отображаются предпочтительный сервер ключей и подписи (если таковые имеются).

setpref строка
Устанавливает список предпочтений пользователя в строку для всех (или только для выбранных) идентификаторов пользователя. Вызов setpref без аргументов устанавливает список предпочтений по умолчанию (либо встроенный, либо установленный с помощью --default-preference-list), а вызов setpref со строкой "none" в качестве аргумента устанавливает пустой список предпочтений. Используйте gpg --version, чтобы получить список доступных алгоритмов. Обратите внимание, что, хотя вы можете изменить предпочтения для идентификатора атрибута пользователя (так называемого «фото-идентификатора»), GnuPG не выбирает ключи по идентификаторам атрибутов, поэтому эти предпочтения не будут использоваться GnuPG. Обратите внимание, что автоматизированная версия этой команды доступна как --quick-update-pref.

addkey Добавить под-ключ к этому ключу.

addcardkey
Сгенерировать под-ключ на карте и добавить его к этому ключу.

keytocard
Перенести выбранный секретный под-ключ (или основной ключ, если под-ключ не выбран) на смарт-карту. Секретный ключ в кольце ключей будет заменен заглушкой, если ключ будет успешно сохранен на карте, и вы используете команду save позже. На карту можно перенести только определенные типы ключей. Появляется подменю, позволяющее выбрать, на какой карте хранить ключ. Обратите внимание, что невозможно вернуть этот ключ с карты — если карта сломается, ваш секретный ключ будет потерян, если у вас нет резервной копии.

bkuptocard файл
Восстановить указанный файл на карте. Эта команда может использоваться для восстановления резервной копии ключа (созданной во время инициализации карты) на новую карту. В большинстве случаев это будет ключ шифрования. Вы должны использовать эту команду только с соответствующим открытым ключом и убедиться, что файл, указанный в качестве аргумента, действительно является резервной копией, которую необходимо восстановить. Затем вам будет предложено выбрать 2 для восстановления в качестве ключа шифрования. Сначала вам будет предложено ввести парольную фразу резервной копии, а затем — PIN-код администратора карты.

keytotpm
Перемещает выбранный секретный субключ (или первичный ключ, если субключ не выбран) в TPM-формат. Секретный ключ в кольце ключей будет заменен TPM-представлением этого ключа, которое может быть прочитано только конкретным TPM, создавшим его (следовательно, файл ключа становится привязан к ноутбуку, содержащему TPM). Только определенные типы ключей могут быть перенесены в TPM (все системы TPM 2.0 должны иметь алгоритмы rsa2048 и nistp256, но более новые TPM могут иметь больше). Обратите внимание, что сам ключ не передается в TPM, а просто шифруется в нем, поэтому, если файл ключа будет удален, ключ будет утерян. После переноса в TPM-представление файл ключа больше не может быть преобразован обратно в не-TPM-формат, и ключ прекратит свое существование, когда TPM выйдет из строя, поэтому сначала необходимо сделать резервную копию фактического файла секретного ключа на безопасном автономном носителе, прежде чем выполнять преобразование. Важно использовать физический системный TPM, для которого у вас есть права на чтение и запись ресурса TPM (/dev/tpmrm0). Обычно это означает, что вы должны быть членом группы tss.

delkey Удаляет субключ (вторичный ключ). Обратите внимание, что отозвать субключ после того, как он был отправлен в общий доступ (например, на сервер ключей), невозможно. В этом случае лучше использовать revkey. Также обратите внимание, что это удаляет только общедоступную часть ключа.

revkey Отзывает субключ.

expire Изменяет время истечения срока действия ключа или субключа. Если выбран субключ, время истечения срока действия этого субключа будет изменено. Если ничего не выбрано, время истечения срока действия первичного ключа будет изменено.

trust Изменяет значение доверия владельца для ключа. Это немедленно обновляет базу данных доверия, и сохранение не требуется.

disable
enable Отключает или включает весь ключ. Отключенный ключ обычно не может использоваться для шифрования.

addrevoker Добавляет назначенного отзывателя к ключу. Принимает один необязательный аргумент: "sensitive". Если назначенный отзыватель помечен как "sensitive", он не будет экспортироваться по умолчанию (см. export-options).

addadsk Добавляет дополнительный субключ для расшифровки. Пользователю предлагается ввести отпечаток другого субключа шифрования. Обратите внимание, что необходимо ввести точный отпечаток субключа шифрования другого ключа. Это связано с тем, что обычно первичный ключ не имеет возможности шифрования. Используйте опцию --with-subkey-fingerprint со списком команд, чтобы отобразить отпечатки субключей.

passwd Изменяет парольную фразу секретного ключа.

toggle Это фиктивная команда, которая существует только для обратной совместимости.

clean Компактизирует (путем удаления всех подписей, кроме selfsig) любое удостоверение пользователя, которое больше не может быть использовано (например, отозвано или срок действия истек). Затем удаляет все подписи, которые не могут быть использованы в вычислениях доверия. В частности, это удаляет любые подписи, которые не проходят проверку, любые подписи, замененные более поздними подписями, отозванные подписи и подписи, выданные ключами, которых нет в кольце ключей.

minimize

Сделать ключ как можно меньше. Это удаляет все подписи для каждого идентификатора пользователя, за исключением самой последней самоподписи.

change-usage

Изменить флаги использования (возможности) основного ключа или подключей. Эти флаги использования (например, Certify, Sign, Authenticate, Encrypt) устанавливаются при создании ключа. Иногда бывает полезно иметь возможность изменять их (например, для добавления Authenticate) после их создания. Будьте осторожны при этом; разрешенные флаги использования зависят от алгоритма ключа.

cross-certify

Добавить перекрестные подписи сертификации для подписывающих подключей, у которых их сейчас может не быть. Перекрестные подписи сертификации защищают от тонкой атаки на подписывающие подключи. См. --require-cross-certification. Все новые ключи, созданные по умолчанию, имеют эту подпись, поэтому эта команда полезна только для обновления старых ключей.

save

Сохранить все изменения в кольце ключей и выйти.

quit

Выйти из программы без обновления кольца ключей.

Список показывает ключ с его вторичными ключами и всеми идентификаторами пользователей. Основной идентификатор пользователя обозначается точкой, а выбранные ключи или идентификаторы пользователей обозначаются звездочкой. Значение доверия отображается для основного ключа: "trust" — это назначенное доверие владельца, а "validity" — рассчитанное значение действительности ключа. Значения действительности также отображаются для всех идентификаторов пользователей. Для возможных значений доверия см.: [trust-values].

--sign-key name

Подписывает открытый ключ вашим секретным ключом. Это сокращенная версия подкоманды "sign" из --edit-key.

--lsign-key name

Подписывает открытый ключ вашим секретным ключом, но помечает его как неэкспортируемый. Это сокращенная версия подкоманды "lsign" из --edit-key.

--quick-sign-key fpr [names]
--quick-lsign-key fpr [names]

Непосредственно подписывает ключ из парольной фразы без какого-либо дальнейшего взаимодействия с пользователем. fpr должен быть проверенным основным отпечатком ключа в локальном кольце ключей. Если имена не указаны, подписываются все полезные идентификаторы пользователей; при указании [names] подписываются только полезные идентификаторы пользователей, соответствующие одному из этих имен. По умолчанию или если имя предваряется '*', используется нечувствительное к регистру сопоставление подстроки. Если имя предваряется '=', выполняется точное сопоставление с учетом регистра.

Команда --quick-lsign-key помечает подписи как неэкспортируемые. Если такая неэкспортируемая подпись уже существует, команда --quick-sign-key преобразует ее в экспортируемую подпись. Если вам нужно обновить существующую подпись, например, чтобы добавить или изменить данные аннотации, вам нужно использовать параметр --force-sign-key.


Эта команда использует разумные значения по умолчанию и, следовательно, не обеспечивает полной гибкости, как подкоманда «sign» из --edit-key. Она предназначена для упрощения автоматизированного подписания ключей с использованием списка проверенных отпечатков.

--quick-add-uid user-id new-user-id

Эта команда добавляет новый идентификатор пользователя к существующему ключу. В отличие от интерактивной подкоманды adduid из --edit-key, новый идентификатор пользователя добавляется в точности, при этом удаляются только начальные и конечные пробелы. Ожидается, что он будет закодирован в UTF-8, и никакие проверки его формата не выполняются.

--quick-revoke-uid user-id user-id-to-revoke

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

--quick-revoke-sig fpr signing-fpr [names]

Эта команда отзывает подписи ключей, сделанные signing-fpr, из ключа, указанного по отпечатку fpr. Если указаны имена, отзываются только подписи идентификаторов пользователей ключа, соответствующие любому из указанных имен (см. --quick-sign-key). Если отзыв уже существует, выводится уведомление, но ошибка не возвращается. Обратите внимание, что отзыв подписи ключа может быть заменен новой подписью ключа, которая, в свою очередь, также может быть отозвана.

--quick-set-primary-uid user-id primary-user-id

Эта команда устанавливает или обновляет флаг основного идентификатора пользователя для существующего ключа. user-id указывает ключ, а primary-user-id — идентификатор пользователя, который должен быть помечен как основной идентификатор пользователя. Флаг основного идентификатора пользователя удаляется у всех остальных идентификаторов пользователей, а метка времени всех затронутых самоподписей устанавливается на секунду вперед.

--quick-update-pref user-id

Эта команда обновляет список предпочтений ключа до текущего значения по умолчанию (либо встроенного, либо установленного с помощью --default-preference-list). Это автоматизированная версия использования «setpref» в меню --key-edit без указания списка. Обратите внимание, что вы можете просмотреть предпочтения в списке ключей, используя --list-options show-pref или --list-options show-pref-verbose. Вам также следует повторно распространить обновленные ключи среди ваших коллег.

--quick-set-ownertrust user-id value

Эта команда устанавливает уровень доверия владельца ключа и также может использоваться для установки флага отключения ключа. Это автоматизированная версия использования «trust», «disable» или «enable» в меню --key-edit.

--change-passphrase user-id
--passwd user-id

Изменяет парольную фразу для секретного ключа, принадлежащего сертификату, указанному как user-id. Это сокращенная форма для подкоманды passwd в меню --edit-key. При использовании вместе с опцией --dry-run это не будет фактически изменять парольную фразу, а только проверяет, что текущая парольная фраза верна.

ОПЦИИ

GPG имеет множество опций для управления точным поведением и изменения конфигурации по умолчанию.

Длинные опции можно поместить в файл настроек (по умолчанию «~/.gnupg/gpg.conf»). Краткие имена опций работать не будут: например, «armor» является допустимой опцией для файла настроек, в то время как «a» — нет. Не указывайте два дефиса, а просто имя опции и любые необходимые аргументы. Строки, начинающиеся с символа решетки («#»), игнорируются. В этом файле также можно поместить команды, но это обычно нецелесообразно, поскольку команда будет выполняться автоматически при каждом запуске gpg.

Помните, что анализ опций прекращается, как только встречается неопция, вы можете явно остановить анализ, используя специальную опцию --.

Как изменить конфигурацию

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

--default-key имя
Используйте «имя» в качестве ключа по умолчанию для подписи. Рекомендуется использовать отпечаток или, по крайней мере, длинный идентификатор ключа для «имя». Если эта опция не используется, ключом по умолчанию является первый ключ, найденный в секретном кольце ключей. Обратите внимание, что -u или --local-user переопределяют эту опцию. Эту опцию можно указывать несколько раз. В этом случае используется последний ключ, для которого доступен секретный ключ. Если ни для одного из указанных значений нет доступного секретного ключа, GnuPG не выдаст сообщение об ошибке, а продолжит работу так, как если бы эта опция не была указана.

--default-recipient имя
Используйте «имя» в качестве получателя по умолчанию, если опция --recipient не используется, и не запрашивайте, является ли он допустимым. «Имя» должно быть не пустым, и рекомендуется использовать отпечаток для «имени».

--default-recipient-self
Используйте ключ по умолчанию в качестве получателя по умолчанию, если опция --recipient не используется, и не запрашивайте, является ли он допустимым. Ключ по умолчанию — это первый ключ из секретного кольца ключей или ключ, установленный с помощью --default-key.

--no-default-recipient
Сбросьте --default-recipient и --default-recipient-self. Не следует использовать в файле настроек.

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

--no-verbose
Сбросить уровень подробности до 0. Не следует использовать в файле настроек.

-q, --quiet
Старайтесь быть как можно более тихим. Не следует использовать в файле настроек.

--batch
--no-batch
Использовать пакетный режим. Никогда не запрашивать, не разрешать интерактивные команды. --no-batch отключает эту опцию. Обратите внимание, что даже если в командной строке указано имя файла, gpg все равно может потребоваться чтение из STDIN (в частности, если gpg определяет, что входные данные представляют собой отсоединенную подпись и файл данных не указан). Таким образом, если вы не хотите передавать данные через STDIN, вам следует перенаправить STDIN в ‘/dev/null’.

Настоятельно рекомендуется использовать эту опцию вместе с опциями --status-fd и --with-colons для любого неконтролируемого использования gpg. Не следует использовать в файле настроек.

--no-tty
Убедитесь, что терминал (TTY) никогда не используется для вывода. Эта опция необходима в некоторых случаях, поскольку GnuPG иногда выводит предупреждения в TTY, даже если используется --batch.

--yes  Предполагать ответ «да» на большинство вопросов. Не следует использовать в файле параметров.

--no   Предполагать ответ «нет» на большинство вопросов. Не следует использовать в файле параметров.

--proc-all-sigs

Эта опция переопределяет поведение опции --batch, чтобы остановить проверку подписей при обнаружении первой недействительной подписи.

--list-filter {select=expr}

Фильтр списка можно использовать для вывода только определенных ключей при выполнении команд для перечисления ключей. Для доступных имен свойств см. описание опции --import-filter.

--list-options parameters

Это строка, разделенная пробелами или запятыми, которая содержит параметры, используемые при перечислении ключей и подписей (то есть, --list-keys, --check-signatures, --list-public-keys, --list-secret-keys и функции --edit-key). Параметры могут быть дополнены префиксом no- (после двух дефисов), чтобы получить противоположное значение. Параметры:

show-photos

При использовании параметров --list-keys, --check-signatures, --list-public-keys и --list-secret-keys отображает любые идентификаторы фотографий, прикрепленные к ключу. По умолчанию — нет. См. также --photo-viewer. Не работает с --with-colons: см. --attribute-fd для получения данных фотографий для скриптов и других интерфейсов.

show-usage

Отображает информацию об использовании для ключей и подключей в стандартном списке ключей. Это список букв, указывающих разрешенное использование ключа (E=шифрование, S=подпись, C=сертификация, A=аутентификация). По умолчанию — да.

show-ownertrust

Отображает значение ownertrust для ключей также в стандартном списке ключей. По умолчанию — нет.

show-policy-urls

Отображает URL-адреса политик в списках, создаваемых при использовании --check-signatures. По умолчанию — нет.

show-notations
show-std-notations
show-user-notations

Отображает все, стандартные (IETF) или определяемые пользователем подписи в списках, создаваемых при использовании --check-signatures. По умолчанию — нет.

show-keyserver-urls

Отображает любой предпочтительный URL-адрес сервера ключей в списках, создаваемых при использовании --check-signatures. По умолчанию — нет.

show-uid-validity

Отображает расчетную действительность идентификаторов пользователей при перечислении ключей. По умолчанию — да.

show-unusable-uids

Отображает отозванные и просроченные идентификаторы пользователей в списках ключей. По умолчанию — нет.

show-unusable-subkeys

Отображает отозванные и просроченные подключи в списках ключей. По умолчанию — нет.

show-unusable-sigs

Отображает подписи ключей, созданные с использованием слабых или неподдерживаемых алгоритмов.

show-keyring

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

show-sig-expire

Отображает даты истечения срока действия подписи (если есть) при использовании --check-signatures. По умолчанию — нет.

show-sig-subpackets

Включает подпакеты подписи в список ключей. Эта опция может принимать необязательный аргумент в виде списка подпакетов для отображения. Если аргумент не указан, отображаются все подпакеты. По умолчанию — нет. Эта опция имеет смысл только при использовании --with-colons вместе с --check-signatures.

show-only-fpr-mbox

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


sort-sigs

При использовании опций --list-sigs и --check-sigs подписи сортируются по идентификатору ключа и времени создания, чтобы упростить просмотр истории этих подписей. Самоподпись также отображается перед другими подписями. По умолчанию — да. Эта опция не имеет эффекта в режиме -with-colons.

--verify-options parameters

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

show-photos

Отображать идентификаторы фотографий, присутствующие в ключе, выдавшем подпись. По умолчанию — нет. См. также --photo-viewer.

show-policy-urls

Отображать URL-адреса политик в проверяемой подписи. По умолчанию — да.

show-notations
show-std-notations
show-user-notations

Отображать все, стандартные (согласно IETF) или пользовательские подписи в проверяемой подписи. По умолчанию — стандартные (согласно IETF).

show-keyserver-urls

Отображать предпочитаемый URL-адрес сервера ключей в проверяемой подписи. По умолчанию — да.

show-uid-validity

Отображать вычисленную действительность идентификаторов пользователей в ключе, выдавшем подпись. По умолчанию — да.

show-unusable-uids

Отображать отозванные и истекшие идентификаторы пользователей во время проверки подписи. По умолчанию — нет.

show-primary-uid-only

Отображать только основной идентификатор пользователя во время проверки подписи. То есть все строки AKA, а также идентификаторы фотографий, не отображаются вместе со статусом проверки подписи.

--enable-large-rsa
--disable-large-rsa

Включить создание RSA-секретных ключей размером до 8192 бит. Обратите внимание: 8192 бита — это больше, чем обычно рекомендуется. Эти большие ключи не значительно повышают безопасность, но они более ресурсоемки в использовании, а их подписи и сертификаты больше. Эта опция доступна только в том случае, если двоичный файл был скомпилирован с поддержкой large-secmem.

--enable-dsa2
--disable-dsa2

Включить усечение хеша для всех DSA-ключей, даже для старых DSA-ключей размером до 1024 бит. Это также значение по умолчанию с опцией --openpgp. Обратите внимание, что в более старых версиях GnuPG также требовался этот флаг, чтобы разрешить создание DSA-ключей размером более 1024 бит.

--photo-viewer string

Это командная строка, которая должна быть запущена для просмотра идентификатора фотографии. %i будет заменен на имя файла, содержащего фотографию. %I делает то же самое, но файл не будет удален после закрытия программы просмотра. Другие флаги: %k — идентификатор ключа, %K — длинный идентификатор ключа, %f — отпечаток ключа, %t — расширение типа изображения (например, «jpg»), %T — MIME-тип изображения (например, «image/jpeg»), %v — односимвольная вычисленная действительность просматриваемого изображения (например, «f»), %V — вычисленная действительность в виде строки (например, «full»), %U — закодированный в base32 хеш идентификатора пользователя и %% — фактический символ процента. Если ни %i, ни %I не указаны, то фотография будет передана программе просмотра через стандартный ввод.

В Unix программой просмотра по умолчанию является xloadimage -fork -quiet -title 'KeyID 0x%k' STDIN с резервным вариантом display -title 'KeyID 0x%k' %i и, наконец, xdg-open %i. В Windows используется !ShellExecute 400 %i; здесь команда является мета-командой для использования этого API-вызова, за которой следует время ожидания в миллисекундах, используемое для предоставления программе просмотра времени для чтения временного файла изображения, прежде чем gpg удалит его снова. Обратите внимание, что если ваша программа просмотра изображений небезопасна, то выполнение ее из gpg не делает ее безопасной.


--exec-path string
Указывает список каталогов, в которых следует искать программы просмотра фотографий. Если не указано, программы просмотра фотографий используют переменную окружения PATH.

--keyring file
Добавляет файл в текущий список кольцевых хранилищ ключей. Если имя файла начинается с символа тильды (~) и косой черты (/), они заменяются на каталог $HOME. Если имя файла не содержит косую черту, предполагается, что он находится в домашнем каталоге GnuPG («~/.gnupg», если не используется --homedir или $GNUPGHOME).

Обратите внимание, что это добавляет кольцевое хранилище ключей в текущий список. Если предполагается использовать только указанное кольцевое хранилище ключей, используйте --keyring вместе с --no-default-keyring.

Если использован параметр --no-keyring, то не будет использоваться ни одно кольцевое хранилище ключей.

Обратите внимание, что если в файле «common.conf» включена опция use-keyboxd, то кольцевые хранилища ключей вообще не используются, и все ключи хранятся в собственной базе данных процессом keyboxd.

--primary-keyring file
Это вариант --keyring, который указывает, что файл является основным общедоступным кольцевым хранилищем ключей. Это означает, что новые импортированные ключи (с помощью --import или keyserver --recv-from) будут помещены в это кольцевое хранилище.

--secret-keyring file
Это устаревшая опция, которая игнорируется. Все секретные ключи хранятся в каталоге «private-keys-v1.d», который находится в домашнем каталоге GnuPG.

--trustdb-name file
Использует файл вместо базы данных доверия по умолчанию. Если имя файла начинается с символа тильды (~) и косой черты (/), они заменяются на каталог $HOME. Если имя файла не содержит косую черту, предполагается, что он находится в домашнем каталоге GnuPG («~/.gnupg», если не используется --homedir или $GNUPGHOME).

--homedir dir
Устанавливает имя домашнего каталога в dir. Если эта опция не используется, домашний каталог по умолчанию — «~/.gnupg». Она распознается только при передаче через командную строку. Она также переопределяет любой домашний каталог, указанный в переменной окружения «GNUPGHOME» или (в системах Windows) с помощью записи реестра HKCU\Software\GNU\GnuPG:HomeDir.

В системах Windows GnuPG можно установить как портативное приложение. В этом случае учитывается только эта опция командной строки, все остальные способы установки домашнего каталога игнорируются.

--display-charset name
Устанавливает имя набора символов, используемого для отображения. Это используется для преобразования некоторых информационных строк, таких как идентификаторы пользователей, в соответствующую кодировку UTF-8. Обратите внимание, что это не связано с набором символов данных, которые необходимо зашифровать или подписать; GnuPG не перекодирует данные, предоставленные пользователем. Если эта опция не используется, набор символов по умолчанию определяется из текущей локали. Уровень подробности 3 показывает выбранный набор. Эту опцию не следует использовать в Windows. Допустимые значения для name:

iso-8859-1

Это набор Latin 1.

iso-8859-2

Набор Latin 2.

iso-8859-15

В настоящее время это псевдоним для набора Latin 1.

koi8-r Обычный русский набор (RFC-1489).

utf-8  Игнорировать все преобразования и предполагать, что ОС использует собственное UTF-8 кодирование.

--utf8-strings
--no-utf8-strings

Предполагать, что аргументы командной строки передаются в виде UTF-8 строк. По умолчанию (--no-utf8-strings) предполагается, что аргументы закодированы в символьном наборе, указанном с помощью --display-charset. Эти параметры влияют на все последующие аргументы. Оба параметра могут использоваться несколько раз. Этот параметр не следует использовать в файле параметров.

Этот параметр не имеет эффекта в Windows. Там внутреннее используемое UTF-8 кодирование преобразуется для ввода и вывода в консоли. Ожидается, что аргументы командной строки будут переданы в виде Unicode и преобразованы в UTF-8. Поэтому при вызове этой программы из другой программы убедитесь, что используется версия Unicode функции CreateProcess.

--options file

Считать параметры из файла и не пытаться читать их из файла параметров по умолчанию в каталоге пользователя (см. --homedir). Этот параметр игнорируется, если используется в файле параметров.

--no-options

Сокращение для --options /dev/null. Этот параметр обнаруживается до попытки открыть файл параметров. Использование этого параметра также предотвратит создание каталога пользователя «\~/.gnupg».

-z n
--compress-level n
--bzip2-compress-level n
--no-compress

Установить уровень сжатия в n для алгоритмов сжатия ZIP и ZLIB. По умолчанию используется уровень сжатия zlib по умолчанию (обычно 6). --bzip2-compress-level устанавливает уровень сжатия для алгоритма сжатия BZIP2 (по умолчанию также 6). Это другой параметр, чем --compress-level, поскольку BZIP2 использует значительный объем памяти для каждого дополнительного уровня сжатия.

Опция -z устанавливает оба параметра. Значение 0 для n отключает сжатие. Значение -1 принудительно использует сжатие с уровнем по умолчанию. Опция --no-compress идентична -z0.

За исключением команды --store сжатие всегда используется, если gpg не обнаружит, что входные данные уже сжаты. Чтобы запретить использование сжатия, используйте -z0 или --no-compress; чтобы принудительно использовать сжатие, используйте -z-1 или опцию z с другим уровнем сжатия, отличным от значения по умолчанию, как указано в -1. Обратите внимание, что это переопределение значения по умолчанию работает только с z и не с длинной версией этой опции.

--bzip2-decompress-lowmem

Использовать другой метод декомпрессии для файлов, сжатых с помощью BZIP2. Этот альтернативный метод использует чуть больше половины памяти, но также работает в два раза медленнее. Это полезно в условиях крайней нехватки памяти, когда файл был изначально сжат с высоким уровнем --bzip2-compress-level.

--mangle-dos-filenames
--no-mangle-dos-filenames

Более старые версии Windows не могут обрабатывать имена файлов с более чем одной точкой. Параметр --mangle-dos-filenames заставляет GnuPG заменять (а не добавлять) расширение выходного имени файла, чтобы избежать этой проблемы. Этот параметр выключен по умолчанию и не имеет эффекта на платформах, отличных от Windows.


--ask-cert-level
--no-ask-cert-level

При создании ключа запрашивать уровень сертификации. Если этот параметр не указан, уровень сертификации, используемый для подписи ключа, устанавливается с помощью --default-cert-level. См. --default-cert-level для получения информации о конкретных уровнях и способах их использования. --no-ask-cert-level отключает эту опцию. По умолчанию эта опция отключена.

--default-cert-level n

Значение по умолчанию для уровня проверки при подписании ключа.

0 означает, что вы не делаете никаких конкретных заявлений о том, насколько тщательно вы проверили ключ.

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

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

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

Обратите внимание, что приведенные выше примеры для уровней 2 и 3 являются лишь примерами. В конечном итоге, вам решать, что именно означают "обычная" и "тщательная" проверка.

Эта опция по умолчанию равна 0 (никаких конкретных заявлений).

--min-cert-level

При создании базы данных доверия любые подписи с уровнем сертификации ниже этого значения будут считаться недействительными. По умолчанию установлено значение 2, которое игнорирует подписи уровня 1. Обратите внимание, что подписи уровня 0 ("никаких конкретных заявлений") всегда принимаются.

--trusted-key long key ID или fingerprint

Считайте, что указанный ключ (который должен быть указан в виде отпечатка) так же надежен, как и один из ваших собственных секретных ключей. Этот параметр полезен, если вы не хотите хранить свои секретные ключи (или один из них) в сети, но при этом хотите иметь возможность проверять действительность ключа определенного получателя или подписавшего. Если указанный ключ недоступен локально, но настроен LDAP-сервер ключей, недостающий ключ будет импортирован с этого сервера. Значение "none" явно разрешено, чтобы отличать использование любого параметра --trusted-key от его отсутствия (например, из-за параметра --no-options).

--add-desig-revoker [sensitive:]fingerprint

Добавьте указанный ключ (который должен быть указан в виде отпечатка) в качестве назначенного отзывающего для вновь создаваемых ключей. Если отпечаток имеет префикс "sensitive:", эта информация обычно не экспортируется вместе с ключом. Этот параметр можно указать несколько раз, чтобы добавить несколько назначенных отзывающих. Если вместо отпечатка используется ключевое слово "clear", все ранее указанные отпечатки будут удалены. Назначенные отзывающие ключи отмечаются как не подлежащие отзыву. Обратите внимание, что назначенный отзывающий ключ, указанный с помощью файла параметров, также будет добавлен к ключу.


--default-new-key-adsk отпечаток

Добавляет указанный отпечаток в качестве дополнительного подключа (ADSK) к новым создаваемым ключам. Этот параметр можно указать несколько раз, чтобы добавить несколько ADSK. Также можно указать несколько отпечатков, разделенных пробелом или запятой, в качестве значения этого параметра. Если вместо отпечатка используется ключевое слово «clear», все ранее указанные отпечатки отбрасываются (это полезно для переопределения параметров, указанных в файле конфигурации). Ожидается, что отпечаток будет указывать на подключ, и ему не требуется восклицательный знак в качестве суффикса; он должен быть указан в компактном формате (40 или 64 шестнадцатеричных цифры без пробелов).

--trust-model {pgp|classic|tofu|tofu+pgp|direct|always|auto}

Устанавливает, какую модель доверия должен использовать GnuPG. Модели:

pgp    Это Web of Trust в сочетании с подписями доверия, используемыми в PGP 5.x и более поздних версиях. Это модель доверия по умолчанию при создании новой базы данных доверия.

classic

Это стандартная Web of Trust, представленная в PGP 2.

tofu

TOFU означает «Trust On First Use» (Доверие при первом использовании). В этой экспериментальной модели доверия при первом обнаружении ключа он запоминается. Если позже будет обнаружен другой ключ с идентификатором пользователя с тем же адресом электронной почты, оба ключа будут помечены как подозрительные. В этом случае, когда один из них будет использоваться в следующий раз, будет отображаться предупреждение с описанием конфликта, причины его возникновения (либо пользователь создал новый ключ и не подписал старый и новый ключи, либо ключ является подделкой, либо происходит атака типа «человек посередине»), и пользователю будет предложено вручную подтвердить действительность ключа.

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

По сравнению с Web of Trust, TOFU предлагает значительно более слабые гарантии безопасности. В частности, TOFU помогает только обеспечить согласованность (то есть, что связь между ключом и адресом электронной почты не изменяется). Основным преимуществом TOFU является то, что для его правильного использования требуется мало обслуживания. Чтобы правильно использовать Web of Trust, вам нужно активно подписывать ключи и помечать пользователей как доверенных лиц. Это трудоемкий процесс, и, судя по всему, даже пользователи, заботящиеся о безопасности, редко находят время, чтобы делать это тщательно, и вместо этого полагаются на неформальный процесс TOFU.

В модели TOFU политики связаны с привязками между ключами и адресами электронной почты (которые извлекаются из идентификаторов пользователей и нормализуются). Существует пять политик, которые можно установить вручную с помощью опции --tofu-policy. Политику по умолчанию можно установить с помощью опции --tofu-default-policy.

Политики TOFU: auto, good, unknown, bad и ask. Политика auto используется по умолчанию (если не переопределена с помощью --tofu-default-policy) и помечает привязку как частично доверенную. Политики good, unknown и bad помечают привязку как полностью доверенную, имеющую неизвестный уровень доверия или не имеющую доверия, соответственно. Политика unknown полезна для использования TOFU только для обнаружения конфликтов, но без присвоения положительного уровня доверия привязке. Последняя политика, ask, предлагает пользователю указать уровень доверия к привязке. Если включен пакетный режим (или ввод недопустим в данном контексте), пользователю не предлагается ввести данные, и возвращается неопределенный уровень доверия.

tofu+pgp

Эта экспериментальная модель доверия объединяет TOFU с «Сетью доверия». Это делается путем вычисления уровня доверия для каждой модели, а затем выбора максимального уровня доверия, где уровни доверия упорядочены следующим образом: unknown < undefined < marginal < fully < ultimate < expired < never.

Установив --tofu-default-policy=unknown, эту модель можно использовать для реализации «Сети доверия» с алгоритмом обнаружения конфликтов TOFU, но без присвоения положительных значений доверия, что не нравится некоторым пользователям, заботящимся о безопасности.

direct

Срок действия ключа устанавливается непосредственно пользователем и не вычисляется с помощью «Сети доверия». Эта модель основана исключительно на ключе и не различает идентификаторы пользователей. Обратите внимание, что при переходе на другую модель доверия значения доверия, присвоенные ключу, преобразуются в значения ownertrust, которые также указывают, насколько вы доверяете владельцу ключа подписывать другие ключи.

always

Пропускает проверку ключей и предполагает, что используемые ключи всегда полностью действительны. Обычно вы не будете использовать это, если не используете какую-либо внешнюю схему проверки. Эта опция также подавляет метку "[uncertain]", которая выводится при проверке подписей, когда нет доказательств того, что идентификатор пользователя связан с ключом. Обратите внимание, что эта модель доверия все равно не позволяет использовать истекшие, отозванные или отключенные ключи.

auto

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

--always-trust

Идентично --trust-model always.

--assert-signer fpr_or_file

Эта опция проверяет, была ли хотя бы одна действительная подпись в файле, сделанная указанным ключом. Ключ указывается либо в виде отпечатка, либо в виде файла со списком отпечатков. Отпечаток должен быть указан или перечислен в компактном формате (без двоеточий или пробелов между ними). Эту опцию можно указать несколько раз, и каждый отпечаток проверяется как на подписывающий ключ, так и на соответствующий первичный ключ. Если fpr_or_file указывает на файл, пустые строки игнорируются, а также все строки, начинающиеся со знака решетки. С этой опцией gpg гарантированно вернет код выхода 0 только в том случае, если была обнаружена подпись, она действительна, и ключ соответствует одному из отпечатков, указанных этой опцией.


--assert-pubkey-algo algolist

Во время проверки подписи данных эта опция проверяет, соответствует ли используемый алгоритм открытого ключа алгоритмам, указанным в списке algolist. Эту опцию можно указывать несколько раз, чтобы объединить больше алгоритмов в списке; разделителями в списке являются запятые или пробелы.

Алгоритмы, указанные в списке, могут быть указаны как в исходном виде, например, "ed25519" с необязательным начальным знаком равенства, либо с префиксом ">", ">=", "<=", или "<". Этот префикс применяется к числовой части имени алгоритма; например, 2048 в "rsa2048" или 384 в "brainpoolP384r1". Если начальные символы, не являющиеся цифрами, в имени совпадают, то префикс используется для сравнения числовой части, при этом конечный суффикс в этом случае игнорируется. Например, список алгоритмов ">rsa3000, >=brainpool384r1, =ed25519" разрешает RSA-подписи с длиной ключа более 3000 бит, кривые Brainpool 384 и 512, и алгоритм ed25519.

С помощью этой опции gpg (а также gpgv) гарантированно возвращает код выхода 0 только в том случае, если все допустимые подписи данных созданы с использованием соответствующего алгоритма из указанного списка.

--auto-key-locate mechanisms
--no-auto-key-locate

GnuPG может автоматически находить и извлекать ключи при необходимости с помощью этой опции. Это происходит при шифровании для адреса электронной почты (в форме "_"), и на локальном кольце ключей нет ключей "_". Эта опция принимает любое количество механизмов, перечисленных ниже, в порядке, в котором они должны быть опробованы. Вместо перечисления механизмов в виде аргументов, разделенных запятыми, опцию можно указывать несколько раз, чтобы добавить больше механизмов. Опция --no-auto-key-locate или механизм "clear" сбрасывают список. По умолчанию используется "local,wkd".

cert   Найти ключ с помощью DNS CERT, как указано в RFC-4398.

dane   Найти ключ с помощью DANE, как указано в draft-ietf-dane-openpgpkey-05.txt.

wkd    Найти ключ с помощью протокола Web Key Directory.

ldap   Найти ключ с помощью настроенных LDAP-серверов. Этот метод аналогичен
механизму keyserver, но всегда использует только LDAP-серверы.

ntds   Найти ключ с помощью Active Directory (только для Windows). Этот метод также
позволяет осуществлять поиск по отпечатку с помощью команды --locate-external-key. Обратите внимание, что
этот механизм фактически является сокращением для механизма "ldap", использующего только
"ldap://" в качестве сервера ключей.

keyserver

Поиск ключа с использованием сервера ключей. Этот метод также позволяет выполнять поиск по отпечатку, используя команду --locate-external-key, если какой-либо из настроенных серверов ключей является сервером LDAP.

keyserver-URL

Кроме того, здесь можно использовать URL-адрес сервера ключей, как он используется в конфигурации dirmngr, для запроса к этому конкретному серверу ключей. Этот метод также позволяет выполнять поиск по отпечатку, используя команду --locate-external-key, если URL-адрес указывает на сервер LDAP.

local

Поиск ключа с использованием локальных кольцевых хранилищ ключей. Этот механизм позволяет пользователю выбирать порядок, в котором выполняется поиск локального ключа. Таким образом, использование --auto-key-locate local идентично --no-auto-key-locate.

nodefault

Этот флаг отключает стандартный поиск ключа в локальном кольцевом хранилище, который выполняется перед применением каких-либо механизмов, определенных параметром --auto-key-locate. Положение этого механизма в списке не имеет значения. Он не требуется, если также используется local.

clear

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

--auto-key-import
--no-auto-key-import

Это автономный механизм для получения отсутствующего ключа для проверки подписи и для последующего шифрования этим ключом. Если этот параметр включен и подпись содержит внедренный ключ, этот ключ используется для проверки подписи, и при успешной проверке ключ импортируется. По умолчанию используется --no-auto-key-import.

На стороне отправителя (при подписании) необходимо использовать параметр --include-key-block, чтобы поместить общедоступную часть ключа подписи в виде «блока ключа в подпакете» в подпись.

--auto-key-retrieve
--no-auto-key-retrieve

Эти параметры включают или отключают автоматическое извлечение ключей с сервера ключей при проверке подписей, сделанных ключами, которых нет в локальном кольцевом хранилище ключей. По умолчанию используется --no-auto-key-retrieve.

Порядок методов, используемых для поиска ключа, следующий:

    Если установлен параметр `--auto-key-import` и подпись содержит внедренный ключ, этот ключ используется для проверки подписи, и при успешной проверке этот ключ импортируется.

    Если в подписи указан предпочтительный сервер ключей и активен параметр `honor-keyserver-url` (который не является значением по умолчанию), этот сервер ключей будет опробован. Обратите внимание, что создатель подписи использует параметр `--sig-keyserver-url` для указания предпочтительного сервера ключей для подписей данных.

    Если в подписи указан идентификатор отправителя (например, с помощью `--sender` при создании подписи), выполняется поиск в Web Key Directory (WKD). Это конфигурация по умолчанию, но ее можно отключить, удалив WKD из списка `auto-key-locate` или с помощью параметра `--disable-signer-uid`.

    Если какой-либо сервер ключей настроен, и отпечаток издателя является частью подписи (начиная с GnuPG 2.1.16), будут опробованы настроенные серверы ключей.

Обратите внимание, что этот параметр делает возможным поведение, похожее на «веб-жук». Операторы серверов ключей или Web Key Directory могут видеть, какие ключи вы запрашиваете, поэтому, отправляя вам сообщение, подписанное новым ключом (которого у вас, естественно, не будет в локальном кольцевом хранилище), оператор может узнать ваш IP-адрес и время, когда вы проверили подпись.


--keyid-format {none|short|0xshort|long|0xlong}

Определяет формат отображения идентификаторов ключей. «none» не отображает идентификатор ключа, а показывает отпечаток в отдельной строке. «short» — это традиционный 8-значный идентификатор ключа. «long» — это более точный (но менее удобный) 16-значный идентификатор ключа. Добавьте «0x», чтобы добавить «0x» в начало идентификатора ключа, например, 0x99242560. Обратите внимание, что этот параметр игнорируется, если используется опция --with-colons.

--keyserver name

Этот параметр устарел — используйте параметр --keyserver в файле «dirmngr.conf».

Используйте name в качестве вашего сервера ключей. Это сервер, с которым будут взаимодействовать параметры --receive-keys, --send-keys и --search-keys для получения ключей, отправки ключей и поиска ключей. Формат имени — это URI: scheme:[//]keyservername[:port]. Схема — это тип сервера ключей: «hkp»/«hkps» для HTTP-серверов ключей (или совместимых) или «ldap»/«ldaps» для LDAP-серверов ключей. Обратите внимание, что в вашей установке GnuPG могут быть доступны и другие типы серверов ключей. Схемы серверов ключей нечувствительны к регистру.

Большинство серверов ключей синхронизируются друг с другом, поэтому обычно нет необходимости отправлять ключи на более чем один сервер. Сервер ключей hkp://keys.gnupg.net использует круговую DNS-маршрутизацию, чтобы каждый раз выдавать другой сервер ключей.

--keyserver-options {name=value}

Это строка, разделенная пробелами или запятыми, которая задает параметры для сервера ключей. Параметры могут быть добавлены префиксом «no-», чтобы задать противоположное значение. Здесь можно использовать допустимые параметры импорта или экспорта, чтобы применить их к импорту (--recv-key) или экспорту (--send-key) ключа с сервера ключей. Хотя не все параметры доступны для всех типов серверов ключей, некоторые общие параметры:

include-revoked

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

include-disabled

При поиске ключа с помощью --search-keys включайте ключи, которые помечены на сервере ключей как отключенные. Обратите внимание, что этот параметр не используется с HKP-серверами ключей.

auto-key-retrieve

Это устаревший псевдоним для параметра auto-key-retrieve. Пожалуйста, не используйте его; он будет удален в будущих версиях.

honor-keyserver-url

При использовании --refresh-keys, если у ключа, для которого выполняется запрос, есть предпочтительный URL-адрес сервера ключей, используйте этот предпочтительный сервер ключей для обновления ключа. Кроме того, если auto-key-retrieve установлен, и подпись, которая проверяется, имеет предпочтительный URL-адрес сервера ключей, используйте этот предпочтительный сервер ключей для получения ключа. Обратите внимание, что этот параметр создает «веб-жук»: создатель ключа может видеть, когда ключ обновляется. Таким образом, этот параметр не включен по умолчанию.


include-subkeys

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

only-pubkeys

Не разрешать импорт секретных ключей.

timeout
http-proxy=значение
verbose
debug
check-cert

ca-cert-file

Эти опции больше не имеют функции, начиная с GnuPG 2.1. Вместо этого используйте опции конфигурации dirmngr.

Список опций по умолчанию: «self-sigs-only, repair-keys, repair-pks-subkey-bug, export-attributes». Однако, если фактическим используемым источником является LDAP-сервер, предполагается «no-self-sigs-only», если только «self-sigs-only» не был явно настроен.

--completes-needed n

Количество полностью доверенных пользователей, необходимых для добавления нового подписанта ключа (по умолчанию 1).

--marginals-needed n

Количество частично доверенных пользователей, необходимых для добавления нового подписанта ключа (по умолчанию 3).

--tofu-default-policy {auto|good|unknown|bad|ask}

Политика TOFU по умолчанию (по умолчанию auto). Дополнительная информация о значении этой опции: [trust-model-tofu].

--max-cert-depth n

Максимальная глубина цепочки сертификатов (по умолчанию 5).

--no-sig-cache

Не кэшировать статус проверки подписи ключа. Кэширование значительно повышает производительность при просмотре ключей. Однако, если у вас есть подозрения, что ваш публичный кольцо ключей небезопасно и подвержено изменениям, вы можете использовать эту опцию для отключения кэширования. Вероятно, не имеет смысла отключать его, потому что любой вред может быть нанесен, если у кого-то есть права записи в ваше публичное кольцо ключей.

--auto-check-trustdb
--no-auto-check-trustdb

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

--use-agent
--no-use-agent

Это фиктивная опция. Gpg всегда требует использование агента.

--gpg-agent-info

Это фиктивная опция. Она не имеет эффекта при использовании с gpg.

--agent-program file

Укажите программу агента, которая будет использоваться для операций с секретными ключами. Значение по умолчанию определяется путем запуска gpgconf с опцией --list-dirs. Обратите внимание, что символ «|» используется для регрессионного теста и, следовательно, не может использоваться в имени файла.

--dirmngr-program file

Укажите программу dirmngr, которая будет использоваться для доступа к серверу ключей. Значение по умолчанию — «/usr/bin/dirmngr».

--disable-dirmngr

Полностью отключите использование Dirmngr.

--no-autostart

Не запускать gpg-agent или dirmngr, если он еще не запущен и его обслуживание не требуется. Эта опция в основном полезна на машинах, где соединение с gpg-agent было перенаправлено на другую машину. Если dirmngr требуется на удаленной машине, его можно запустить вручную с помощью gpgconf --launch dirmngr.


--lock-once
Заблокировать базы данных при первом запросе на блокировку и не снимать блокировку до завершения процесса.

--lock-multiple
Снимать блокировки каждый раз, когда они больше не нужны. Используйте это, чтобы отменить предыдущую опцию `--lock-once` из файла конфигурации.

--lock-never
Полностью отключить блокировку. Этот параметр следует использовать только в особых случаях, когда можно гарантировать, что только один процесс будет получать доступ к этим файлам. Например, загрузочный дискетный накопитель со автономной системой шифрования, вероятно, будет использовать это. Неправильное использование этого параметра может привести к повреждению данных и ключей.

--exit-on-status-write-error
Этот параметр приведет к немедленному завершению процесса в случае ошибок записи в файл состояния. Фактически, это должно быть поведение по умолчанию, но оно никогда не работало так, и поэтому нам нужен параметр для его включения, чтобы не нарушать работу приложений, которые слишком рано закрывают конец подключенного к файлу состояния канала. Использование этого параметра вместе с `--enable-progress-filter` может использоваться для корректной отмены длительных операций gpg.

--limit-card-insert-tries n
Если n больше 0, количество запросов на вставку смарт-карты будет ограничено N-1. Таким образом, при значении 1, gpg вообще не будет запрашивать вставку карты, если она не была вставлена при запуске. Этот параметр полезен в файле конфигурации, если приложение не знает о поддержке смарт-карт и бесконечно ожидает вставленной карты.

--no-random-seed-file
GnuPG использует файл для хранения своего внутреннего пула случайных чисел между запусками. Это делает генерацию случайных чисел быстрее; однако иногда операции записи нежелательны. Этот параметр можно использовать для этого, но за счет более медленной генерации случайных чисел.

--no-greeting
Подавить начальное сообщение с авторскими правами.

--no-secmem-warning
Подавить предупреждение об "использовании небезопасной памяти".

--no-permission-warning
Подавить предупреждение о небезопасных разрешениях файлов и домашнего каталога (`--homedir`). Обратите внимание, что проверки разрешений, которые выполняет GnuPG, не предназначены для того, чтобы быть окончательными, а просто предупреждают о некоторых распространенных проблемах с разрешениями. Не предполагайте, что отсутствие предупреждения означает, что ваша система безопасна.

Обратите внимание, что предупреждение о небезопасных разрешениях `--homedir` нельзя подавить в файле `gpg.conf`, поскольку это позволит злоумышленнику разместить небезопасный файл `gpg.conf` и использовать этот файл для подавления предупреждений о нем. Предупреждение о разрешениях `--homedir` можно подавить только в командной строке.

--require-secmem
--no-require-secmem
Отказать в запуске, если GnuPG не может получить доступ к безопасной памяти. По умолчанию - нет (т.е. запустить, но выдать предупреждение).

--require-cross-certification
--no-require-cross-certification
При проверке подписи, созданной с помощью подчиненного ключа, убедитесь, что кросс-сертификация "обратной" подписи на подчиненном ключе присутствует и действительна. Это защищает от тонкой атаки на подчиненные ключи, которые могут подписывать. По умолчанию для gpg используется `--require-cross-certification`.

--expert
--no-expert

Разрешить пользователю выполнять определенные бессмысленные или «глупые» действия, такие как подпись истекшего или отозванного ключа, или определенные потенциально несовместимые действия, такие как генерация необычных типов ключей. Это также отключает определенные предупреждающие сообщения о потенциально несовместимых действиях. Как указывает имя, этот параметр предназначен только для экспертов. Если вы полностью не понимаете последствия того, что он позволяет вам делать, не включайте его. --no-expert отключает этот параметр.

Параметры, связанные с ключами

--recipient name
-r Зашифровать для идентификатора пользователя name. Если этот параметр или --hidden-recipient не указаны, GnuPG
запрашивает идентификатор пользователя, если не указан параметр --default-recipient.

--hidden-recipient name
-R Зашифровать для идентификатора пользователя name, но скрыть идентификатор ключа ключа этого пользователя. Этот параметр помогает
скрыть получателя сообщения и является ограниченной мерой противодействия анализу трафика.

Если этот параметр или --recipient не указаны, GnuPG запрашивает идентификатор пользователя, если не указан параметр --default-recipient.

--recipient-file file
-f Этот параметр аналогичен --recipient, за исключением того, что он шифрует для ключа, хранящегося в указанном
файле. file должен быть именем файла, содержащего ровно один ключ. gpg предполагает, что
ключ в этом файле является полностью действительным.

--hidden-recipient-file file
-F Этот параметр аналогичен --hidden-recipient, за исключением того, что он шифрует для ключа, хранящегося в
указанном файле. file должен быть именем файла, содержащего ровно один ключ. gpg предполагает,
что ключ в этом файле является полностью действительным.

--encrypt-to name

То же, что и --recipient, но этот параметр предназначен для использования в файле конфигурации и может быть использован с вашим собственным идентификатором пользователя в качестве «encrypt-to-self». Рекомендуется использовать отпечаток или, по крайней мере, длинный идентификатор ключа для name. Эти ключи используются только в том случае, если указаны другие получатели либо с помощью --recipient, либо путем запроса идентификатора пользователя. Проверка доверия для этих идентификаторов пользователей не выполняется, и даже отключенные ключи могут быть использованы.

--hidden-encrypt-to name

То же, что и --hidden-recipient, но этот параметр предназначен для использования в файле конфигурации и может быть использован с вашим собственным идентификатором пользователя в качестве скрытого «encrypt-to-self». Рекомендуется использовать отпечаток или, по крайней мере, длинный идентификатор ключа для name. Эти ключи используются только в том случае, если указаны другие получатели либо с помощью --recipient, либо путем запроса идентификатора пользователя. Проверка доверия для этих идентификаторов пользователей не выполняется, и даже отключенные ключи могут быть использованы.

--no-encrypt-to

Отключить использование всех ключей --encrypt-to и --hidden-encrypt-to.

--group {name=value}

Настраивает именованную группу, которая похожа на псевдонимы в почтовых программах. Каждый раз, когда имя группы является получателем (-r или --recipient), оно расширяется до указанных значений. Несколько групп с одним и тем же именем автоматически объединяются в одну группу.


Значения являются идентификаторами или отпечатками ключей, но любое описание ключа принимается. Обратите внимание, что значение, содержащее пробелы, будет рассматриваться как два разных значения. Также обратите внимание, что существует только один уровень расширения — вы не можете создать группу, которая указывает на другую группу. При использовании из командной строки может потребоваться заключить аргумент этой опции в кавычки, чтобы оболочка не интерпретировала его как несколько аргументов.

--ungroup name

Удаляет заданную запись из списка, указанного с помощью --group.

--no-groups

Удаляет все записи из списка, указанного с помощью --group.

--local-user name
-u Использовать name в качестве ключа для подписи. Обратите внимание, что эта опция переопределяет --default-key.

--sender mbox

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

При создании подписи эта опция указывает GPG идентификатор пользователя, используемого для подписи, и встраивает этот идентификатор пользователя в созданную подпись (используя подпакет OpenPGP «Идентификатор пользователя подписавшего»). Если опция указана несколько раз, выбирается подходящий идентификатор пользователя. Однако, если ключ подписи был указан напрямую с использованием адреса электронной почты (т. е. не с использованием отпечатка или идентификатора ключа), эта опция используется, и адрес электронной почты встраивается в созданную подпись.

При проверке подписи mbox используется для ограничения информации, печатаемой кодом TOFU, соответствующими идентификаторами пользователей. Если эта опция используется, и подпись содержит подпакет «Идентификатор пользователя подписавшего», эта информация также используется для ограничения печатаемой информации. Обратите внимание, что GnuPG учитывает только часть адреса электронной почты идентификатора пользователя.

Если эта опция или указанный подпакет доступны, строки TRUST, печатаемые опцией status-fd, соответствуют соответствующему идентификатору пользователя; если идентификатор пользователя неизвестен, строки TRUST вычисляются непосредственно на основе ключа и не предоставляют никакой информации об идентификаторе пользователя. В последнем случае настоятельно рекомендуется, чтобы скрипты и другие интерфейсы оценивали строку VALIDSIG, извлекали ключ и печатали все идентификаторы пользователей вместе с информацией об их действительности (доверии).

--try-secret-key name

Для скрытых получателей GPG необходимо знать ключи, которые следует использовать для пробного расшифрования. Ключ, установленный с помощью --default-key, всегда сначала проверяется, но этого часто недостаточно. Эта опция позволяет указать дополнительные ключи, которые будут использоваться для пробного расшифрования. Хотя для name можно использовать любую допустимую спецификацию идентификатора пользователя, имеет смысл использовать как минимум длинный идентификатор ключа, чтобы избежать неоднозначности. Обратите внимание, что gpg-agent может вызывать запрос PIN для многих ключей для выполнения пробного расшифрования. Если вы хотите остановить дальнейшее пробное расшифрование, используйте кнопку закрытия окна, а не кнопку отмены.

--try-all-secrets

Не учитывайте идентификатор ключа, хранящийся в сообщении, а вместо этого попробуйте все секретные ключи по очереди, чтобы найти правильный ключ для расшифрования. Эта опция принудительно использует поведение, используемое для анонимных получателей (создаваемых с помощью --throw-keyids или --hidden-recipient), и может оказаться полезной в случае, если зашифрованное сообщение содержит ложный идентификатор ключа.


--skip-hidden-recipients
--no-skip-hidden-recipients

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

Ввод и вывод

--armor
-a Создать вывод в формате ASCII armored. По умолчанию создается двоичный формат OpenPGP.

--no-armor

Предполагать, что входные данные не находятся в формате ASCII armored.

--output file
-o file

Записать вывод в файл. Чтобы записать в stdout, используйте - в качестве имени файла.

--max-output n

Эта опция устанавливает ограничение на количество байтов, которые будут генерироваться при обработке файла. Поскольку OpenPGP поддерживает различные уровни сжатия, возможно, что открытый текст данного сообщения может быть значительно больше, чем исходное сообщение OpenPGP. Хотя GnuPG правильно работает с такими сообщениями, часто возникает желание установить максимальный размер файла, который будет генерироваться, прежде чем обработка будет принудительно остановлена ​​ограничениями ОС. По умолчанию установлено значение 0, что означает «без ограничений».

--chunk-size n

Режим AEAD шифрует данные блоками, чтобы принимающая сторона могла проверять наличие ошибок передачи или несанкционированного доступа в конце каждого блока и не нужно откладывать это до тех пор, пока не будут получены все данные. Используемый размер блока равен 2^n байт. Наименьшее допустимое значение для n равно 6 (64 байта), а наибольшее — по умолчанию 22, что создает блоки не более 4 МБ.

--input-size-hint n

Эту опцию можно использовать, чтобы сообщить GPG размер входных данных в байтах. n должно быть положительным числом в десятичной системе счисления. Эта опция полезна только в том случае, если входные данные не берутся из файла. GPG может использовать эту подсказку для оптимизации стратегии выделения буфера. Он также используется опцией --status-fd строка «PROGRESS», чтобы предоставить значение для «total», если это недоступно другими способами.

--key-origin string[,url]

GPG может отслеживать происхождение ключа. Некоторые источники известны заранее (например, сервер ключей, веб-каталог ключей) и установлены. Для стандартного импорта происхождение импортируемых ключей можно установить с помощью этой опции. Чтобы отобразить список возможных значений, используйте «help» для string. Некоторые источники могут хранить необязательный аргумент URL. Этот URL-адрес можно добавить к строке после запятой.

--import-options parameters

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


import-local-sigs

Разрешить импорт ключевых подписей, помеченных как «локальные». Обычно это не имеет особого смысла, если только не используется схема общего кольца ключей. По умолчанию — нет.

keep-ownertrust

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

repair-pks-subkey-bug

Во время импорта попытаться исправить повреждения, вызванные ошибкой PKS-сервера ключей (версии до 0.9.6), которая повреждает ключи с несколькими субключами. Обратите внимание, что это не может полностью восстановить поврежденный ключ, поскольку некоторые важные данные удаляются сервером ключей, но это, по крайней мере, возвращает один субключ. По умолчанию — нет для обычной команды --import и да для команды --receive-keys сервера ключей.

import-show
show-only

Показать список ключа, как он был импортирован, непосредственно перед его сохранением. Это можно объединить с опцией --dry-run, чтобы просто просмотреть ключи; опция show-only — это сокращение для этой комбинации. Команда --show-keys — это еще одно сокращение для этого. Обратите внимание, что суффиксы, такие как «#» для строк «sec» и «sbb», могут быть напечатаны или не напечатаны.

import-export

Выполнить весь код импорта, но вместо сохранения ключа в локальном кольце ключей записать его в вывод. Опция export-dane влияет на вывод. Например, эту опцию можно использовать для удаления всех недействительных частей ключа без необходимости его сохранения.

merge-only

Во время импорта разрешить обновление существующих ключей, но не разрешать импорт новых ключей. По умолчанию — нет.

import-clean

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

self-sigs-only

Принимать только самоподписи во время импорта ключа. Все остальные подписи ключей пропускаются на ранней стадии импорта. Эту опцию можно использовать с опциями сервера ключей, чтобы снизить влияние попыток переполнить ключ поддельными подписями с сервера ключей. Недостатком является то, что все другие действительные подписи ключей, как того требует Web of Trust, также не импортируются. Обратите внимание, что при использовании этой опции вместе с import-clean это отключает окончательный шаг очистки после слияния импортированного ключа с существующим ключом.

ignore-attributes

Игнорировать все идентификаторы пользователей атрибутов (фотографий) и их подписи во время импорта ключа.

repair-keys

После импорта исправить различные проблемы с ключами. Например, это переупорядочивает подписи и удаляет повторяющиеся подписи. По умолчанию — да.


bulk-import

При использовании keyboxd (опция use-keyboxd в ‘common.conf’), импорт выполняется в рамках одной транзакции.

import-minimal

Импортирует минимально возможный ключ. Удаляет все подписи, кроме последней самоподписи для каждого идентификатора пользователя. Эта опция эквивалентна выполнению команды --edit-key "minimize" после импорта. По умолчанию — нет.

restore
import-restore

Импорт в режиме восстановления ключа. Импортирует все данные, которые обычно пропускаются во время импорта, включая все данные, специфичные для GnuPG. Все другие противоречащие опции игнорируются.

--import-filter {name=expr}
--export-filter {name=expr}

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

Доступные типы фильтров:

keep-uid

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

drop-subkey

Этот фильтр удаляет выбранные подключи. В настоящее время реализован только для --export-filter.

drop-sig

Этот фильтр удаляет выбранные подписи ключей для идентификаторов пользователей. Самоподписи не учитываются. В настоящее время реализован только для --import-filter.

select Этот фильтр реализован только в --list-filter. Можно использовать все имена свойств.

Для синтаксиса выражения см. раздел "ВЫРАЖЕНИЯ ФИЛЬТРОВ". Имена свойств для выражений зависят от конкретного типа фильтра и указаны в следующей таблице. Обратите внимание, что все имена свойств также могут использоваться в --list-filter.

Имена свойств могут быть снабжены префиксом, указывающим область действия, разделенную косой чертой. Допустимые области действия: "pub" для первичных открытых и секретных ключей, "sub" для открытых и секретных подключей, "uid" для пакетов идентификаторов пользователей и "sig" для пакетов подписей. Недопустимые области действия в настоящее время игнорируются.

Доступные свойства:

uid Строка с идентификатором пользователя. (keep-uid)

mbox Часть addr-spec идентификатора пользователя, содержащая адрес электронной почты, или пустая строка. (keep-uid)

algostr

Строка с описанием алгоритма ключа. Например, "rsa3072" или "ed25519".

key_algo

Число, представляющее алгоритм открытого ключа ключа или подключа. (drop-subkey)

key_size

Число, представляющее эффективный размер ключа ключа или подключа. (drop-subkey)

key_created
key_created_d

Первое — это метка времени, когда был создан открытый ключ или подключ. Второе — то же самое, но представлено в виде строки в формате ISO, например, "2016-08-17". (drop-subkey)

key_expires
key_expires_d

Время истечения срока действия открытого ключа или подключа или 0, если срок действия не истекает. Второе — то же самое, но представлено в виде строки даты в формате ISO или пустой строки, например, "2038-01-19".

fpr Шестнадцатеричное представление отпечатка текущего подключа или первичного ключа. (drop-subkey)

primary

Булево значение, указывающее, является ли идентификатор пользователя основным. (keep-uid)

expired

Булево значение, указывающее, истек ли срок действия идентификатора пользователя (keep-uid), ключа (drop-subkey) или подписи (drop-sig).

revoked

Булево значение, указывающее, был ли отозван идентификатор пользователя (keep-uid) или ключ (drop-subkey).

disabled

Булево значение, указывающее, отключен ли основной ключ.

secret

Булево значение, указывающее, является ли ключ или под-ключ секретным. (drop-subkey)

usage

Строка, указывающая флаги использования для под-ключа, из последовательности ecsa?''. Например, под-ключ, способный только подписывать и аутентифицировать, будет точно соответствоватьsa''. (drop-subkey)

sig_created
sig_created_d

Первое – это временная метка, когда был создан пакет подписи. Второе – то же самое, но представлено в виде строки даты ISO, например, "2016-08-17". (drop-sig)

sig_expires
sig_expires_d

Время истечения срока действия пакета подписи или 0, если срок не истекает. Второе – то же самое, но представлено в виде строки даты ISO или пустой строки, например, "2038-01-19".

sig_algo

Число, представляющее алгоритм публичного ключа пакета подписи. (drop-sig)

sig_digest_algo

Число, представляющее алгоритм хеширования пакета подписи. (drop-sig)

origin

Строка с указанием источника ключа или вопросительный знак. Например, строка ``wkd'' используется, если ключ получен в результате поиска в Web Key Directory.

lastupd

Временная метка, когда ключ был в последний раз обновлен с сервера ключей или Web Key Directory.

url

Строка с URL-адресом, связанным с последним поиском ключа.

--export-options параметры

Это строка, разделенная пробелами или запятыми, которая предоставляет параметры для экспорта ключей. Параметры можно предварять префиксом no-, чтобы получить противоположное значение. Параметры:

export-local-sigs

Разрешить экспорт подписей ключей, помеченных как "локальные". Это обычно не полезно, если не используется схема общего кольца ключей. По умолчанию – нет.

export-attributes

Включить идентификаторы пользователей атрибутов (фото-идентификаторы) при экспорте. Исключение идентификаторов пользователей атрибутов полезно для экспорта ключей, которые будут использоваться программой OpenPGP, которая не принимает идентификаторы пользователей атрибутов. По умолчанию – да.

export-sensitive-revkeys

Включить информацию о доверенных лицах, которая была помечена как "конфиденциальная". По умолчанию – нет.

backup
export-backup

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

export-clean

Удалить все подписи с идентификаторов пользователей ключа, экспортируемого, если идентификаторы пользователей не могут быть использованы. Кроме того, не экспортировать подписи, которые не могут быть использованы. Это включает подписи, выданные ключами, которых нет в кольце ключей. Этот параметр аналогичен выполнению команды --edit-key "clean" перед экспортом, за исключением того, что локальная копия ключа не изменяется. По умолчанию – нет.


export-minimal
Экспортирует наименьший возможный ключ. Удаляет все подписи, кроме самой последней самоподписи для каждого идентификатора пользователя. Этот параметр аналогичен выполнению команды `--edit-key minimize` перед экспортом, за исключением того, что локальная копия ключа не изменяется. По умолчанию не используется.

export-revocs
Экспортирует только отдельные сертификаты отзыва ключа. Этот параметр не экспортирует отзывы сертификатов третьих сторон.

export-dane
Вместо вывода материала ключа выводит записи OpenPGP DANE, подходящие для размещения в файлах зон DNS. Перед каждой записью выводится строка ORIGIN, чтобы можно было перенаправить записи в соответствующий файл зоны.

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

--with-colons
Выводит списки ключей, разделенные двоеточиями. Обратите внимание, что выходные данные будут закодированы в UTF-8, независимо от каких-либо настроек `--display-charset`. Этот формат полезен, когда GnuPG вызывается из сценариев и других программ, поскольку его легко анализировать машинным способом. Подробности этого формата документированы в файле `doc/DETAILS`, который входит в состав исходного кода GnuPG.

--fixed-list-mode
Не объединяет основной идентификатор пользователя и основной ключ в режиме списка с двоеточиями и выводит все временные метки как секунды, прошедшие с 1970-01-01. Начиная с GnuPG 2.0.10, этот режим всегда используется, поэтому этот параметр устарел; его использование не повредит.

--legacy-list-mode
Возвращается к режиму списка открытых ключей, существовавшему до версии 2.1. Это влияет только на удобочитаемый вывод и не влияет на машинный интерфейс (т. е. `--with-colons`). Обратите внимание, что устаревший формат не передает достаточную информацию для эллиптических кривых.

--with-fingerprint
То же, что и команда `--fingerprint`, но изменяет только формат вывода и может использоваться вместе с другой командой.

--with-subkey-fingerprint
Если для основного ключа выводится отпечаток, этот параметр принудительно выводит отпечатки для всех подчиненных ключей. Этого также можно добиться, используя `--with-fingerprint` дважды, но при использовании этого параметра вместе с `keyid-format "none"` выводится компактный отпечаток.

--with-v5-fingerprint
В режиме списка с двоеточиями выводит строки "fp2" для ключей OpenPGP версии 4, имеющих отпечаток в стиле v5.

--with-icao-spelling
Выводит орфографическое представление отпечатка ICAO в дополнение к шестнадцатеричным цифрам.

--with-keygrip
Включает keygrip в списки ключей. В режиме `--with-colons` это неявно включено для секретных ключей.

--with-key-origin
Включает информацию о происхождении ключа и времени его последнего обновления в списке ключей. В режиме `--with-colons` эти данные всегда отображаются. Эти данные в настоящее время являются экспериментальными и не должны рассматриваться как часть стабильного API.

--with-wkd-hash
Выводит идентификатор Web Key Directory вместе с каждым идентификатором пользователя в списках ключей. Это экспериментальная функция, и ее семантика может измениться.

--with-secret
Включает информацию о наличии секретного ключа в списках публичных ключей, созданных с помощью `--with-colons`.

Специфические для протокола OpenPGP опции

--force-ocb
--force-aead
Принудительное использование AEAD-шифрования вместо MDC-шифрования. AEAD — это современный и более быстрый способ выполнения аутентифицированного шифрования, чем старый метод MDC. `--force-aead` является псевдонимом и устарела. См. также опцию `--chunk-size`.

--force-mdc
--disable-mdc
Эти опции устарели и не имеют никакого эффекта, начиная с GnuPG 2.2.8. MDC используется всегда, если ключи не указывают, что можно использовать алгоритм AEAD, в этом случае используется AEAD. Но обратите внимание: если создание устаревшего сообщения, не использующего MDC, абсолютно необходимо, опция `--rfc2440` позволяет это сделать.

--disable-signer-uid
По умолчанию идентификатор пользователя подписывающего ключа включается в данные подписи. На данный момент это делается только в том случае, если подписывающий ключ был указан с помощью `local-user`, использующего адрес электронной почты, или с помощью `sender`. Эта информация может помочь проверяющему найти ключ; см. опцию `--auto-key-retrieve`.

--include-key-block
--no-include-key-block
Эта опция используется для встраивания фактического подписывающего ключа в данные подписи. Встроенный ключ упрощается до одного идентификатора пользователя и включает только подписывающий под-ключ, используемый для создания подписи, а также действительные под-ключи шифрования. Вся остальная информация удаляется из ключа, чтобы уменьшить его размер и, следовательно, размер подписи. Эта опция является аналогом опции `gpgsm --include-certs` и позволяет получателю подписанного сообщения отвечать зашифрованным сообщением отправителю без использования каких-либо онлайн-каталогов для поиска ключа. По умолчанию используется `--no-include-key-block`. См. также опцию `--auto-key-import`.

--personal-cipher-preferences string
Установите список личных предпочтений шифров на значение `string`. Используйте `gpg --version`, чтобы получить список доступных алгоритмов, и используйте `none`, чтобы не задавать никаких предпочтений. Это позволяет пользователю безопасно переопределить алгоритм, выбранный предпочтениями получателя ключа, поскольку GPG будет выбирать только алгоритм, который может использоваться всеми получателями. Наиболее высоко оцененный шифр в этом списке также используется для команды `--symmetric` шифрования.

--personal-digest-preferences string
Установите список личных предпочтений алгоритмов хеширования на значение `string`. Используйте `gpg --version`, чтобы получить список доступных алгоритмов, и используйте `none`, чтобы не задавать никаких предпочтений. Это позволяет пользователю безопасно переопределить алгоритм, выбранный предпочтениями получателя ключа, поскольку GPG будет выбирать только алгоритм, который может использоваться всеми получателями. Наиболее высоко оцененный алгоритм хеширования в этом списке также используется при подписании без шифрования (например, `--clear-sign` или `--sign`).

--personal-compress-preferences строка
Устанавливает список личных предпочтений сжатия в виде строки. Используйте `gpg --version`, чтобы получить список доступных алгоритмов, и используйте `none`, чтобы не устанавливать никаких предпочтений. Это позволяет пользователю безопасно переопределять алгоритм, выбранный на основе предпочтений ключа получателя, поскольку GPG будет выбирать только алгоритм, который может использоваться всеми получателями. Наиболее предпочтительный алгоритм сжатия в этом списке также используется, когда нет ключей получателей для рассмотрения (например, при использовании `--symmetric`).

--s2k-cipher-algo имя
Использует указанное имя в качестве алгоритма шифрования для симметричного шифрования с парольной фразой, если не указаны `--personal-cipher-preferences` и `--cipher-algo`. По умолчанию используется AES-128.

--s2k-digest-algo имя
Использует указанное имя в качестве алгоритма хеширования, используемого для изменения парольной фразы для симметричного шифрования. По умолчанию используется SHA-1.

--s2k-mode n
Выбирает, как изменяются парольные фразы для симметричного шифрования. Если `n` равно 0, будет использоваться простая парольная фраза (что обычно не рекомендуется), при `n=1` к парольной фразе добавляется соль (что не следует использовать), а при `n=3` (по умолчанию) весь процесс повторяется несколько раз (см. `--s2k-count`).

--s2k-count n
Указывает, сколько раз повторяется изменение парольной фразы для симметричного шифрования. Это значение может быть в диапазоне от 1024 до 65011712 включительно. По умолчанию это значение запрашивается у `gpg-agent`. Обратите внимание, что не все значения в диапазоне 1024-65011712 являются допустимыми, и если выбрано недопустимое значение, GnuPG округлит его до ближайшего допустимого значения. Этот параметр имеет смысл только в том случае, если `--s2k-mode` установлен в значение по умолчанию, равное 3.

Параметры соответствия стандартам

Эти параметры управляют тем, каким стандартам соответствует GnuPG. Можно активировать только один из этих параметров за раз. Если указано несколько параметров, последний из них отменяет все остальные. Обратите внимание, что настройка по умолчанию обычно является правильной. Перед использованием одного из этих параметров ознакомьтесь с разделом "ВЗАИМОДЕЙСТВИЕ С ДРУГИМИ ПРОГРАММАМИ OPENPGP" ниже.

--gnupg
Использует стандартное поведение GnuPG. Теперь это поведение LibrePGP, который представляет собой другой вариант протокола, частично совпадающий с OpenPGP.

--openpgp
Устанавливает все параметры пакетов, шифров и хеш-функций в соответствии с OpenPGP (RFC-9580). Обратите внимание, что не все функции RFC-9580 реализованы в GnuPG. Это параметр по умолчанию, поэтому в нем обычно нет необходимости, но он может быть полезен для переопределения другого параметра соответствия в файле `gpg.conf`.

--rfc4880
Устанавливает все параметры пакетов, шифров и хеш-функций в соответствии со строгим стандартом RFC-4880. RFC-4880 — это устаревшая версия стандарта OpenPGP. Этот параметр подразумевает `--allow-old-cipher-algos`.

--rfc4880bis
Этот параметр устарел; он обрабатывается как псевдоним для `--gnupg`.

--rfc2440
Устанавливает все параметры пакетов, шифров и хеш-функций в соответствии со строгим стандартом RFC-2440. RFC-2440 — это очень старая версия OpenPGP. Обратите внимание, что при использовании этого параметра пакеты шифрования создаются в устаревшем режиме без защиты MDC. Это опасно, и поэтому его следует использовать только для экспериментов. Этот параметр подразумевает `--allow-old-cipher-algos`. См. также параметр `--ignore-mdc-error`.

--pgp6 Этот параметр устарел; он обрабатывается как псевдоним для --pgp7.

--pgp7 Настройте все параметры для максимального соответствия PGP 7. Это разрешает шифры IDEA,
3ES, CAST5, AES128, AES192, AES256 и TWOFISH, хэш-функции MD5, SHA1 и RIPEMD160, а также
алгоритмы сжатия none и ZIP. Этот параметр подразумевает использование --escape-from-lines и отключает --throw-keyids.

--pgp8 Настройте все параметры для максимального соответствия PGP 8. PGP 8 гораздо ближе к стандарту OpenPGP, чем предыдущие версии PGP, поэтому это просто отключает --throw-keyids
и устанавливает --escape-from-lines. Разрешены все алгоритмы, за исключением хэш-функций SHA224, SHA384
и SHA512.

--compliance string

Этот параметр можно использовать вместо одного из указанных выше параметров. Допустимые значения для строки — это имена вышеуказанных параметров (без двойного дефиса) и, возможно, другие, как показано при использовании "help" для строки.

--min-rsa-length n

Этот параметр корректирует режим соответствия "de-vs" для более строгих требований к размеру ключа. Например, при значении 3000 ключи rsa2048 и dsa2048 становятся не соответствующими требованиям VS-NfD.

--require-compliance

Чтобы проверить, были ли данные зашифрованы в соответствии с правилами текущего режима соответствия, пользователю gpg необходимо оценить строки состояния. Это позволяет интерфейсам более гибко обрабатывать проверку соответствия. Однако для использования в скриптах требуется оценить строку состояния, что довольно сложно; этот параметр можно использовать вместо этого, чтобы убедиться, что процесс gpg завершается с ошибкой, если правила соответствия не выполняются. Обратите внимание, что этот параметр в настоящее время влияет только на режим "de-vs".

Выполнение вещей, которые обычно делать не стоит

-n
--dry-run

Не вносите никаких изменений (это еще не полностью реализовано).

--list-only

Изменяет поведение некоторых команд. Это похоже на --dry-run, но отличается в некоторых случаях. Семантика этого параметра может быть расширена в будущем. В настоящее время он просто пропускает фактический проход дешифрования и, следовательно, позволяет быстро просмотреть ключи шифрования.

-i
--interactive

Запрашивайте подтверждение перед перезаписью каких-либо файлов.

--compatibility-flags flags

Установите флаги совместимости для обхода проблем, вызванных несовместимыми ключами или данными. Флаги указываются в виде списка, разделенного запятыми, и объединяются операцией ИЛИ. Специальный флаг "none" очищает список и позволяет начать с чистого листа. Чтобы получить список доступных флагов, можно использовать одно слово "help".

--debug-level level

Выберите уровень отладки для решения проблем. level может быть числовым значением или ключевым словом:

none Отсутствие отладки. Вместо этого ключевого слова можно использовать значение, меньшее 1.

basic Некоторые основные отладочные сообщения. Вместо ключевого слова может использоваться значение от 1 до 2.

advanced Более подробные отладочные сообщения. Вместо ключевого слова может использоваться значение от 3 до 5.

expert Еще более подробные сообщения. Вместо ключевого слова может использоваться значение от 6 до 8.

guru Все доступные отладочные сообщения. Вместо ключевого слова может использоваться значение, превышающее 8. Создание файлов трассировки хеша включается только при использовании ключевого слова.

Сопоставление этих сообщений с фактическими флагами отладки не определено и может измениться в новых версиях этой программы. Однако они тщательно отобраны для наилучшей поддержки отладки.

--debug flags

Устанавливает флаги отладки. Все флаги объединяются с помощью операции "ИЛИ", и их можно указывать в синтаксисе C (например, 0x0042) или в виде списка флагов, разделенных запятыми. Чтобы получить список всех поддерживаемых флагов, можно использовать одно слово "help". Этот параметр полезен только для отладки, и его поведение может быть изменено в любое время без предварительного уведомления.

--debug-all

Устанавливает все полезные флаги отладки.

--debug-iolbf

Устанавливает stdout в режим построчной буферизации. Этот параметр учитывается только при указании его в командной строке.

--debug-set-iobuf-size n

Изменяет размер буфера IOBUFs на n килобайт. Использование 0 выводит текущий размер. Обратите внимание: это параметр, предназначенный только для разработчиков, и его можно изменить или удалить в любое время без предварительного уведомления.

--debug-allow-large-chunks

Для облегчения программного тестирования и экспериментов этот параметр позволяет указать предел до 4 EiB (--chunk-size 62).

--debug-ignore-expiration

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

--faked-system-time epoch

Этот параметр предназначен только для тестирования; он устанавливает системное время назад или вперед до указанной эпохи, которая представляет собой количество секунд, прошедших с 1970 года. Кроме того, epoch можно указать в виде полной строки времени в формате ISO (например, "20070924T154812").

Если к значению epoch добавить восклицательный знак (!), системное время будет казаться зафиксированным в указанное время.

--full-timestrings

Изменяет формат выводимых времени создания и истечения срока действия с отображением только даты на отображение даты и времени. В общем, это не полезно, и та же информация в любом случае доступна в режиме --with-colons. Эти более длинные строки также плохо выровнены с другими выводимыми данными.

--enable-progress-filter

Включает определенный вывод статуса PROGRESS. Этот параметр позволяет интерфейсам отображать индикатор выполнения при обработке больших файлов программой gpg. Использование этого параметра приводит к незначительным накладным расходам на производительность.

--status-fd n

Записывает специальные строки состояния в файловый дескриптор n. Список этих строк можно найти в файле DETAILS в документации.

--status-file file

То же, что и --status-fd, за исключением того, что данные состояния записываются в файл file.

--logger-fd n

Записывает вывод журнала в файловый дескриптор n, а не в STDERR.

--log-file file
--logger-file file

То же, что и --logger-fd, за исключением того, что данные журнала записываются в файл file. Используйте ‘socket://’, чтобы записывать данные в сокет.


--log-time

Добавляет метку времени ко всем сообщениям в лог, даже если не используется файл лога.

--attribute-fd n

Записывает подпакеты атрибутов в файловый дескриптор n. Это наиболее полезно при использовании с --status-fd, поскольку сообщения о состоянии необходимы для разделения различных подпакетов из потока, передаваемого в файловый дескриптор.

--attribute-file file

Аналогично --attribute-fd, за исключением того, что данные атрибутов записываются в файл file.

--comment string
--no-comments

Использует строку в качестве строки комментария в подписях в открытом тексте и закодированных в ASCII сообщениях или ключах (см. --armor). По умолчанию строка комментария не используется. --comment можно повторить несколько раз, чтобы получить несколько строк комментария. --no-comments удаляет все комментарии. Рекомендуется, чтобы длина одной строки комментария была не более 60 символов, чтобы избежать проблем с переносом строк в почтовых программах. Обратите внимание, что строки комментариев, как и все остальные строки заголовка, не защищены подписью.

--emit-version
--no-emit-version

Принудительно включает строку версии в выходные данные в формате ASCII. Если указано один раз, выводится только имя программы и основная версия, при указании дважды также выводится дополнительная версия, при указании трижды добавляется микроверсия, а при указании четыре раза также добавляется идентификация операционной системы. --no-emit-version (по умолчанию) отключает строку версии.

--sig-notation {name=value}
--cert-notation {name=value}
-N, --set-notation {name=value}

Помещает пару имя-значение в подпись в виде данных аннотации. Имя должно состоять только из печатных символов или пробелов и должно содержать символ '@' в форме _ (заменяя соответствующее имя ключа и имя домена, конечно). Это делается для предотвращения загрязнения зарезервированного пространства имен аннотаций IETF. Флаг --expert отменяет проверку на наличие символа '@'. Значение может быть любой печатной строкой; оно будет закодировано в UTF-8, поэтому вам следует проверить, правильно ли установлен параметр --display-charset. Если вы ставите перед именем восклицательный знак (!), данные аннотации будут помечены как критические (rfc4880:5.2.3.16). --sig-notation устанавливает аннотацию для данных подписи. --cert-notation устанавливает аннотацию для подписи ключа (сертификации). --set-notation устанавливает оба параметра.

Существуют специальные коды, которые можно использовать в именах аннотаций. "%k" будет заменено на идентификатор ключа подписываемого ключа, "%K" — на длинный идентификатор ключа подписываемого ключа, "%f" — на отпечаток подписываемого ключа, "%s" — на идентификатор ключа, выполняющего подпись, "%S" — на длинный идентификатор ключа, выполняющего подпись, "%g" — на отпечаток ключа, выполняющего подпись (который может быть субключом), "%p" — на отпечаток первичного ключа ключа, выполняющего подпись, "%c" — на счетчик подписей из смарт-карты OpenPGP, а "%%" дает один символ "%". %k, %K и %f имеют смысл только при создании подписи ключа (сертификации), а %c имеет смысл только при использовании смарт-карты OpenPGP.


--known-notation name

Добавляет имя в список известных критических обозначений подписи. Эффект заключается в том, что gpg не будет отмечать подпись с критическим обозначением подписи с этим именем как ошибочную. Обратите внимание, что gpg по умолчанию уже знает несколько имен критических обозначений подписи.

--sig-policy-url string
--cert-policy-url string
--set-policy-url string

Используйте string в качестве URL-адреса политики для подписей (rfc4880:5.2.3.20). Если вы добавите в начало восклицательный знак (!), пакет URL-адреса политики будет помечен как критический. --sig-policy-url устанавливает URL-адрес политики для подписей данных. --cert-policy-url устанавливает URL-адрес политики для подписей ключей (сертификатов). --set-policy-url устанавливает оба.

Здесь доступны те же переменные, что и для данных обозначений.

--sig-keyserver-url string

Используйте string в качестве предпочтительного URL-адреса сервера ключей для подписей данных. Если вы добавите в начало восклицательный знак (!), пакет URL-адреса сервера ключей будет помечен как критический.

Здесь доступны те же переменные, что и для данных обозначений.

--set-filename string

Используйте string в качестве имени файла, которое хранится в сообщениях. Это переопределяет значение по умолчанию, которое заключается в использовании фактического имени файла, который шифруется. Использование пустой строки для string фактически удаляет имя файла из выходных данных.

--for-your-eyes-only
--no-for-your-eyes-only

Установите флаг "только для ваших глаз" в сообщении. Это заставляет GnuPG отказываться сохранять файл, если не указан параметр --output, а PGP использовать "безопасный просмотрщик" со шрифтом, который, как утверждается, устойчив к утечкам информации. Этот параметр переопределяет параметр --set-filename. --no-for-your-eyes-only отключает этот параметр.

--use-embedded-filename
--no-use-embedded-filename

Попытайтесь создать файл с именем, встроенным в данные. Это может быть опасный параметр, поскольку он позволяет отправителю контролировать, как хранить файлы, что может привести к перезаписи файлов. По умолчанию значение равно no. Обратите внимание, что параметр --output переопределяет этот параметр.

Более безопасный подход — расшифровать данные во временный файл, а затем переименовать этот файл во встроенное имя файла после проверки того, что встроенное имя файла безопасно. При использовании параметра --status-fd gpg сообщает имя файла как часть сообщения статуса в обычном тексте. Если имя файла важно, другим вариантом является использование gpgtar, поскольку gpgtar никогда не будет перезаписывать файл, а расшифровывать файлы в новый каталог.

Также обратите внимание, что, если не используется современная подпись версии 5, встроенное имя файла не является частью подписанных данных.

--cipher-algo name

Используйте name в качестве алгоритма шифрования. Запуск программы с командой --version выдаст список поддерживаемых алгоритмов. Если это не используется, алгоритм шифрования выбирается из предпочтений, хранящихся с ключом. В общем, вы не захотите использовать этот параметр, поскольку он позволяет нарушать стандарт OpenPGP. Параметр --personal-cipher-preferences — это безопасный способ добиться того же.


--digest-algo name
Используйте `name` в качестве алгоритма вычисления хеша сообщения. Запуск программы с командой `--version` выдаст список поддерживаемых алгоритмов. Как правило, не следует использовать этот параметр, поскольку он позволяет нарушать стандарт OpenPGP. Параметр `--personal-digest-preferences` — это безопасный способ добиться того же результата.

--compress-algo name
Используйте алгоритм сжатия `name`. «zlib» — это сжатие ZLIB в соответствии с RFC-1950. «zip» — это сжатие ZIP в соответствии с RFC-1951, которое используется в PGP. «bzip2» — это более современная схема сжатия, которая может лучше сжимать некоторые данные, чем zip или zlib, но за счет большего использования памяти во время сжатия и распаковки. «uncompressed» или «none» отключает сжатие. Если этот параметр не используется, поведение по умолчанию заключается в том, чтобы проверить предпочтения ключа получателя и узнать, какие алгоритмы он поддерживает. Если все остальное не удается, для обеспечения максимальной совместимости используется ZIP.

ZLIB может обеспечить лучшие результаты сжатия, чем ZIP, поскольку размер окна сжатия не ограничен 8 КБ. BZIP2 может обеспечить еще лучшие результаты сжатия, но будет использовать значительно больше памяти при сжатии и распаковке. Это может быть важно в условиях ограниченной памяти. Однако PGP (все версии) поддерживает только сжатие ZIP. Использование любого алгоритма, отличного от ZIP или «none», сделает сообщение нечитаемым для PGP. Как правило, не следует использовать этот параметр, поскольку он позволяет нарушать стандарт OpenPGP. Параметр `--personal-compress-preferences` — это безопасный способ добиться того же результата.

--cert-digest-algo name
Используйте `name` в качестве алгоритма вычисления хеша, используемого при подписании ключа. Запуск программы с командой `--version` выдаст список поддерживаемых алгоритмов. Имейте в виду, что если вы выберете алгоритм, который поддерживается GnuPG, но не поддерживается другими реализациями OpenPGP, то некоторые пользователи не смогут использовать ваши подписи ключей или, возможно, вообще ваш ключ. Кроме того, алгоритм открытого ключа должен быть совместим с указанным алгоритмом хеширования; таким образом, выбор произвольного алгоритма хеширования может привести к сообщениям об ошибках от нижних криптографических уровней или привести к уязвимостям в системе безопасности.

--disable-cipher-algo name
Никогда не разрешайте использование `name` в качестве алгоритма шифрования. Указанное имя не будет проверяться, поэтому более поздний загруженный алгоритм все равно будет отключен.

--disable-pubkey-algo name
Никогда не разрешайте использование `name` в качестве алгоритма открытого ключа. Указанное имя не будет проверяться, поэтому более поздний загруженный алгоритм все равно будет отключен.

--throw-keyids
--no-throw-keyids
Не помещайте идентификаторы ключей получателя в зашифрованные сообщения. Это помогает скрыть получателей сообщения и является ограниченной мерой против анализа трафика. (Используя небольшую социальную инженерию, любой, кто сможет расшифровать сообщение, сможет проверить, является ли один из других получателей тем, кого он подозревает.) На стороне получателя это может замедлить процесс расшифровки, поскольку должны быть опробованы все доступные секретные ключи. `--no-throw-keyids` отключает эту опцию. Эта опция, по сути, такая же, как использование `--hidden-recipient` для всех получателей.

--not-dash-escaped

Эта опция изменяет поведение обычных подписей, позволяя использовать их для файлов с исправлениями (patch). Не следует отправлять такие экранированные файлы по электронной почте, так как все пробелы и символы конца строки также будут хешироваться. Вы не можете использовать эту опцию для данных, в которых в начале строки находится 5 дефисов, так как в файлах с исправлениями этого нет. Специальная строка заголовка в экранированном формате сообщает GnuPG об использовании этой опции для обычных подписей.

--escape-from-lines
--no-escape-from-lines

Поскольку некоторые почтовые клиенты изменяют строки, начинающиеся с "From ", на ">From ", полезно обрабатывать такие строки особым образом при создании обычных подписей, чтобы предотвратить нарушение подписи почтовой системой. Обратите внимание, что все другие версии PGP также делают это. Включено по умолчанию. --no-escape-from-lines отключает эту опцию.

--passphrase-repeat n

Укажите, сколько раз gpg будет запрашивать повторный ввод парольной фразы. Это полезно для запоминания парольной фразы. По умолчанию установлено значение 1; можно установить значение 0, чтобы отключить повторный ввод парольной фразы. Обратите внимание, что если n больше 1, окно pinentry будет открываться n+1 раз, даже если используется современный pinentry с двумя полями ввода.

--passphrase-fd n

Считайте парольную фразу из файлового дескриптора n. Будет считана только первая строка из файлового дескриптора n. Если вы используете 0 для n, парольная фраза будет прочитана из STDIN. Это можно использовать только в том случае, если предоставлена только одна парольная фраза.

Обратите внимание, что начиная с версии 2.0 эта парольная фраза используется только в том случае, если также указана опция --batch. Начиная с версии 2.1, --pinentry-mode также должен быть установлен в режим loopback.

--passphrase-file file

Считайте парольную фразу из файла file. Будет прочитана только первая строка из файла file. Это можно использовать только в том случае, если предоставлена только одна парольная фраза. Очевидно, что парольная фраза, хранящаяся в файле, имеет сомнительную безопасность, если другие пользователи могут читать этот файл. Не используйте эту опцию, если можете избежать этого.

Обратите внимание, что начиная с версии 2.0 эта парольная фраза используется только в том случае, если также указана опция --batch. Начиная с версии 2.1, --pinentry-mode также должен быть установлен в режим loopback.

--passphrase string

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

Обратите внимание, что начиная с версии 2.0 эта парольная фраза используется только в том случае, если также указана опция --batch. Начиная с версии 2.1, --pinentry-mode также должен быть установлен в режим loopback.

--pinentry-mode mode

Установите режим pinentry на mode. Допустимые значения для mode:

default

Использовать значение по умолчанию агента, которое равно ask.


ask Заставляет использовать Pinentry.

cancel Эмулирует нажатие кнопки «Отмена» в Pinentry.

error Возвращает ошибку Pinentry («Нет Pinentry»).

loopback Перенаправляет запросы Pinentry вызывающей стороне. Обратите внимание, что, в отличие от Pinentry, пользователь не будет повторно запрошен, если он введет неправильный пароль.

--no-symkey-cache Отключает кэш парольных фраз, используемый для симметричного шифрования и дешифрования. Этот кэш основан на специфичном для сообщения значении соли (см. --s2k-mode).

--request-origin origin Указывает GnuPG, что операция фактически была инициирована из источника origin. В зависимости от источника применяются определенные ограничения, и Pinentry может включать дополнительную примечание об источнике. Поддерживаемые значения для origin: local (по умолчанию), remote (для удаленного источника) или browser (для операции, запрошенной веб-браузером).

--command-fd n Это замена устаревшему режиму межпроцессного взаимодействия через общую память. Если этот параметр включен, ввод пользователя для вопросов не ожидается с TTY, а из указанного файлового дескриптора. Его следует использовать вместе с --status-fd. См. файл doc/DETAILS в исходном дистрибутиве для получения подробной информации о том, как его использовать.

--command-file file Аналогично --command-fd, за исключением того, что команды считываются из файла file.

--allow-non-selfsigned-uid
--no-allow-non-selfsigned-uid Разрешает импорт и использование ключей с идентификаторами пользователей, которые не подписаны самим пользователем. Это не рекомендуется, так как несамоподписанный идентификатор пользователя легко подделать. --no-allow-non-selfsigned-uid отключает эту возможность.

--allow-freeform-uid Отключает все проверки формы идентификатора пользователя при создании нового. Этот параметр следует использовать только в особых средах, поскольку он не обеспечивает стандартный формат идентификаторов пользователей.

--ignore-time-conflict GnuPG обычно проверяет, что временные метки, связанные с ключами и подписями, имеют правдоподобные значения. Однако иногда подпись кажется более старой, чем ключ, из-за проблем с часами. Этот параметр делает эти проверки только предупреждением. См. также --ignore-valid-from для проблем с временными метками подключей.

--ignore-valid-from GnuPG обычно не выбирает и не использует подключи, созданные в будущем. Этот параметр разрешает использование таких ключей и, таким образом, обеспечивает поведение, предшествующее версии 1.0.7. Не следует использовать этот параметр, если нет каких-либо проблем с часами. См. также --ignore-time-conflict для проблем с временными метками подписей.

--ignore-crc-error ASCII-броня, используемая в OpenPGP, защищена контрольной суммой CRC от ошибок передачи. Иногда CRC повреждается где-то в канале передачи, но фактическое содержимое (которое защищено протоколом OpenPGP) все еще в порядке. Этот параметр позволяет GnuPG игнорировать ошибки CRC.

--ignore-mdc-error Этот параметр преобразует сбой защиты целостности MDC в предупреждение. Он необходим для расшифровки старых сообщений, которые не использовали MDC. Он также может быть полезен, если сообщение частично повреждено, но необходимо получить как можно больше данных из этого поврежденного сообщения. Имейте в виду, что отсутствие или сбой MDC может быть признаком атаки. Используйте с осторожностью; см. также параметр --rfc2440.

--allow-old-cipher-algos

Старые алгоритмы шифрования, такие как 3DES, IDEA или CAST5, шифруют данные, используя блоки размером 64 бита; современные алгоритмы используют блоки размером 128 бит. Чтобы избежать определенных атак на эти старые алгоритмы, рекомендуется не шифровать более 150 МБ одним и тем же ключом. По этой причине GnuPG не разрешает использование алгоритмов с размером блока 64 бита для шифрования, если эта опция не указана. Некоторые режимы соответствия уже устанавливают или очищают этот флаг, и, следовательно, этот флаг следует использовать после установки режима соответствия.

--allow-weak-digest-algos

Подписи, созданные с использованием известных слабых алгоритмов хеширования, обычно отклоняются с сообщением «недопустимый алгоритм хеширования». Эта опция позволяет проверять подписи, созданные с использованием таких слабых алгоритмов. MD5 — единственный алгоритм хеширования, который по умолчанию считается слабым. См. также --weak-digest, чтобы отклонить другие алгоритмы хеширования.

--weak-digest name

Рассматривать указанный алгоритм хеширования как слабый. Подписи, созданные с использованием слабых алгоритмов хеширования, обычно отклоняются. Эту опцию можно указывать несколько раз, если нужно считать несколько алгоритмов слабыми. См. также --allow-weak-digest-algos, чтобы отключить отклонение слабых хешей. MD5 всегда считается слабым и не требует явного указания.

--allow-weak-key-signatures

Чтобы избежать незначительного риска атак на подписи третьих сторон, созданные с использованием SHA-1, эти подписи ключей считаются недействительными. Эта опция позволяет отменить это ограничение.

--override-compliance-check

Это была временная опция, и сейчас она больше не имеет эффекта.

--no-default-keyring

Не добавлять кольцо ключей по умолчанию в список колец ключей. Обратите внимание, что GnuPG для большинства операций требуется кольцо ключей. Таким образом, если вы используете эту опцию и не предоставляете альтернативные кольца ключей через --keyring, GnuPG все равно будет использовать кольцо ключей по умолчанию.

Обратите внимание, что если опция use-keyboxd включена в «common.conf», кольца ключей не используются вообще, и все ключи хранятся в собственной базе данных процессом keyboxd.

--no-keyring

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

--skip-verify

Пропустить шаг проверки подписи. Это можно использовать для ускорения расшифровки, если проверка подписи не требуется.

--with-key-data

Выводить списки ключей, разделенные двоеточиями (как в --with-colons), и выводить данные открытого ключа.

--list-signatures
--list-sigs

То же, что и --list-keys, но также выводятся подписи. Эта команда оказывает такое же действие, как и использование --list-keys с --with-sig-list. Обратите внимание, что в отличие от --check-signatures подписи ключей не проверяются. Эту команду можно использовать для создания списка ключей подписи, отсутствующих в локальном кольце ключей; например:


gpg --list-sigs --with-colons USERID | \
awk -F: '$1=="sig" && $2=="?" {if($13){print $13}else{print $5}}'

--fast-list-mode
Изменяет вывод команд списка для обеспечения более высокой скорости; это достигается путем опущения некоторых частей. Некоторые приложения не нуждаются в идентификаторе пользователя и информации о доверии, предоставляемой в списках. Используя эти параметры, они могут получить более быстрый список. Точное поведение этого параметра может измениться в будущих версиях. Если вам не хватает какой-либо информации, не используйте этот параметр.

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

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

--show-session-key
Отображает сеансовый ключ, используемый для одного сообщения. См. --override-session-key для соответствующего параметра.

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

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

--override-session-key string
--override-session-key-fd fd
Не используйте открытый ключ, а используйте сеансовый ключ в виде строки или сеансовый ключ, взятый из первой строки, прочитанной из файлового дескриптора fd. Формат этой строки такой же, как и у строки, печатаемой с помощью --show-session-key. Этот параметр обычно не используется, но может быть полезен в том случае, если кто-то заставляет вас раскрыть содержимое зашифрованного сообщения; используя этот параметр, вы можете сделать это, не передавая секретный ключ. Обратите внимание, что использование --override-session-key может раскрыть сеансовый ключ всем локальным пользователям через глобальную таблицу процессов. Часто бывает полезно комбинировать этот параметр с --no-keyring.

--ask-sig-expire
--no-ask-sig-expire
При создании цифровой подписи запрашивайте срок действия. Если этот параметр не указан, используется срок действия, установленный с помощью --default-sig-expire. --no-ask-sig-expire отключает этот параметр.

--default-sig-expire
Значение по умолчанию для срока действия цифровой подписи. Допустимые значения: "0" для отсутствия срока действия, число, за которым следует буква d (дни), w (недели), m (месяцы) или y (годы) (например, "2m" для двух месяцев или "5y" для пяти лет) или абсолютная дата в формате YYYY-MM-DD. По умолчанию "0".

--ask-cert-expire
--no-ask-cert-expire
При создании подписи ключа запрашивайте срок действия. Если этот параметр не указан, используется срок действия, установленный с помощью --default-cert-expire. --no-ask-cert-expire отключает этот параметр.

--default-cert-expire
Значение по умолчанию для срока действия подписи ключа. Допустимые значения: "0" для отсутствия срока действия, число, за которым следует буква d (дни), w (недели), m (месяцы) или y (годы) (например, "2m" для двух месяцев или "5y" для пяти лет) или абсолютная дата в формате YYYY-MM-DD. По умолчанию "0".

--default-new-key-algo string

Этот параметр можно использовать для изменения алгоритмов по умолчанию для генерации ключей. Строка аналогична аргументам, необходимым для команды --quick-add-key, но немного отличается. Вам нужно обратиться к исходному коду, чтобы узнать подробности. Обратите внимание, что расширенные команды генерации ключей всегда можно использовать для непосредственного указания алгоритма ключа. Установка режима соответствия установит или сбросит этот флаг, поэтому его следует использовать только после установки режима соответствия.

--no-auto-trust-new-key

При создании нового ключа значение ownertrust для нового ключа устанавливается на ultimate. Этот параметр отключает это, и пользователь должен вручную назначить значение ownertrust.

--force-sign-key

Этот параметр изменяет поведение команд --quick-sign-key, --quick-lsign-key и подкоманд "sign" команды --edit-key, принудительно создавая подпись ключа, даже если она уже существует.

--forbid-gen-key

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

--allow-secret-key-import

Этот параметр устарел и больше нигде не используется.

--allow-multiple-messages

--no-allow-multiple-messages

Эти параметры устарели; они больше не оказывают никакого влияния, начиная с GnuPG 2.2.8.

--enable-special-filenames

Этот параметр включает режим, в котором имена файлов в формате '-&n', где n — неотрицательное десятичное число, относятся к файловому дескриптору n, а не к файлу с этим именем.

--no-expensive-trust-checks

Только для экспериментального использования.

--preserve-permissions

Не изменяйте разрешения секретного кольца ключей обратно на «только для чтения/записи пользователем». Используйте этот параметр только в том случае, если вы действительно знаете, что делаете.

--default-preference-list string

Установите список предпочтительных значений по умолчанию в виде строки. Этот список предпочтений используется для новых ключей и становится значением по умолчанию для "setpref" в меню --edit-key.

--default-keyserver-url name

Установите URL-адрес ключа по умолчанию в значение name. Этот сервер ключей будет использоваться в качестве URL-адреса сервера ключей при записи новой самоподписи на ключе, что включает в себя генерацию ключей и изменение предпочтений.

--list-config

Отображает различные внутренние параметры конфигурации GnuPG. Этот параметр предназначен для внешних программ, вызывающих GnuPG для выполнения задач, и поэтому обычно не полезен. См. файл «doc/DETAILS» в исходном дистрибутиве для получения подробной информации о том, какие элементы конфигурации можно отобразить. --list-config можно использовать только с параметром --with-colons.

--list-gcrypt-config

Отображает различные внутренние параметры конфигурации Libgcrypt.

--gpgconf-list

Эта команда аналогична --list-config, но в основном используется внутренне инструментом gpgconf.


--gpgconf-test

Это, в основном, фиктивное действие. Однако, он анализирует файл конфигурации и завершается с ошибкой, если файл конфигурации помешает запуску GPG. Таким образом, его можно использовать для выполнения проверки синтаксиса файла конфигурации.

--chuid uid

Измените текущего пользователя на uid, который может быть либо числом, либо именем. Это можно использовать из учетной записи root для запуска GPG для другого пользователя. Если uid не является текущим UID, устанавливается стандартный PATH и переменная среды GNUPGHOME сбрасывается. Чтобы переопределить последнее, можно использовать опцию --homedir. Эта опция имеет эффект только при использовании в командной строке. Эта опция в настоящее время не имеет никакого эффекта в Windows.

Устаревшие опции

-t, --textmode
--no-textmode

Обрабатывайте входные файлы как текст и сохраняйте их в канонической текстовой форме OpenPGP со стандартными символами конца строки CRLF. Это также устанавливает необходимые флаги, чтобы сообщить получателю, что зашифрованные или подписанные данные являются текстом и, возможно, потребуется преобразовать символы конца строки обратно в то, что использует локальная система. Эта опция была полезна при взаимодействии между двумя платформами с разными соглашениями о символах конца строки (UNIX-подобные и Mac, Mac и Windows и т. д.). --no-textmode отключает эту опцию и является значением по умолчанию. Обратите внимание, что это устаревшая опция, которую не следует использовать в современном программном обеспечении.

--force-v3-sigs
--no-force-v3-sigs

--force-v4-certs
--no-force-v4-certs

Эти опции устарели и не имеют никакого эффекта, начиная с GnuPG 2.1.

--show-photos
--no-show-photos

При использовании опций --list-keys, --list-signatures, --list-public-keys, --list-secret-keys и при проверке подписи также отображается идентификатор фотографии, прикрепленный к ключу, если он есть. См. также --photo-viewer. Эти опции устарели. Используйте --list-options [no-]show-photos и/или --verify-options [no-]show-photos.

--show-keyring

Отображает имя кольца ключей в начале списков ключей, чтобы показать, в каком кольце ключей находится данный ключ. Эта опция устарела: используйте --list-options [no-]show-keyring.

--show-notation
--no-show-notation

Отображает нотации подписи в списках --list-signatures или --check-signatures, а также при проверке подписи с нотацией. Эти опции устарели. Используйте --list-options [no-]show-notation и/или --verify-options [no-]show-notation.

--show-policy-url
--no-show-policy-url

Отображает URL-адреса политик в списках --list-signatures или --check-signatures, а также при проверке подписи с URL-адресом политики. Эти опции устарели. Используйте --list-options [no-]show-policy-url и/или --verify-options [no-]show-policy-url.

--personal-aead-preferences string

Эта опция устарела и не имеет никакого эффекта, начиная с версии 2.3.9.

--aead-algo name

Эта опция устарела и не имеет никакого эффекта, начиная с версии 2.3.9.

ПРИМЕРЫ

gpg -se -r Bob file
подписать и зашифровать для пользователя Bob

gpg --clear-sign файл
создать подпись в виде обычного текста

gpg -sb файл
создать отдельную подпись

gpg -u 0x12345678 -sb файл
создать отдельную подпись с использованием ключа 0x12345678

gpg --list-keys user_ID
показать ключи

gpg --fingerprint user_ID
показать отпечаток

gpg --verify pgpfile
gpg --verify sigfile [datafile]
Проверить подпись файла, но не выводить данные, если это не запрошено. Вторая форма используется для отдельных подписей, где sigfile — это отдельная подпись (в формате ASCII armored или двоичном), а datafile — подписанные данные; если это не указано, имя файла, содержащего подписанные данные, создается путем удаления расширения (".asc" или ".sig") из sigfile или путем запроса имени файла у пользователя. Если также используется опция --output, подписанные данные записываются в файл, указанный этой опцией; используйте - для записи подписанных данных в stdout.

КАК УКАЗАТЬ ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ

Существуют различные способы указать идентификатор пользователя для GnuPG. Некоторые из них действительны только для gpg, а другие — только для gpgsm. Вот полный список способов указания ключа:

По идентификатору ключа. Этот формат определяется по длине строки и ее содержимому или по префиксу 0x. Идентификатор ключа сертификата X.509 — это младшие 64 бита его SHA-1 отпечатка. Использование идентификаторов ключей — это просто сокращение, для всех автоматизированных процессов следует использовать отпечаток.

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

На последних четырех строках примера приведен идентификатор ключа в его длинной форме, как он используется внутри протокола OpenPGP. Вы можете увидеть длинный идентификатор ключа, используя опцию --with-colons.

2345674
034E556E
0134756A
0AB123456

234ABBCC34567C4
0323456784E56EAB
01B3FED1347A5612
0234AABBCC34567C4

По отпечатку. Этот формат определяется по длине строки и ее содержимому или по префиксу 0x. Обратите внимание, что в gpgsm доступна только 20-байтовая версия отпечатка (т. е. хэш SHA-1 сертификата).

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

Лучший способ указать идентификатор ключа — использовать отпечаток. Это позволяет избежать каких-либо неоднозначностей в случае, если идентификаторы ключей дублируются.

1234343434343434434343434343434
1234343434343433434343434343734349A3434
012343434343434343434EAB3484343434343434
0E12343434343434343434EAB3484343434343434

gpgsm также принимает двоеточия между каждой парой шестнадцатеричных цифр, поскольку это де-факто стандарт представления отпечатков X.509. Gpg также позволяет использовать отпечаток SHA-1, разделенный пробелами, как он выводится командами листинга ключей.

По точному совпадению идентификатора пользователя OpenPGP. Это обозначается начальным знаком равенства. Это не имеет смысла для сертификатов X.509.

=Heinrich Heine <_>

По точному совпадению адреса электронной почты. Это указывается путем заключения адреса электронной почты в обычные угловые скобки.


<_>

По частичному совпадению адреса электронной почты. Это указывается путем добавления символа @ в начало строки поиска. Используется поиск подстроки, но рассматривается только адрес электронной почты (т. е. внутри угловых скобок).

@heinrichh

По точному совпадению Distinguished Name (DN) субъекта. Это указывается путем добавления символа /, непосредственно за которым следует RFC-2253-кодированное DN субъекта. Обратите внимание, что нельзя использовать строку, выводимую командой gpgsm --list-keys, поскольку она была переупорядочена и изменена для лучшей читаемости; используйте --with-colons, чтобы вывести необработанную (но стандартно экранированную) строку RFC-2253.

/CN=Heinrich Heine,O=Poets,L=Paris,C=FR

По точному совпадению Distinguished Name (DN) издателя. Это указывается путем добавления символа #, за которым следует символ / и затем непосредственно следует RFC-2253-кодированное DN издателя. Это должно вернуть корневой сертификат издателя. См. примечание выше.

#/CN=Root Cert,O=Poets,L=Paris,C=FR

По точному совпадению серийного номера и Distinguished Name (DN) издателя. Это указывается путем добавления символа #, за которым следует шестнадцатеричное представление серийного номера, затем символ / и RFC-2253-кодированное DN издателя. См. примечание выше.

#4F03/CN=Root Cert,O=Poets,L=Paris,C=FR

По keygrip. Это указывается путем добавления символа &, за которым следуют 40 шестнадцатеричных цифр keygrip. gpgsm выводит keygrip при использовании команды --dump-cert.

&D75F22C3F86E355877348498CDC92BD21010A480

По поиску подстроки. Это режим по умолчанию, но приложения могут явно указать это, поставив символ * в начале. Поиск не чувствителен к регистру.

Heine *Heine

Префиксы . и +

Эти префиксы зарезервированы для поиска адресов электронной почты, начинающихся с конца, и для режима поиска слов. Они еще не реализованы, и использование их не определено.

Обратите внимание, что мы повторно использовали идентификатор с символом #, который использовался в старых версиях GnuPG для указания так называемого local-id. Он больше не используется, и при использовании с X.509 не должно быть конфликтов.

Использование формата RFC-2253 для DN имеет недостаток в том, что невозможно отобразить их обратно в исходную кодировку, однако нам это не нужно, потому что наша база данных ключей хранит эту кодировку в качестве метаданных.

ВЫРАЖЕНИЯ ФИЛЬТРА

Опции --import-filter и --export-filter используют выражения со следующим синтаксисом (квадратные скобки указывают необязательную часть, а фигурные скобки - повторение, разрешены пробелы между элементами):

[lc] {[{flag}] PROPNAME op VALUE [lc]}

Имя свойства (PROPNAME) может состоять только из букв, цифр и символов подчеркивания. Описание для типа фильтра описывает, какие свойства определены. Если используется неопределенное свойство, оно возвращает пустую строку. Если не указано иное, VALUE всегда должно быть указано и не может быть пустой строкой. Кавычки для значения не определены, поэтому значение не может содержать строки && или ||, которые используются в качестве логических операторов связи. Флаг -- можно использовать, чтобы снять это ограничение.


Числовые значения вычисляются как long int; применяется стандартная нотация C. lc — это логический оператор связи: && для конъюнкции или || для дизъюнкции. Конъюнкция предполагается в начале выражения. Конъюнкции имеют более высокий приоритет, чем дизъюнкции. Если VALUE начинается с одного из символов, используемых в любом операторе, после оператора требуется пробел.

Поддерживаемые операторы (op):

=~  Подстрока должна совпадать.

!~  Подстрока не должна совпадать.

=   Полная строка должна совпадать.

<>  Полная строка не должна совпадать.

==  Числовое значение должно совпадать.

!=  Числовое значение не должно совпадать.

<=  Числовое значение поля должно быть меньше или равно заданному значению.

<   Числовое значение поля должно быть меньше заданного значения.

>   Числовое значение поля должно быть больше заданного значения.

>=  Числовое значение поля должно быть больше или равно заданному значению.

-le Строковое значение поля должно быть меньше или равно заданному значению.

-lt Строковое значение поля должно быть меньше заданного значения.

-gt Строковое значение поля должно быть больше заданного значения.

-ge Строковое значение поля должно быть больше или равно заданному значению.

-n  Возвращает `true`, если значение не пустое (значение не допускается).

-z  Возвращает `true`, если значение пустое (значение не допускается).

-t  Алиас для "PROPNAME != 0" (значение не допускается).

-f  Алиас для "PROPNAME == 0" (значение не допускается).

Значения для флага должны быть разделены пробелами. Поддерживаемые флаги:

--  `VALUE` охватывает до конца выражения.

-c  Сопоставление строк в этой части выполняется с учетом регистра.

-t  Начальные и конечные пробелы не удаляются из `VALUE`. Обязателен единичный пробел после оператора.

Опции фильтра объединяют несколько спецификаций для фильтра одного типа. Например, следующие четыре опции:

--import-filter keep-uid="uid =~ Alfa"
--import-filter keep-uid="&& uid !~ Test"
--import-filter keep-uid="|| uid =~ Alpha"
--import-filter keep-uid="uid !~ Test"

эквивалентны:

--import-filter \
keep-uid="uid =~ Alfa" && uid !~ Test" || uid =~ Alpha" && "uid !~ Test"

импортируют только идентификаторы пользователей ключа, содержащие строки "Alfa" или "Alpha", но не строку "test".

ЗНАЧЕНИЯ ДОВЕРИЯ

Значения доверия используются для указания доверия владельца и действительности ключей и идентификаторов пользователей. Они отображаются буквами или строками:

unknown

Доверие владельцу не назначено / еще не рассчитано.

e
истек

Вычисление доверия не удалось; вероятно, из-за истекшего срока действия ключа.

q
не определено, undef

Недостаточно информации для вычисления.

n
никогда Никогда не доверяйте этому ключу.

m
незначительное Незначительно доверяйте.

f
полное Полностью доверяйте.

u
максимальное Абсолютно доверяйте.

r
отозвано

Только для действительности: ключ или идентификатор пользователя были отозваны.

?
err Программа столкнулась с неизвестным значением доверия.

ФАЙЛЫ

Существует несколько файлов конфигурации для управления определенными аспектами работы gpg. Если не указано иное, они должны находиться в текущем домашнем каталоге (см.: [опция --homedir]).


gpg.conf

Это стандартный файл конфигурации, который Gpg считывает при запуске. Он может содержать любые допустимые длинные опции; двойные дефисы в начале опции указывать не нужно, и опцию нельзя сокращать. Имя этого файла по умолчанию можно изменить в командной строке (см.: [gpg-option --options]). Рекомендуется создать резервную копию этого файла.

common.conf

Это необязательный файл конфигурации, который Gpg считывает при запуске. Он может содержать опции, относящиеся ко всем компонентам GnuPG. В настоящее время он в основном используется для опции "use-keyboxd". Если каталог по умолчанию "~/.gnupg" не существует, GnuPG создает этот каталог и файл "common.conf" с опцией "use-keyboxd".

Следует отметить, что в крупных установках полезно помещать предопределенные файлы в каталог "/etc/skel/.gnupg", чтобы новые пользователи начинали работу с рабочей конфигурацией. Для существующих пользователей предоставляется небольшой вспомогательный скрипт для создания этих файлов (см.: [addgnupghome]).

Для внутренних целей Gpg создает и поддерживает несколько других файлов. Все они находятся в текущем домашнем каталоге (см.: [option --homedir]). Только программа Gpg может изменять эти файлы.

~/.gnupg

Это каталог по умолчанию, который используется, если не указана переменная среды GNUPGHOME или опция --homedir.

~/.gnupg/pubring.gpg

Публичный кольцо ключей в устаревшем формате. Рекомендуется создать резервную копию этого файла.

Если этот файл недоступен, Gpg по умолчанию использует новый формат keybox и создает файл "pubring.kbx", если только этот файл уже не существует, в этом случае он также будет использоваться для ключей OpenPGP.

Обратите внимание, что в случае, если существуют оба файла, "pubring.gpg" и "pubring.kbx", но последний не содержит ключей OpenPGP, будет использоваться устаревший файл "pubring.gpg". Будьте осторожны: версии GnuPG до 2.1 всегда будут использовать файл "pubring.gpg", потому что они не знают о новом формате keybox. Если вам нужно использовать GnuPG 1.4 для расшифровки архивных данных, вам следует сохранить этот файл.

~/.gnupg/pubring.gpg.lock

Файл блокировки для публичного кольца ключей.

~/.gnupg/pubring.kbx

Публичный кольцо ключей в новом формате keybox. Этот файл используется совместно с gpgsm. Рекомендуется создать резервную копию этого файла. См. выше для связи между этим файлом и его предшественником.

Чтобы преобразовать существующий файл "pubring.gpg" в формат keybox, сначала сделайте резервную копию значений ownertrust, затем переименуйте "pubring.gpg" в "publickeys.backup", чтобы его не распознавали какие-либо версии GnuPG, запустите import, а затем восстановите значения ownertrust:

$ cd ~/.gnupg
$ gpg --export-ownertrust >otrust.lst
$ mv pubring.gpg publickeys.backup
$ gpg --import-options restore --import publickeys.backup
$ gpg --import-ownertrust otrust.lst

~/.gnupg/pubring.kbx.lock

Файл блокировки для "pubring.kbx".

~/.gnupg/secring.gpg

Устаревший секретный кольцо ключей, используемый версиями GnuPG до 2.1. Он не используется GnuPG 1 и более поздними версиями. Возможно, вам стоит сохранить его, если вам нужно будет использовать GnuPG 1.4 для расшифровки архивных данных.


~/.gnupg/secring.gpg.lock
Файл блокировки для устаревшего секретного кольца ключей.

~/.gnupg/.gpg-v21-migrated
Файл, указывающий на то, что выполнена миграция в GnuPG 2.1.

~/.gnupg/trustdb.gpg
База данных доверия. Нет необходимости создавать резервную копию этого файла; лучше создать резервную копию значений ownertrust (см.: [опция --export-ownertrust]).

~/.gnupg/trustdb.gpg.lock
Файл блокировки для базы данных доверия.

~/.gnupg/random_seed
Файл, используемый для сохранения состояния внутреннего пула случайных чисел.

~/.gnupg/openpgp-revocs.d/
Это каталог, в котором gpg хранит предварительно сгенерированные сертификаты отзыва. Имя файла соответствует отпечатку OpenPGP соответствующего ключа. Рекомендуется создать резервную копию этих сертификатов и, если основной приватный ключ не хранится на диске, переместить их на внешнее устройство хранения. Любой, у кого есть доступ к этим файлам, может отозвать соответствующий ключ. Возможно, вы захотите распечатать их. Вам следует создать резервную копию всех файлов в этом каталоге и позаботиться о том, чтобы эта резервная копия хранилась в безопасном месте.

Работа контролируется дополнительно несколькими переменными окружения:

HOME
Используется для определения местоположения каталога по умолчанию.

GNUPGHOME
Если установлена, используется указанная директория вместо "\~/.gnupg".

GPG_AGENT_INFO
Эта переменная устарела; она использовалась в версиях GnuPG до 2.1.

PINENTRY_USER_DATA
Это значение передается через gpg-agent в pinentry. Это полезно для передачи дополнительной информации в пользовательский pinentry.

COLUMNS
LINES
Используются для изменения размера некоторых дисплеев до полного размера экрана.

LANGUAGE
Помимо использования в GNU, она используется в версии для W32 для переопределения выбора языка, выполненного через реестр. Если используется и задано допустимое и доступное имя языка (langid), файл с переводом загружается из gpgdir/gnupg.nls/langid.mo. Здесь gpgdir — каталог, из которого загружена двоичная программа gpg. Если это не удается, выполняется попытка загрузки из реестра, и в крайнем случае используется системная локаль Windows.

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

GNUPG_EXEC_DEBUG_FLAGS
Эта переменная позволяет включить диагностику для управления процессами. Ожидается числовое десятичное значение. Бит 0 включает общую диагностику, бит 1 включает определенные предупреждения в Windows.

При вызове компонента gpg-agent gpg отправляет набор переменных окружения в gpg-agent. Имена этих переменных можно получить с помощью команды:

gpg-connect-agent 'getinfo std_env_names' /bye | awk '$1=="D" {print $2}'

ПРИМЕЧАНИЯ

gpg часто используется в качестве серверной части другими программами. Для облегчения этого определен машинный интерфейс для обеспечения однозначного способа его использования. Опции --status-fd и --batch почти всегда требуются для этого.

Программное использование GnuPG

Пожалуйста, рассмотрите возможность использования GPGME вместо прямого вызова gpg. GPGME предлагает стабильный, независимый от платформы интерфейс для многих криптографических операций. Он поддерживает OpenPGP и S/MIME, а также позволяет взаимодействовать с различными компонентами GnuPG.

GPGME предоставляет C-API и поставляется с привязками для C++, Qt и Python. Привязки для других языков также доступны.

Временные домашние каталоги

Иногда вам нужно ограничить влияние какой-либо операции, например, вы хотите импортировать ключ для его проверки, но не хотите, чтобы этот ключ был добавлен в вашу кольцевую базу ключей. В более ранних версиях GnuPG можно было указать альтернативные файлы кольцевой базы ключей для публичных и приватных ключей. Однако в современных версиях GnuPG мы изменили способ хранения приватных ключей, чтобы лучше защитить их, и сохранить этот интерфейс было невозможно.

Предпочтительный способ сделать это — использовать временные домашние каталоги. Этот метод работает во всех версиях GnuPG.

Создайте временный каталог, создайте (или скопируйте) конфигурацию, соответствующую вашим потребностям, и укажите gpg использовать этот каталог либо с помощью переменной среды GNUPGHOME, либо с помощью опции --homedir. GPGME также поддерживает это для каждого контекста, путем изменения информации о движке контекстов. Теперь выполните любую операцию, импортируйте и экспортируйте ключевые материалы по мере необходимости. После завершения вы можете удалить каталог. Все запущенные серверные процессы GnuPG обнаружат это и завершат свою работу.

Интерфейс быстрого управления ключами

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

Неинтерактивная генерация ключей

Команда --generate-key может использоваться вместе с опцией --batch для неинтерактивной генерации ключей. Это самый гибкий способ генерации ключей, но и самый сложный. Рассмотрите возможность использования интерфейса быстрого управления ключами, описанного в предыдущем подразделе «Интерфейс быстрого управления ключами».

Параметры для ключа либо считываются из стандартного ввода, либо передаются в виде файла в командной строке. Формат файла параметров следующий: только текст, длина строки ограничена примерно 1000 символами. Для указания не-ASCII символов необходимо использовать кодировку UTF-8. Пустые строки игнорируются. Ведущие и замыкающие пробелы игнорируются. Строка, начинающаяся с символа решетки (#), является комментарием. Операторы управления обозначаются знаком процента (%) в начале, их аргументы отделяются пробелами от ключевого слова. Параметры указываются ключевым словом, за которым следует двоеточие; аргументы разделяются пробелами. Первый параметр должен быть «Key-Type», но операторы управления могут быть размещены в любом месте. Порядок параметров не имеет значения, за исключением «Key-Type». Параметры используются только для сгенерированного блока ключей (основной и дополнительные ключи); параметры из предыдущих наборов не используются. Некоторые синтаксические проверки могут выполняться. Генерация ключа завершается, когда достигается конец файла параметров, встречается следующий параметр «Key-Type» или встречается оператор управления «%commit».


Операторы управления:

%echo text

Выводит текст в качестве диагностического сообщения.

%dry-run

Подавляет фактическую генерацию ключа (полезно для проверки синтаксиса).

%commit

Выполняет генерацию ключа. Обратите внимание, что неявное подтверждение выполняется при следующем параметре.

%pubring filename

Не записывает ключ в файл кольца ключей по умолчанию или указанный в командной строке, а записывает в файл с именем filename. Это необходимо указать перед первой операцией подтверждения, повторное указание одного и того же имени файла игнорируется, последний указанный файл до подтверждения используется. Имя файла используется до тех пор, пока не будет указано новое имя файла (в точках подтверждения), и все ключи записываются в этот файл. Если указано новое имя файла, этот файл создается (и перезаписывает существующий).

См. предыдущий подраздел «Временные домашние каталоги» для получения более надежного способа ограничения побочных эффектов.

%secring filename

Этот параметр не действует в GnuPG 2.1 и более поздних версиях.

См. предыдущий подраздел «Временные домашние каталоги».

%ask-passphrase
%no-ask-passphrase

Этот параметр не действует, начиная с версии GnuPG 2.1.

%no-protection

Использование этого параметра позволяет создавать ключи без защиты парольной фразой. Этот параметр предназначен в основном для регрессионных тестов.

%transient-key

Если указано, ключи создаются с использованием более быстрого и несколько менее безопасного генератора случайных чисел. Этот параметр можно использовать для ключей, которые используются только в течение короткого времени и не требуют полной криптографической защиты. Он действует только в сочетании с оператором управления «%no-protection».

Общие параметры:

Key-Type: algo

Начинает новый блок параметров, указывая тип первичного ключа. Алгоритм должен быть способен выполнять подпись. Это обязательный параметр. algo может быть либо номером алгоритма OpenPGP, либо строкой с именем алгоритма. Специальное значение «default» можно использовать для algo, чтобы создать ключ типа по умолчанию; в этом случае «Key-Usage» не должен быть указан, и «default» также должен использоваться для «Subkey-Type».

Key-Length: nbits

Запрашиваемая длина генерируемого ключа в битах. Значение по умолчанию возвращается при выполнении команды «gpg --gpgconf-list». Для ECC-ключей этот параметр игнорируется.

Key-Curve: curve

Запрашиваемая эллиптическая кривая для генерируемого ключа. Это обязательный параметр для ECC-ключей. Он игнорируется для не-ECC-ключей.

Key-Grip: hexstring

Это необязательный параметр и используется для генерации CSR или сертификата для уже существующего ключа. Key-Length игнорируется при указании этого параметра.

Key-Usage: usage-list

Список допустимых вариантов использования, разделенный пробелами или запятыми. Допустимые значения: «encrypt», «sign» и «auth». Это используется для генерации флагов ключа. Убедитесь, что алгоритм способен выполнять эти действия. Обратите внимание, что OpenPGP требует, чтобы все первичные ключи могли выполнять сертификацию, поэтому, независимо от того, какой вариант использования указан здесь, флаг «cert» будет установлен. Если «Key-Usage» не указан, а «Key-Type» не равен «default», используются все разрешенные варианты использования для данного алгоритма; если он не указан, но используется «default», то используется вариант «sign».


Subkey-Type: algo

Генерирует вторичный ключ (subkey). В настоящее время может быть обработан только один subkey. См. также «Key-Type» выше.

Subkey-Length: nbits

Длина вторичного ключа (subkey) в битах. По умолчанию используется значение, возвращаемое командой «gpg --gpgconf-list».

Subkey-Curve: curve

Кривая для subkey; аналогично «Key-Curve».

Subkey-Usage: usage-list

Списки использования ключа для subkey; аналогично «Key-Usage».

Passphrase: string

Если вы хотите указать парольную фразу для секретного ключа, введите ее здесь. По умолчанию используется диалоговое окно Pinentry для запроса парольной фразы.

Name-Real: name
Name-Comment: comment
Name-Email: email

Три части имени пользователя. Помните, что здесь следует использовать кодировку UTF-8. Если вы не укажете ни одну из них, идентификатор пользователя не будет создан.

Expire-Date: iso-date|(number[d|w|m|y])

Установите дату истечения срока действия ключа (и subkey). Она может быть указана в формате ISO (например, «20000815T145012») или в виде количества дней, недель, месяцев или лет после даты создания. Также разрешено специальное обозначение «seconds=N» для указания количества секунд с момента создания. Без буквы предполагается, что указано количество дней. Обратите внимание, что проверка на переполнение типа, используемого OpenPGP для временных меток, не выполняется. Таким образом, вам следует убедиться, что указанное значение имеет смысл. Хотя OpenPGP работает с временными интервалами, GnuPG использует внутренне абсолютное значение, и, следовательно, последний год, который мы можем представить, — 2105.

Creation-Date: iso-date

Установите дату создания ключа, которая хранится в информации о ключе и является частью расчета отпечатка. Можно использовать дату, например «1986-04-26», или полную временную метку, например «19860426T042640». Время считается UTC. Специальное обозначение «seconds=N» можно использовать для непосредственного указания количества секунд, прошедших с эпохи (Unix time). Если оно не указано, используется текущее время.

Preferences: string

Установите значения предпочтения для шифра, хэша и сжатия для этого ключа. Ожидается строка того же типа, что и в подкоманде «setpref» в меню «--edit-key».

Revoker: algo:fpr [sensitive]

Добавьте назначенного отзывающего для сгенерированного ключа. Algo — это алгоритм открытого ключа назначенного отзывающего (например, RSA=1, DSA=17 и т. д.). fpr — это отпечаток назначенного отзывающего. fpr не должен содержать пробелов или двоеточий. Необязательный флаг «sensitive» отмечает назначенного отзывающего как конфиденциальную информацию. Только ключи версий 4 и 5 могут быть назначенными отзывающими.


Keyserver: string

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

Handle: string

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

Вот пример того, как создать ключ во временном домашнем каталоге: $ export GNUPGHOME="$(mktemp -d)" $ cat >foo <<EOF %echo Generating a basic OpenPGP key Key-Type: DSA Key-Length: 1024 Subkey-Type: ELG-E Subkey-Length: 1024 Name-Real: Joe Tester Name-Comment: with stupid passphrase Name-Email: _ Expire-Date: 0 Passphrase: abc # Do a commit here, so that we can later print "done" :-) %commit %echo done EOF $ gpg --batch --generate-key foo [...] $ gpg --list-secret-keys /tmp/tmp.0NQxB74PEf/pubring.kbx ------------------------------sec dsa1024 2016-12-16 [SCA] 768895903FC1C44045C8CB95EEBDB71E9E849D0 uid [ultimate] Joe Tester (with stupid passphrase) <_> ssb elg1024 2016-12-16 [E]

Если вы хотите создать ключ с использованием алгоритмов по умолчанию, используйте следующие параметры: %echo Generating a default key Key-Type: default Subkey-Type: default Name-Real: Joe Tester Name-Comment: with stupid passphrase Name-Email: _ Expire-Date: 0 Passphrase: abc # Do a commit here, so that we can later print "done" :-) %commit %echo done

ОШИБКИ

В старых системах эта программа должна быть установлена с правами setuid(root). Это необходимо для блокировки страниц памяти. Блокировка страниц памяти предотвращает запись операционной системой страниц памяти (которые могут содержать пароли или другие конфиденциальные данные) на диск. Если вы не получаете предупреждающее сообщение о небезопасной памяти, ваша операционная система поддерживает блокировку без прав root. Программа отбрасывает права root, как только выделяется заблокированная память.

Обратите внимание, что некоторые системы (особенно ноутбуки) имеют возможность переходить в спящий режим на диске'' (также известны какбезопасный сон'' или ``гибернация''). Это записывает всю память на диск, прежде чем перейти в режим пониженного энергопотребления или даже выключиться. Если в операционной системе не приняты меры для защиты сохраненной памяти, пароли или другие конфиденциальные данные могут быть восстановлены из нее позже.

Прежде чем сообщать об ошибке, сначала поищите в архивах списков рассылки аналогичные проблемы и, во-вторых, проверьте, не была ли такая ошибка уже сообщена в нашем трекере ошибок по адресу https://bugs.gnupg.org.

СМОТРИТЕ ТАКЖЕ

gpgv(1), gpgsm(1), gpg-agent(1)

Полная документация для этой утилиты поддерживается в виде руководства Texinfo. Если GnuPG и программа info установлены правильно в вашей системе, команда

info gnupg

должна предоставить вам доступ к полному руководству, включая структуру меню и индекс.