Следующий: Установка [Содержание][Указатель]
Это Руководство по Охране приватности GNU (версия 2.1.22-beta59, июнь 2017).
© 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation,
Inc.
© 2013, 2014, 2015 Werner Koch.
© 2015 g10 Code GmbH.
© 2017 Ineiev (Russian translation)
Разрешается копировать, распространять и модифицировать этот документ на условиях Стандартной общественной лицензии GNU в том виде, в каком она опубликована Фондом свободного программного обеспечения; либо версии 3 этой лицензии, либо (по вашему выбору) любой более поздней версии. Текст лицензии находится в разделе, озаглавленном «Copying».
В этом руководстве описывается пользование системой Охраны приватности GNU (GNU Privacy Guard, GnuPG), а также ее администрирование и архитектура.
• Установка: | Краткое руководство по установке. | |
• Вызов GPG-AGENT: | Запуск демона секретных ключей. | |
• Вызов DIRMNGR: | Запуск демона CRL и OCSP. | |
• Вызов GPG: | Пользование протоколом OpenPGP. | |
• Вызов GPGSM: | Пользование протоколом S/MIME. | |
• Вызов SCDAEMON: | Работа с электронными картами. | |
• Идентификаторы пользователя: | Как задать идентификатор пользователя. | |
• Вспомогательные средства: | Описание небольших вспомогательных средств. | |
• Памятки: | Как делать то или иное. | |
• Заметки о системах: | Заметки, касающиеся определенных ОС. | |
• Отладка: | Как решать проблемы. | |
• Copying: | GNU GPL: лицензионное соглашение GnuPG. | |
• Соразработчики: | Люди, которые внесли вклад в GnuPG. | |
• Термины и сокращения: | Краткие определения используемых терминов. | |
• Указатель параметров: | Указатель параметров командной строки. | |
• Указатель среды: | Указатель переменных среды и файлов. | |
• Указатель: | Указатель понятий и символов. |
Следующий: Вызов GPG-AGENT, Вверх: Верх [Содержание][Указатель]
К сожалению, инструкция по установке не была написана в срок. Вместо того
чтобы еще дальше отложить выпуск GnuPG 2.0, я решил выпустить его без этой
инструкции. В главах о gpg-agent
и gpgsm
краткие
сведения по общей установке есть. Следите, пожалуйста, за обновлением
документации на сайте GnuPG. Между тем можно искать в архивах списка
рассылки или обращаться в список рассылки gnupg-users за советами по решению
проблем или по установке и настройке всего этого.
** Сборка программ
Сборка программ описана в файле INSTALL. Считая, что вы уже читали эту документацию, мы можем дать только несколько дополнительных наставлений.
В соответствии с правилами систем GNU вам следует настроить сборку
gnupg
командой:
./configure --sysconfdir=/etc --localstatedir=/var
Таким образом, общесистемные файлы находятся в каталоге /etc, а временные данные в каталоге /var; по умолчанию они устанавливались бы в /usr/local, где устанавливаются и исполняемые файлы. Если бы вы выбрали --prefix=/, вам, очевидно, эти параметры не понадобились бы, потому что они тогда бы подразумевались.
** Заметки по объявлению корневого ключа удостоверяющего центра доверенным
X.509 основан на иерархической инфраструктуре ключей. В корне дерева должна быть доверенная точка (корневой сертификат). Обычно проверить этот корневой сертификат можно, только заглянув в список. GnuPG использует файл (trustlist.txt), чтобы отслеживать все известные корневые сертификаты. Сертификаты в этот список можно поместить тремя способами:
gpgsm
спрашивать вас, хотите ли вы добавить новый
корневой сертификат. По умолчанию эта функция включена; ее можно выключить с
помощью параметра no-allow-mark-trusted в файле
gpg-agent.conf.
Следующий: Вызов DIRMNGR, Пред: Установка, Вверх: Верх [Содержание][Указатель]
gpg-agent
— демон (программа фонового режима) для управления
секретными ключами независимо от протокола. Он применяется как служебная
программа для gpg
и gpgsm
, а также пары других утилит.
Программа автоматически запускается по мере необходимости программами
gpg
, gpgsm
, gpgconf
или
gpg-connect-agent
. Таким образом, запускать ее вручную не
нужно. Если вы хотите пользоваться агентом SSH в составе этой программы, вы
можете запустить ее командой:
gpg-connect-agent /bye
Если вам нужно вручную остановить работающий агент, это можно безопасно сделать командой:
gpgconf --kill gpg-agent
У вас в файле инициализации командного интерпретатора (таком, как
.bashrc
) всегда должны быть команды:
GPG_TTY=$(tty) export GPG_TTY
Важно, чтобы эти переменные среды всегда отражали вывод команды
tty
. Для систем W32 это не требуется.
Позаботьтесь о том, чтобы подходящая программа ввода пароля была установлена в файле с принятым в данной системе именем, или воспользуйтесь параметром pinentry-program для указания полного имени этой программы. Нередко бывает полезно завести символическую ссылку от настоящей программы ввода пароля (напр., /usr/local/bin/pinentry-gtk) к ожидаемой (напр., /usr/local/bin/pinentry).
Указатель параметров содержит список команд и параметров
GPG-AGENT
.
• Команды агента: | Список всех команд. | |
• Параметры агента: | Список всех параметров. | |
• Настройки агента: | Файлы настроек. | |
• Сигналы агента: | Пользование некоторыми сигналами. | |
• Примеры с агентом: | Некоторые примеры вызова. | |
• Протокол агента: | Протокол, применяемый в агенте. |
Следующий: Параметры агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
Команды отличаются от параметров только тем, что в вызове допустима только одна команда (если в описании команды не указано иное).
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help
-h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя сокращать (напр., как --hel).
--dump-options
Вывести список всех имеющихся параметров и команд. Эту команду нельзя сокращать (напр., как --dump-option).
--server
Работать в серверном режиме и ожидать команд из стандартного потока ввода. В исходном режиме создается сокет, из которого принимаются команды.
--daemon [командная строка]
Запустить gpg-agent
в виде демона, т.е. отвязать его от консоли и
выполнять в фоновом режиме.
В качестве альтернативы можно создавать новый процесс как дочерний процесс
gpg-agent
: gpg-agent --daemon /bin/sh
. Таким образом вы
получаете новый командный интерпретатор с настроенной должным образом
средой; после выхода из этого командного интерпретатора gpg-agent
завершается в пределах нескольких секунд.
--supervised
Работать на переднем плане, отправляя протокол работы по умолчанию в стандартный поток ошибок и прослушивая заданные файловые дескрипторы, которые должны уже быть привязаны к действующим сокетам. Эта команда полезна при работе из systemd и тому подобных механизмов контроля процессов. Этот параметр не поддерживается под Windows.
В режиме --supervised можно задавать разные файловые дескрипторы
для сокетов разных типов (напр., ssh, extra), когда они идентифицируются
переменными среды LISTEN_FDNAMES
(подробнее см. sd_listen_fds(3) в
некоторых дистрибутивах GNU/Linux).
Следующий: Настройки агента, Пред: Команды агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
--options файл
Считывать настройки из указанного файла вместо исходного файла настроек пользователя. Исходный файл настроек называется gpg-agent.conf и находится в каталоге .gnupg непосредственно в домашнем каталоге пользователя.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
-v
--verbose
Выводит во время работы дополнительную информацию. Объем информации можно увеличивать, вводя параметр несколько раз, например, ‘-vv’.
-q
--quiet
Стараться выводить на экран как можно меньше.
--batch
Не вызывать программу ввода пароля и не делать ничего, что требует вмешательства человека.
--faked-system-time момент
Этот параметр полезен только для тестирования; он переводит системное время к моменту, заданному аргументом в виде количества секунд с начала 1970 года.
--debug-level уровень
Выбрать уровень отладки для расследования проблем. Уровень может задаваться числом или словом:
none
Никаких отладочных сообщений. Соответствует значениям, меньшим 1.
basic
Некоторые простые отладочные сообщения. Соответствует значениям от 1 до 2.
advanced
Более подробные отладочные сообщения. Соответствует значениям от 3 до 5.
expert
Еще более подробные сообщения. Соответствует значениям от 6 до 8.
guru
Все отладочные сообщения, какие только есть. Соответствует значениям, большим 8.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
--debug признаки
Этот параметр полезен только для отладки, его действие может измениться в любое время без предупреждения. Признаки кодируются побитово, их можно задавать в обычном синтаксисе Си. В настоящее время определены биты:
0 (1)
данные, связанные с протоколами X.509 или OpenPGP
1 (2)
значения длинных чисел
2 (4)
криптографические операции низкого уровня
5 (32)
выделение памяти
6 (64)
буферизация
7 (128)
показать статистику памяти
9 (512)
записывать хeшируемые данные в файлы с именами dbgmd-000*
10 (1024)
отслеживать протокол Assuan
12 (4096)
пропустить все проверки сертификатов
--debug-all
То же, что --debug=0xffffffff
--debug-wait n
При работе в серверном режиме подождать указанное число секунд перед входом в цикл обработки и выводить идентификатор процесса. За это время можно подключить отладчик.
--debug-quick-random
Этот параметр отменяет сверхвысокий уровень качества случайных чисел
(GCRY_VERY_STRONG_RANDOM
из Libgcrypt) и снижает его до обычного
качества случайных чисел. Используется только для испытаний и никогда не
должен применяться при создании ключей, предназначенных для реального
пользования. Этот параметр действует только из командной строки.
Под GNU/Linux есть другой способ быстрого создания некачественных ключей:
воспользоваться командой rngd
для заполнения резервуара энтропии
ядра случайными данными низкого качества. Команда rngd
обычно
входит в пакет rng-tools
. Ее можно вызвать так: ‘sudo rngd -f
-r /dev/urandom’.
--debug-pinentry
Этот параметр включает дополнительную отладочную информацию, относящуюся к
программе ввода пароля. На настоящий момент полезен только вместе с
--debug 1024
.
--no-detach
Не отрывать процесс от терминала. Полезно главным образом для отладки.
-s
--sh
-c
--csh
Форматировать выходную информацию в режиме демона для применения в
стандартном интерпретаторе Борна и Си-образном соответственно. По умолчанию
выставляется по переменной среды SHELL
, в большинстве случаев
правильно.
--no-grab
Запретить команде ввода пароля перехватывать клавиатуру и мышь. Этот параметр обычно не следует использовать, чтобы предотвратить перекрестное прослушивание.
--log-file файл
Дописывать весь протокол работы в указанный файл. Это очень полезно, когда
нужно понять, что же программа делает. Укажите socket://, если нужно
протоколировать в сокет. Если на платформе Windows не задан ни файл, ни
файловый дескриптор для протокола работы, используется пункт реестра
HKCU\Software\GNU\GnuPG:DefaultLogFile
, если он существует.
--no-allow-mark-trusted
Не позволять программам-клиентам помечать ключи как доверенные, т.е. помещать их в файл trustlist.txt. Это мешает пользователям нечаянно принимать корневые сертификаты удостоверяющих центров.
--allow-preset-passphrase
Параметр позволяет применять gpg-preset-passphrase
для заполнения
внутреннего буфера gpg-agent
фразами-паролями.
--no-allow-loopback-pinentry
--allow-loopback-pinentry
Запретить или позволить программам-клиентам пользоваться функциями обратного вызова программы ввода пароля; подробнее см. параметр --pinentry-mode. В исходном состоянии позволено.
Этот параметр управляет также параметром --force команды Assuan
DELETE_KEY
: параметр --force игнорируется, если обратный
вызов запрещен.
--no-allow-external-cache
Выключить в программе ввода паролей функции, которые задействуют внешний буфер фраз-паролей.
Некоторые рабочие среды предпочитают защищать все верительные данные единым генеральным паролем; в них может быть установлена программа ввода пароля, в которой для реализации такого режима задействуется внешний буфер. Если задан этот параметр, программе ввода паролей передается указание не применять такой буфер, а вместо этого все время запрашивать фразу-пароль у пользователя.
--allow-emacs-pinentry
Позволить программе ввода паролей перенаправлять ввод фразы-пароля в работающий экземпляр Emacs. Как в точности это происходит, зависит от версии программы ввода паролей.
--ignore-cache-for-signing
Этот параметр позволяет gpg-agent
обходить буфер фраз-паролей для
всех операций подписи. Обратите внимание, что есть также сеансовый параметр
для управления этой особенностью, но параметр командной строки его отменяет.
--default-cache-ttl n
Установить срок действия буферной записи равным n секундам. Исходное значение — 600 секунд. Секундомер записи обнуляется при каждом доступе к ней. Для задания максимального срока действия записи пользуйтесь --max-cache-ttl.
--default-cache-ttl-ssh n
Установить срок действия буферной записи для ключей SSH равным n секундам. Исходное значение — 1800 секунд. Секундомер записи обнуляется при каждом доступе к ней. Для задания максимального срока действия записи пользуйтесь --max-cache-ttl-ssh.
--max-cache-ttl n
Установить максимальный срок действия буферной записи равным n
секундам. После этого срок действия буферной записи истекает, даже если к
ней недавно обращались или она была заполнена с помощью
gpg-preset-passphrase
. Исходное значение — 2 часа (7200 секунд).
--max-cache-ttl-ssh n
Установить максимальный срок действия буферной записи для ключей SSH равным
n секундам. После этого срок действия буферной записи истекает, даже
если к ней недавно обращались или она была заполнена с помощью
gpg-preset-passphrase
. Исходное значение — 2 часа (7200 секунд).
--enforce-passphrase-constraints
Соблюдать ограничения на фразы-пароли, не позволяя пользователю обходить их с помощью кнопки «Все равно принять».
--min-passphrase-len n
Задать минимальную длину пароля. При вводе новой фразы-пароля, длина которой меньше этого значения, будет выводиться предупреждение. Исходное значение равно 8.
--min-passphrase-nonalpha n
Установить минимальное число цифр или специальных символов, требуемое для фразы-пароля. При вводе новой фразы-пароля, в которой число таких знаков меньше этого значения, будет выводиться предупреждение. Исходное значение равно 1.
--check-passphrase-pattern файл
Проверять фразу-пароль по шаблонам, заданным в указанном файле. При вводе новой фразы-пароля, соответствующей одному из этих шаблонов, будет выводиться предупреждение. Аргумент должен быть абсолютным путем до файла. По умолчанию никакой файл шаблонов не используется.
Замечание по безопасности: известно, что проверка фразы-пароля по списку шаблонов и даже по полному словарю не очень действенна для принудительного выбора хороших фраз-паролей. Пользователи быстро выясняют, как обходить такой режим. Лучше воспитывать в пользователях хорошие привычки безопасности и факультативно пропускать фразы-пароли пользователей через взломщик паролей, чтобы отловить самые слабые из них.
--max-passphrase-days n
Предлагать пользователю сменить фразу-пароль через n дней после последней смены. С параметром --enforce-passphrase-constraints это принуждает пользователя к смене фразы-пароля.
--enable-passphrase-history
Этот параметр пока никак не действует.
--pinentry-invisible-char знак
Этот параметр указывает программе ввода пароля пользоваться заданным знаком для отображения скрытых символов. Это может быть один символ или строка UTF-8. Программа ввода паролей может учитывать, а может не учитывать этот запрос.
--pinentry-timeout n
Параметр указывает программе ввода пароля предельное время ожидания ввода со стороны пользователя в секундах. Исходное значение равно 0, т.е. программе ввода паролей не передается таких указаний, однако в ней может быть свое исходное значение. Программа ввода паролей может учитывать, а может не учитывать этот запрос.
--pinentry-program программа
Использовать указанную программу в качестве программы ввода пароля. Исходное значение определяется во время установки. При исходных настройках исходное имя программы — pinentry; если такой программы не существует, но есть pinentry-basic, то используется последняя.
На платформе Windows по умолчанию используется первая существующая программа из списка: bin\pinentry.exe, ..\Gpg4win\bin\pinentry.exe, ..\Gpg4win\pinentry.exe, ..\GNU\GnuPG\pinentry.exe, ..\GNU\bin\pinentry.exe, bin\pinentry-basic.exe, где пути до файлов даны относительно каталога, в котором установлен GnuPG.
--pinentry-touch-file имя файла
По умолчанию имя файла сокета, из которого gpg-agent
принимает
запросы, передается в программу ввода пароля, так что она может обновить
времена доступа этого файла перед выходом (она делает этот только в режиме
curses). Этот параметр задает файл, передаваемый в программу ввода
пароля. Специальное имя /dev/null
можно применять, чтобы полностью
отключить эту особенность. Обратите внимание, что программа ввода пароля не
будет создавать этот файл, она только изменит времена изменения и доступа.
--scdaemon-program программа
Использовать указанную программу в качестве демона электронных
карт. Исходное значение определяется при установке и может быть показано
командой gpgconf
.
--disable-scdaemon
Не пользоваться средством scdaemon. Этот параметр отключает возможность операций с электронными картами. Обратите внимание, что задание этого параметра во время выполнения не приводит к завершению уже работающего средства scdaemon.
--disable-check-own-socket
Программа gpg-agent
периодически производит самопроверку для
обнаружения кражи сокетов. Обычно это значит, что сокет захватил другой
экземпляр gpg-agent
; в этом случае gpg-agent
самозавершится. Этим параметром можно отключать такую самопроверку в целях
отладки.
--use-standard-socket
--no-use-standard-socket
--use-standard-socket-p
Начиная с GnuPG 2.1, всегда применяются стандартные сокеты. Эти параметры
больше не действуют. Таким образом, команда gpg-agent
--use-standard-socket-p
всегда возвращает код успешного завершения.
--display строка
--ttyname строка
--ttytype строка
--lc-ctype строка
--lc-messages строка
--xauthority строка
Эти параметры применяются в режиме сервера для передачи сведений о локализации программ.
--keep-tty
--keep-display
Не учитывать запросы на смену текущего tty
и переменной
DISPLAY
системы X Window соответственно. Это полезно для замыкания
программы ввода пароля на терминале или дисплее, в котором вы запустили
gpg-agent
.
--extra-socket имя
По умолчанию создается дополнительный сокет; этим параметром можно пользоваться, чтобы изменить его имя. Чтобы отменить создание сокета, задайте в качестве аргумента имя «none» или «/dev/null» .
Принимать дополнительно подключения gpg-agent
по заданному
сокету. Этот дополнительный сокет предназначен для того, чтобы установить
перенаправление сокета домена Unix из удаленной машины на этот сокет
локальной машины. Работающий на этой удаленной машине gpg
может
тогда подключаться к локальному gpg-agent
и пользоваться его
секретными ключами. Это позволяет расшифровывать или подписывать данные на
удаленной машине, не выставляя там секретные ключи.
--enable-extended-key-format
Параметр включает создание ключей в расширенном формате секретного
ключа. Изменение фразы-пароля ключа также преобразует ключа к этому новому
формату. Применение этого параметра исключает чтение секретных ключей
версиями gpg-agent
, более ранними, чем 2.1.12. Преимущество нового
формата состоит в том, что он текстовый и может содержать дополнительные
метаданные. Обратите внимание, что этот параметр изменяет также формат
защиты ключей на OCB.
--enable-ssh-support
--enable-putty-support
Протокол агента OpenSSH всегда включен, но gpg-agent
устанавливает
переменную SSH_AUTH_SOCK
только тогда, когда задан этот параметр.
В этом режиме работы программа-агент не только реализует протокол
gpg-agent
, но также протокол программы-агента, применяемый в
OpenSSH (через отдельный сокет). Следовательно, можно пользоваться
программой gpg-agent
в качестве прямой замены широко известного
ssh-agent
.
Ключи SSH, которые используются в агенте, нужно предварительно добавить в
gpg-agent
с помощью утилиты ssh-add
. Когда добавляется
ключ, ssh-add
запрашивает пароль к заданному файлу ключа и
пересылает незащищенный материал ключа в программу-агент; поэтому
gpg-agent
запрашивает фразу-пароль, которая будет использоваться
для шифрования получаемого ключа и хранения его в специальном каталоге
gpg-agent
.
Как только ключ таким образом добавлен в gpg-agent
,
gpg-agent
готов к его использованию.
Замечание: в случае, если gpg-agent
получает запрос на подпись,
пользователю может потребоваться ввести фразу-пароль для расшифровки
сохраненного ключа. Поскольку протокол ssh-agent
лишен механизма
оповещения программы-агента о том, в каком терминале он выполняется,
поддержка SSH в gpg-agent
пользуется терминалом или дисплеем X
Window, в котором был запущен gpg-agent
. Для переключения на
текущий дисплей можно воспользоваться командой:
gpg-connect-agent updatestartuptty /bye
Хотя все компоненты GnuPG пытаются по мере необходимости запускать
gpg-agent
, при поддержке ssh
это невозможно, поскольку
ssh
не знает о gpg-agent
. Таким образом, если не
запускалось никакое средство GnuPG, которое обращалось бы к
gpg-agent
, ничто не гарантирует, что ssh
сможет
воспользоваться gpg-agent
для проверки подлинности. Чтобы это
исправить, gpg-agent
можно запустить следующей простой командой:
gpg-connect-agent /bye
Добавив --verbose, можно наблюдать за ходом запуска программы.
Параметр --enable-putty-support есть только под Windows, он
позволяет применять gpg-agent
с реализацией SSH под названием
putty
. Это сходно с обычной поддержкой ssh-agent
, но
применяется очередь сообщений Windows, как того требует putty
.
--ssh-fingerprint-digest
Выбрать алгоритм хеша для вычисления отпечатков ssh, передаваемых пользователю, например, в диалогах программы ввода пароля. В OpenSSH перешли от MD5 к более безопасному SHA256.
Все длинные параметры можно размещать в файле настроек без начальных символов «–».
Следующий: Сигналы агента, Пред: Параметры агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
Есть несколько файлов настроек, необходимых для работы программы. По умолчанию все они находятся в текущем домашнем каталоге (см. параметр --homedir).
Это основной файл настроек, который gpg-agent
считывает при
запуске. В нем могут быть любые допустимые длинные параметры; символов «–»
перед названием параметра быть не должно, сокращать параметры нельзя. Этот
файл считывается также после сигнала SIGHUP
, однако в этом случае
учитывается только несколько параметров. Это исходное имя файла можно
изменить в командной строке (см. параметр --options). Для этого файла
следует проводить резервное копирование.
Это список доверенных ключей. Для этого файла следует проводить резервное копирование.
Пустые строки и строки с комментарием, на которые указывает знак «#» в
начале, игнорируются. Чтобы пометить ключ как доверенный, нужно ввести его
отпечаток с последующим пробелом и прописной буквой S
. Для разделения
байтов отпечатка можно факультативно пользоваться двоеточиями; это позволяет
копировать отпечаток напрямую из результатов работы команд перечисления
ключей. Если в начале строки приписан «!», ключ явным образом помечается как
недоверенный.
Вот пример, в котором два ключа помечены как неограниченно доверенные, а один — как недоверенный:
# CN=Wurzel ZS 3,O=Intevation GmbH,C=DE A6935DD34EF3087973C706FC311AA2CCF733765B S # CN=PCA-1-Verwaltung-02/O=PKI-1-Verwaltung/C=DE DC:BD:69:25:48:BD:BB:7E:31:6E:BB:80:D3:00:80:35:D4:F8:A6:CD S # CN=Root-CA/O=Schlapphuete/L=Pullach/C=DE !14:56:98:D3:FE:9C:CA:5A:31:6E:BC:81:D3:11:4E:00:90:A3:44:C2 S |
Перед вводом ключа в этот файл надо удостовериться в его подлинности. Как это делается, зависит от вашей организации; возможно, ваш администратор уже ввел в этот файл те ключи, которые считаются достаточно достойными доверия. Отпечаток корневого сертификата можно проверять в письмах, полученных из удостоверяющего центра, или на сайте удостоверяющего центра (после того, как вы полностью убедились в том, что это действительно сайт данного центра). Можно подумать о том, чтобы запретить обновление этого файла с участием пользователя (см. параметр --no-allow-mark-trusted). Можно было бы даже рекомендовать установить доступ к этому файлу только на чтение, чтобы его нельзя было нечаянно изменить.
Специальная строка include-default
подключает глобальный список
доверенных сертификатов (напр.,
/usr/local/etc/gnupg/trustlist.txt). Этот глобальный список применяется
также, когда пользовательский список отсутствует.
После S
можно добавлять дополнительные признаки для вызывающего:
relax
Снижать некоторые требования при проверке корневых сертификатов. На настоящий момент этот признак позволяет пользоваться корневыми сертификатами, в которых отсутствует атрибут basicConstraints (несмотря на то, что он должен быть в сертификатах удостоверяющих центров), и отключает проверку корневого сертификата по спискам отозванных сертификатов.
cm
Если проверка сертификата с этим признаком, выданного удостоверяющим центром, не проходит, попытаться провести ее по цепочной схеме проверок.
Этот файл используется, когда включена поддержка протокола SSH (см. параметр --enable-ssh-support). В протоколе SSH используются только присутствующие в этом файле ключи. Для этого файла следует проводить резервное копирование.
Для добавления в этот файл новых записей можно применять средство
ssh-add
; их можно также добавлять вручную. Строки комментария, на
которые указывает знак «#» в начале, а также пустые строки
игнорируются. Запись начинается с необязательных пробелов с последующим
кодом ключа из 40 шестнадцатеричных цифр с последующим необязательным сроком
действия буфера в секундах и другим необязательным полем для произвольных
признаков. Ненулевой срок действия отменяет глобальное исходное значение,
задаваемое с помощью --default-cache-ttl-ssh.
Поддерживается только один признак, confirm
. Если этот признак
установлен, при каждом использовании ключа будет вызываться программа ввода
пароля для подтверждения. Признак автоматически устанавливается, если новый
ключ загружается в gpg-agent
с помощью параметра -c команды
ssh-add
.
К коду ключа можно приписывать спереди !
, чтобы отключить запись.
В следующем примере записан ровно один ключ. Обратите внимание, что ключи, полученные посредством электронной карты OpenPGP в активном устройстве чтения карт, добавляются в этот список неявно, т.е. их перечислять не нужно.
# Дата добавления ключа: 2011-07-20 20:38:46 # Отпечаток: 5e:8d:c4:ad:e7:af:6e:27:8a:d6:13:e4:79:ad:0b:81 34B62F25E277CF13D3C6BCEBFD3F85D08F0A864B 0 confirm |
Это каталог, в котором gpg-agent
хранит секретные ключи. Каждый
ключ хранится в файле с именем, составленным из кода ключа и суффикса
key. Для всех файлов в этом каталоге следует проводить резервное
копирование, тщательнейшим образом сохраняя резервные копии в надежном
месте.
Обратите внимание, что на больших системах полезно помещать заранее написанные файлы в каталог /usr/local/etc/skel/.gnupg, чтобы новые учетные записи пользователей создавались с работающими настройками. Для существующих пользователей имеется небольшая программа для создания этих файлов (см. addgnupghome).
Следующий: Примеры с агентом, Пред: Настройки агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
Работающим экземпляром gpg-agent
можно управлять посредством
сигналов, посылая их с помощью команды kill
.
Вот список поддерживаемых сигналов:
SIGHUP
Этот сигнал сбрасывает все запомненные фразы-пароли; если программа была
запущена с файлом настроек, этот файл считывается заново. Учитываются только
определенные параметры: quiet
, verbose
, debug
,
debug-all
, debug-level
, debug-pinentry
, no-grab
,
pinentry-program
, pinentry-invisible-char
,
default-cache-ttl
, max-cache-ttl
,
ignore-cache-for-signing
, no-allow-external-cache
,
allow-emacs-pinentry
, no-allow-mark-trusted
,
disable-scdaemon
и disable-check-own-socket
. Параметр
scdaemon-program
также поддерживается, но в текущей реализации, в
которой scdaemon
вызывается только один раз, пользы от этого мало,
если только вы не прервете выполнение scdaemon
вручную.
SIGTERM
Завершает выполнение процесса, но ждет, пока все текущие запросы будут выполнены. Если процесс получил такой сигнал трижды, а запросы все еще не выполнены, то процесс завершается принудительно.
SIGINT
Завершает выполнение процесса немедленно.
SIGUSR1
Вывести внутреннюю информацию в файл протокола.
SIGUSR2
Этот сигнал используется для внутренних нужд.
Следующий: Протокол агента, Пред: Сигналы агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
Важно устанавливать в командной оболочке своей учетной записи переменную
среды GPG_TTY
, например, в файле ~/.bashrc:
export GPG_TTY=$(tty) |
Если вы включили поддержку агента SSH, вам нужно также сообщить об этом
ssh
, добавив в свой сценарий инициализации:
unset SSH_AGENT_PID if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" fi |
Пред: Примеры с агентом, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
Обратите внимание: этот раздел документирует только протокол, используемый
компонентами GnuPG; он не касается протокола ssh-agent
. Полное
описание каждой команды можно получить с помощью
gpg-connect-agent 'help КОМАНДА' /bye
Если указать просто «help», выводится список всех доступных команд.
Демон gpg-agent
вызывается по мере необходимости компонентами
GnuPG.
Чтобы идентифицировать ключ, мы пользуемся так называемом кодом ключа, представляющим собой SHA-1 от S-выражения открытого ключа в канонической кодировке в том виде, в каком он используется в Libgcrypt. С точки зрения протокола код ключа представляет шестнадцатеричную строку. Преимущество кода ключа перед хeшем сертификата состоит в том, что одну и ту же пару ключей можно применять в различных протоколах, экономя тем самым пространство на электронной карте, где хранятся секретные ключи.
Программа gpg-agent
может отправлять сообщения о состоянии во
время или после выполнения команд, чтобы информировать программу-клиент о
ходе выполнения или результате операции. Например, сообщение
INQUIRE_MAXLEN может отправляться во время опроса сервера, чтобы
информировать программу-клиент о максимальном объеме запрошенных данных
(который не должен превышаться).
• PKDECRYPT агента: | Расшифровать сеансовый ключ. | |
• PKSIGN агента: | Подписать хeш. | |
• GENKEY агента: | Создать ключ. | |
• IMPORT агента: | Импортировать секретный ключ. | |
• EXPORT агента: | Экспортировать секретный ключ. | |
• ISTRUSTED агента: | Импортировать корневой сертификат. | |
• GET_PASSPHRASE агента: | Запросить фразу-пароль. | |
• CLEAR_PASSPHRASE агента: | Сбросить фразу-пароль в буфере. | |
• PRESET_PASSPHRASE агента: | Задать фразу-пароль для кода ключа. | |
• GET_CONFIRMATION агента: | Запросить подтверждение. | |
• HAVEKEY агента: | Проверить наличие ключа. | |
• LEARN агента: | Зарегистрировать электронную карту. | |
• PASSWD агента: | Сменить фразу-пароль. | |
• UPDATESTARTUPTTY агента: | Изменить дисплей. | |
• GETEVENTCOUNTER агента: | Получить счетчики событий. | |
• GETINFO агента: | Вывод сведений о процессе. | |
• OPTION агента: | Задать параметры сеанса. |
Следующий: PKSIGN агента, Вверх: Протокол агента [Содержание][Указатель]
Программа-клиент запрашивает у сервера расшифровку сеансового ключа. Зашифрованный сеансовый ключ должен содержать все сведения, необходимые для выбора подходящего секретного ключа или перенаправления на электронную карту.
SETKEY <код_ключа>
Указать серверу ключ, который должен применяться для расшифровки. Если
команда не подана, gpg-agent
может попытаться выявить ключ,
пытаясь расшифровать сообщение всеми доступными ключами.
PKDECRYPT
Агент проверяет, разрешена ли эта команда, а затем производит запрос, чтобы получить зашифрованный текст; затем программа-клиент должна послать зашифрованный текст.
S: INQUIRE CIPHERTEXT C: D (xxxxxx C: D xxxx) C: END
Обратите внимание, что сервер при чтении строк данных из программы-клиента может высылать строки состояния. Высылаются SPKI-подобные S-выражения следующей структуры:
(enc-val (<алгоритм> (<имя_параметра_1> <длинное_число>) ... (<имя_параметра_n> <длинное_число>)))
Где алгоритм представлен строкой с названием алгоритма; допустимый список алгоритмов см. в документации Libgcrypt. Имена и количество параметров зависят от алгоритма. Ошибка программой-агентом в случае несоответствия выдается.
Если расшифровка прошла успешно, расшифрованные данные выдаются в виде строк на «D».
Вот пример сеанса:
C: PKDECRYPT S: INQUIRE CIPHERTEXT C: D (enc-val elg (a 349324324) C: D (b 3F444677CA))) C: END S: # следует сеансовый ключ S: S PADDING 0 S: D (значение 1234567890ABCDEF0) S: OK decryption successful |
Строка состояния «PADDING» высылается, только если gpg-agent
знает, какого рода заполнение используется. На сегодня применяется только
значение 0, чтобы указать, что заполнение удалено.
Следующий: GENKEY агента, Пред: PKDECRYPT агента, Вверх: Протокол агента [Содержание][Указатель]
Программа-клиент запрашивает подпись данного значения хeша. Если ключ не задан, будет использован основной ключ. Чтобы задать ключ, программа-клиент сначала подает команду:
SIGKEY <код_ключа>
Это можно делать несколько раз, чтобы подписать несколькими ключами; список
сбрасывается после следующей команды PKSIGN
или RESET
. Сервер
проверяет, можно ли подписывать что-нибудь этим ключом, и выдает квитанцию
об успешной операции.
SETHASH --hash=<хeш>|<алгоритм> <шестнадцатеричная строка>
Эту команду можно применять, чтобы сообщить серверу, какие данные (<шестнадцатеричная строка>) надо подписать (обычно это хeш). Параметр <алгоритм> представляет номер алгоритма хeша в десятичной системе в нумерации Libgcrypt. Должен быть задан либо алгоритм, либо –hash=<хeш>. Допустимые значения аргумента <хeш>:
sha1
Алгоритм SHA-1
sha256
Алгоритм SHA-256
rmd160
Алгоритм RIPE-MD160
md5
Старый взломанный алгоритм MD5
tls-md5sha1
Комбинированный алгоритм, применяемый в протоколе TLS.
Сама подпись производится командой:
PKSIGN <параметры>
Параметры пока не определены, но впоследствии могут применяться для выбора
различных алгоритмов. Затем gpg-agent
проводит некоторые проверки,
запрашивает фразу-пароль, и в результате сервер возвращает подпись в виде
SPKI-подобного S-выражения в строках на «D»:
(sig-val (<алгоритм> (<имя_параметра_1> <длинное_число>) ... (<имя_параметра_n> <длинное_число>)))
На работу влияет параметр
OPTION use-cache-for-signing=0|1
Исходное значение, 1
, означает пользование буфером. Установка этого
параметра в 0
приведет к тому, что gpg-agent
станет
игнорировать буфер фраз-паролей. Обратите внимание, что есть также
глобальный параметр командной строки gpg-agent
, который позволяет
глобально выключать буферы.
Вот пример сеанса:
C: SIGKEY <код_ключа> S: OK key available C: SIGKEY <код_ключа> S: OK key available C: PKSIGN S: # Здесь запрос подтверждения подписи у пользователя S: # Здесь запрос фразы-пароля у пользователя S: INQUIRE HASHVAL C: D ABCDEF012345678901234 C: END S: # далее подпись S: D (sig-val rsa (s 45435453654612121212)) S: OK |
Следующий: IMPORT агента, Пред: PKSIGN агента, Вверх: Протокол агента [Содержание][Указатель]
Используется для создания новой пары ключей и сохранения секретного ключа в активной личной среде безопасности (в большинстве случаев это набор файлов). Параметр, который пока не определен, позволяет выбрать местоположение среды безопасности. Чтобы получить секретный ключ из личной среды безопасности, нужно пользоваться специальным средством экспорта.
GENKEY [--no-protection] [--preset] [<cache_nonce>]
Вызывает процесс создания ключа; сервер запросит параметры создания:
S: INQUIRE KEYPARM C: D (genkey (rsa (nbits 1024))) C: END
Формат параметров ключа зависит от алгоритма:
(genkey (алгоритм (имя_параметра_1 ....) .... (имя_параметра_n ....)))
Если все в норме, сервер возвращает открытый ключ в SPKI-подобном S-выражении вида:
(public-key (rsa (n <длинное_число>) (e <длинное_число>)))
Вот пример сеанса:
C: GENKEY S: INQUIRE KEYPARM C: D (genkey (rsa (nbits 1024))) C: END S: D (public-key S: D (rsa (n 326487324683264) (e 10001))) S OK key created |
Параметром --no-protection можно пользоваться, чтобы предотвратить запрос фразы-пароля для защиты секретного ключа и оставить секретный ключ незащищенным. Параметр --preset добавляет фразу-пароль в буфер, используя исходные параметры буфера.
Параметром --inq-passwd можно пользоваться для создания ключа с
переданной фразой-паролем. При этом gpg-agent
производит запрос с
ключевым словом NEWPASSWD
для получения фразы-пароля. Этим параметром
отменяется --no-protection; однако когда программа-клиент посылает
фразу-пароль нулевой длины, это эквивалентно параметру
--no-protection.
Следующий: EXPORT агента, Пред: GENKEY агента, Вверх: Протокол агента [Содержание][Указатель]
Эта операция пока не поддерживается. Для этого следует пользоваться специализированными средствами.
В действительности такой необходимости нет, потому что мы можем ожидать, что секретные ключи, созданные третьей стороной, хранятся на электронной карте. Если мы создали ключ сами, нам не нужно его импортировать.
Следующий: ISTRUSTED агента, Пред: IMPORT агента, Вверх: Протокол агента [Содержание][Указатель]
Не реализовано.
Должно производиться дополнительными средствами.
Следующий: GET_PASSPHRASE агента, Пред: EXPORT агента, Вверх: Протокол агента [Содержание][Указатель]
На самом деле мы не импортируем корневой сертификат, а предоставляем способ проверить любой набор данных, сохраняя его хeш вместе с описанием, а также идентификатором в личной среде безопасности. Вот описание команды:
ISTRUSTED <отпечаток>
Проверить, является ли первичный ключ OpenPGP сертификата X.509 с данным отпечатком абсолютно доверенным ключом или доверенным корневым сертификатом удостоверяющего центра. Отпечаток должен задаваться шестнадцатеричной строкой (без пробелов, двоеточий и т.д. между ними) и может заполняться слева байтом 00 в случае отпечатка MD5. В ответ на это программа выдает:
OK
Ключ находится в таблице доверенных ключей.
ERR 304 (Not Trusted)
Ключ не находится в этой таблице.
Для ведения сети доверия необходим полный список доверенных ключей; таким образом, очень полезна следующая команда:
LISTTRUSTED
Возвращается список доверенных ключей по одному в строке:
S: D 000000001234454556565656677878AF2F1ECCFF P S: D 340387563485634856435645634856438576457A P S: D FEDC6532453745367FD83474357495743757435D S S: OK
Первый элемент в строке представляет шестнадцатеричный отпечаток, в котором
отпечатки MD5 дополнены слева байтом 00
, второй указывает на тип
ключа (чтобы gpg
можно было заниматься только ключами PGP). «P»
означает PGP, «S» — S/MIME. Остаток строки программа-клиент должна
игнорировать, чтобы в будущем мы могли расширять формат.
Наконец, программа-клиент может пометить ключ как доверенный:
MARKTRUSTED отпечаток "P"|"S"
Сервер выдаст пользователю запрос на подтверждение этого действия. Для этого можно использовать подобный текст:
S: INQUIRE TRUSTDESC C: D Действительно ли вы доверяете ключу с отпечатком @FPR@? C: D трам-пам-пам. C: END S: OK
Известные последовательности вида @xyz@ заменяются по таблице:
@FPR16@
Отформатировать отпечаток по правилам gpg
для ключей версии 3.
@FPR20@
Отформатировать отпечаток по правилам gpg
для ключей версии 4.
@FPR@
Выбрать для отпечатка подходящий формат.
@@
Заменяется на один знак @
.
Следующий: CLEAR_PASSPHRASE агента, Пред: ISTRUSTED агента, Вверх: Протокол агента [Содержание][Указатель]
Эта функция, как правило, применяется, чтобы запросить фразу-пароль для симметричного шифрования, но ее могут также вызывать программы, которым нужна специальная обработка фраз-паролей. Синтаксис команды предельно упрощает пользование агентом для программ-клиентов.
GET_PASSPHRASE [--data] [--check] [--no-ask] [--repeat[=N]] \ [--qualitybar] идентификатор буфера \ [сообщение об ошибке приглашение описание]
В аргументе идентификатор буфера передается строка, указывающая на
сохраненную фразу-пароль. Чтобы не пользоваться буфером, задайте
X
. Без других аргументов gpg-agent
выдает сохраненную
фразу-пароль или ошибку. По соглашению в качестве идентификатора
используется либо шестнадцатеричный отпечаток ключа, либо произвольная
строка, в начале которой стоит имя вызывающего приложения с двоеточием,
например, gpg:что-то-там
.
Аргумент сообщение об ошибке представляет либо один X
, если
сообщения нет, либо сообщение, которое нужно показать при ошибке (напр.,
«неверная фраза-пароль»). Пробелы должны быть экранированы процентом или
заменяться на +
.
Аргумент приглашение представляет либо один X
, если исходное
приглашение не заменяется, либо текст, который показывается в качестве
приглашения. Пробелы должны быть экранированы процентом или заменяться на
+
.
Аргумент описание представляет текст, выводимый сверху от поля
ввода. Пробелы должны быть экранированы процентом или заменяться на
+
.
Агент отвечает сообщением об ошибке либо «OK» с последующей фразой-паролем в шестнадцатеричном виде. Обратите внимание, что длина строк неявно ограничивается максимальной длиной команды. Если задан параметр --data, фраза-пароль возвращается не в строке с «OK», а в обычных строках данных; этот метод предпочтителен.
Если задан параметр --check, проверяются обычные ограничения на фразу-пароль. Проверка не проводится, если фраза-пароль найдена в буфере.
Если задан параметр --no-ask, а фраза-пароль не находится в буфере,
фраза-пароль у пользователя запрашиваться не будет; вместо этого будет
возвращаться GPG_ERR_NO_DATA
.
Если задан параметр --qualitybar и установлена минимальная длина фразы-пароля, то показывается визуальный индикатор качества вводимой фразы-пароля.
CLEAR_PASSPHRASE идентификатор буфера
Сбросить фразу-пароль в буфере. Функция возвращает «OK», даже когда такой фразы-пароля нет.
Следующий: PRESET_PASSPHRASE агента, Пред: GET_PASSPHRASE агента, Вверх: Протокол агента [Содержание][Указатель]
Пользуйтесь этой командой для удаления запомненной фразы-пароля.
CLEAR_PASSPHRASE [--mode=normal] <идентификатор буфера>
Параметром --mode=normal можно пользоваться, чтобы очистить
указанный буфер, заполненный программой gpg-agent
.
Следующий: GET_CONFIRMATION агента, Пред: CLEAR_PASSPHRASE агента, Вверх: Протокол агента [Содержание][Указатель]
Эта команда добавляет фразу-пароль для заданного кода ключа в буфер.
PRESET_PASSPHRASE [--inquire] <строка или код ключа> <время> [<число>]
Когда указан последний аргумент, он представляет шестнадцатеричное число, задающее фразу-пароль. Когда он не указан, фраза-пароль будет извлечена из модуля ввода пароля, если не указан параметр --inquire, в каковом случае фраза-пароль будет извлекаться из программы-клиента.
Аргумент время указывает время хранения фразы-пароля в
секундах. Значение -1
означает бесконечность, а 0
— исходное
значение (в настоящее время допустимо только -1
, т.е. сохранять
навсегда).
Следующий: HAVEKEY агента, Пред: PRESET_PASSPHRASE агента, Вверх: Протокол агента [Содержание][Указатель]
Этой командой можно вызвать простой запрос подтверждения с текстом и двумя кнопками: «Да» и «Отмена».
GET_CONFIRMATION описание
Заданное описание показывается с кнопками «Да» и «Отмена». Пробелы
должны быть экранированы процентом или заменяться на +
. Для вызова
диалога подтверждения с текстом по умолчанию можно использовать X
.
В ответ возвращается либо ошибка, либо «OK». Обратите внимание, что длина описания неявно ограничена максимальной длиной команды.
Следующий: LEARN агента, Пред: GET_CONFIRMATION агента, Вверх: Протокол агента [Содержание][Указатель]
Этой командой можно проверять наличие секретного ключа. Она не возвращает никакой информации о защите этого ключа.
HAVEKEY коды ключей
В ответ выдается «OK» либо «No_Secret_Key
(208)». Вызывающий может
проверять и другие коды ошибок. Можно задавать более одного кода ключа. В
этом случае выполнение считается успешным, если по меньшей мере один код
ключа соответствует доступному секретному ключу.
Следующий: PASSWD агента, Пред: HAVEKEY агента, Вверх: Протокол агента [Содержание][Указатель]
LEARN [--send]
Команда регистрирует электронную карту. С параметром --send заданные сертификаты отсылаются назад.
Следующий: UPDATESTARTUPTTY агента, Пред: LEARN агента, Вверх: Протокол агента [Содержание][Указатель]
PASSWD [--cache-nonce=<c>] [--passwd-nonce=<s>] [--preset] код ключа
Эта команда предназначена для диалоговой смены фразы-пароля ключа, указанного шестнадцатеричной строкой кода ключа. Параметр --preset можно задать, чтобы добавить новую фразу-пароль в буфер, используя исходные параметры буфера.
Следующий: GETEVENTCOUNTER агента, Пред: PASSWD агента, Вверх: Протокол агента [Содержание][Указатель]
UPDATESTARTUPTTY
Установить переменные начального TTY и X-DISPLAY равными значениям данного
сеанса. Эта команда полезна, чтобы направить будущие вызовы программы
запроса пароля на другой экран. Это нужно только потому, что другого способа
передать эту информацию в ssh-agent
не существует.
Следующий: GETINFO агента, Пред: UPDATESTARTUPTTY агента, Вверх: Протокол агента [Содержание][Указатель]
GETEVENTCOUNTER
Эта функция возвращает одну строку состояния с текущими значениями счетчиков
событий. Счетчики событий полезны, чтобы не опрашивать что-то постоянно, а
ждать, когда что-то изменится. Значения представлены в десятичном виде в
диапазоне от 0
до UINT_MAX
и циклически переходят в
0
. Опираться на действительные значения не следует; по ним можно
только обнаружить изменение.
В настоящее время определены счетчики:
ANY
Увеличивается с любым изменением любых других счетчиков.
KEY
Увеличивается при добавлении или удалении секретных ключей.
CARD
Увеличивается при изменении состояния устройств чтения электронных карт.
Следующий: OPTION агента, Пред: GETEVENTCOUNTER агента, Вверх: Протокол агента [Содержание][Указатель]
Это универсальная функция для вывода разного рода сведений.
GETINFO разряд
Значение аргумента определяет, какого рода данные выводятся:
version
Вывести версию программы.
pid
Вывести идентификатор процесса.
socket_name
Вывести имя сокета, по которому производится подключение к
gpg-agent
.
ssh_socket_name
Вывести имя сокета, по которому производится подключение к SSH. Если
поддержка SSH не включена, возвращается ошибка GPG_ERR_NO_DATA
.
Пред: GETINFO агента, Вверх: Протокол агента [Содержание][Указатель]
Вот список параметров сеанса, которые еще не описаны с другими командами. Общий синтаксис параметра Assuan таков:
OPTION имя=значение
Поддерживаются имена:
agent-awareness
Это можно использовать, чтобы указать gpg-agent
, с какой версией
gpg-agent
знакома программа-клиент. gpg-agent
пользуется
этими данными, чтобы выключать функции, которые могли бы привести к сбоям
старых программ-клиентов.
putenv
Изменить среду сеанса, которая используется с программой ввода пароля. Допустимы значения:
имя
Удалить переменную среды с указанным именем
имя=
Присвоить указанной переменной пустую строку
имя=значение
Присвоить указанной переменной указанное значение.
use-cache-for-signing
См. команду Assuan PKSIGN
.
allow-pinentry-notify
Параметр используется без аргумента. Он используется для включения запроса PINENTRY_LAUNCHED.
pinentry-mode
Параметр применяется для изменения режима работы программы ввода пароля. Определены значения:
ask
Это исходный режим, в котором программа ввода пароля вызывается по мере необходимости.
cancel
Вместо вызова программы ввода пароля возвращается код ошибки
GPG_ERR_CANCELED
.
error
Вместо вызова программы ввода пароля возвращается код ошибки
GPG_ERR_NO_PIN_ENTRY
.
loopback
Пользоваться программой ввода пароля с обратным вызовом. Это имитирует программу ввода пароля, возвращая запросы пароля вызывающей программе. Чтобы выключить эту функцию, используйте параметр --no-allow-loopback-pinentry.
cache-ttl-opt-preset
Этот параметр задает время действия новых записей в буфере, созданных командами GENKEY и PASSWD с параметром --preset. Если параметр не задан, используется исходное значение.
s2k-count
Вместо стандартного номера S2K (вычисляемого на ходу) пользоваться для новых ключей и при смене фразы-пароля заданным номером S2K. Значения ниже 65536 считаются равными 0. Этот параметр действует до конца сеанса, если его не сбросят в 0. Этот параметр полезен, если ключ используется впоследствии на машинах, которые либо гораздо медленнее, либо гораздо быстрее, чем нынешняя.
Следующий: Вызов GPG, Пред: Вызов GPG-AGENT, Вверх: Верх [Содержание][Указатель]
Начиная с версии 2.1 GnuPG, dirmngr
занимается доступом к серверам
OpenPGP. Как и в прошлых версиях, программа используется также для ведения и
списков отозванных сертификатов для сертификатов X.509, для получения
сертификатов X.509, а также обеспечивает доступ к службам OCSP. Программа
dirmngr
вызывается внутри gpg
, gpgsm
и
gpg-connect-agent
.
Указатель параметров содержит список команд и параметров
DIRMNGR
.
• Команды dirmngr: | Список всех команд. | |
• Параметры dirmngr: | Список всех параметров. | |
• Настройки dirmngr: | Файлы настроек. | |
• Сигналы dirmngr: | Пользование некоторыми сигналами. | |
• Примеры с dirmngr: | Некоторые примеры вызова. | |
• Протокол dirmngr: | Протокол, применяемый в dirmngr. |
Следующий: Параметры dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
Команды отличаются от параметров только тем, что в вызове допустима только одна команда (если в описании команды не указано иное).
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help, -h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя сокращать (напр., как --hel).
--dump-options
Вывести список всех имеющихся параметров и команд. Эту команду нельзя сокращать (напр., как --dump-option).
--server
Работать в серверном режиме и ожидать команд из стандартного потока ввода. В исходном режиме создается сокет, из которого принимаются команды. Это применяется только для испытаний.
--daemon
Работать в фоновом режиме, принимая команды из сокета. Именно так
dirmngr
запускается по требованию от других компонентов
GnuPG. Чтобы принудительно запустить dirmngr
, в общем случае лучше
всего выполнить gpgconf --launch dirmngr
.
--supervised
Работать на переднем плане, отправляя протокол работы по умолчанию в стандартный поток ошибок и прослушивая файловый дескриптор 3, который должен уже быть привязан к действующему сокету. Эта команда полезна при работе из systemd и тому подобных механизмов контроля процессов. Этот параметр не поддерживается под Windows.
--list-crls
Перечислить содержимое буфера списка отозванных сертификатов в стандартном потоке вывода. Вероятно, это полезно только для отладки.
--load-crl файл
Команда требует имени файла в качестве аргумента; dirmngr
попытается импортировать список отозванных сертификатов из указанного файла
в свой буфер. Обратите внимание, что это возможно, только если
dirmngr
может извлечь сертификат удостоверяющего центра своими
собственными средствами. В целом лучше пользоваться командой gpgsm
--call-dirmngr loadcrl имя_файла
, чтобы поддержать dirmngr
средствами gpgsm
.
--fetch-crl url
Команда требует URL в качестве аргумента; dirmngr
попытается
извлечь и импортировать список отозванных сертификатов по этому URL в свой
буфер. Это полезно главным образом в целях отладки. Программа
dirmngr-client
выполняет ту же функцию с помощью работающего
dirmngr
.
--shutdown
Прервать завершение работающего экземпляра dirmngr
. В настоящее
время команда не реализована.
--flush
Команда удаляет все списки отозванных сертификатов из буфера
dirmngr
. Таким образом, запросы программ-клиентов приведут к
чтению списков заново.
Следующий: Настройки dirmngr, Пред: Команды dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
Заметьте, что все длинные параметры за исключением --options и --homedir можно размещать в файле настроек без начальных символов «–».
--options файл
Читает настройки из заданного файла вместо исходного файла настроек пользователя. Исходный файл настроек под названием dirmngr.conf находится в домашнем каталоге.
--homedir каталог
Установить заданный домашний каталог. Этот параметр действует только в
командной строке. Исходным является каталог .gnupg непосредственно в
домашнем каталоге пользователя, если не установлена переменная среды
GNUPGHOME
; в последнем случае используется значение этой
переменной. В этом каталоге хранятся всевозможные данные.
-v
--verbose
Выводить во время работы дополнительную информацию. Уровень подробности можно повышать, вводя параметр несколько раз, например, -vv.
--log-file файл
Дописывать протокол работы в указанный файл. Это очень полезно, когда нужно понять, что же программа делает. Укажите socket://, если нужно протоколировать в сокет.
--debug-level уровень
Выбрать уровень отладки для исследования проблем. Аргумент может быть числом либо ключевым словом:
none
Никаких отладочных сообщений. Соответствует значениям, меньшим 1.
basic
Некоторые простые отладочные сообщения. Соответствует значениям от 1 до 2.
advanced
Более подробные отладочные сообщения. Соответствует значениям от 3 до 5.
expert
Еще более подробные сообщения. Соответствует значениям от 6 до 8.
guru
Все отладочные сообщения, какие только есть. Соответствует значениям, большим 8.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
--debug признаки
Установить флаги отладки. Этот параметр полезен только для отладки, его поведение может изменяться с каждым новым выпуском. Все флаги суммируются по логическому ИЛИ, их можно записывать в синтаксисе Си (напр., 0x0042) или в виде названий флагов, разделенных запятыми. Получить список поддерживаемых флагов можно, задав слово «help».
--debug-all
То же, что --debug=0xffffffff
--gnutls-debug уровень
Включить отладку GNUTLS на заданном уровне.
--debug-wait n
При работе в серверном режиме подождать указанное число секунд перед входом в цикл обработки и выводить идентификатор процесса. За это время можно подключить отладчик.
--disable-check-own-socket
На некоторых платформах dirmngr
может обнаруживать удаление файла
его сокета и самостоятельно завершаться. Этот параметр отключает эту
самопроверку в целях отладки.
-s
--sh
-c
--csh
Форматировать выходную информацию в режиме демона для применения в
стандартном интерпретаторе Борна и Си-образном соответственно. По умолчанию
выставляется по переменной среды SHELL
, в большинстве случаев этого
достаточно.
--force
Если задан этот параметр, принудительно загружаются просроченные списки отозванных сертификатов. Это полезно только для отладки.
--use-tor
Этот параметр переводит dirmngr
и тем самым GnuPG в «режим Tor», в
котором все сетевые соединения проходят через Tor (сеть анонимности). В этом
режиме отключаются определенные функции.
--standard-resolver
Этот параметр указывает, что нужно пользоваться стандартными системными программами определения DNS. Он полезен главным образом для отладки. Заметьте, что под Windows стандартные программы определения не применяются вообще, и запрос к DNS возвращает ошибку «Не реализовано», если используется эта функция.
--recursive-resolver
Когда возможно, пользоваться рекурсивной программой определения, а не заглушкой.
--resolver-timeout n
Установить предельное время ожидания программы определения DNS равным n секунд. Исходное значение — 30.
--connect-timeout n
--connect-quick-timeout n
Установить предельное время ожидания для соединений HTTP и общих соединений TCP равным n секунд. Параметр --connect-quick-timeout используется, когда определенные команды Assuan применяются с параметром --quick; оно добавляется к значению обычного времени ожидания. Исходные значения — 15 и 2. Обратите внимание, что времена задаются на каждую попытку; программа подключения пытается соединиться со всеми перечисленными адресами сервера.
--allow-version-check
Разрешить соединяться с https://versions.gnupg.org
, чтобы получить
список текущих версий программ. Если задан этот параметр, список
извлекается, если нет локальной копии или она старше 5-7 дней. Подробности
см. в описании параметра --query-swdb команды
gpgconf
. Заметьте, что независимо от этого параметра проверку
версий можно провести командой:
gpg-connect-agent --dirmngr 'loadswdb --force' /bye
--keyserver сервер
Использовать сервер в качестве сервера ключей. Это сервер, с которым
соединяется gpg
, чтобы получать, отправлять, искать
ключи. Аргумент сервер представляет URI:
«схема:[//]имясервера[:порт]». Схема является типом сервера ключей: «hkp» —
серверы ключей HTTP (или совместимые), «ldap» — серверы ключей LDAP,
«mailto» — почтовый сервер ключей Graff. Обратите внимание, что в вашей
конкретной установке GnuPG могут быть и другие типы серверов
ключей. Названия схем нечувствительны к регистру символов. После имени
сервера могут идти необязательные параметры настройки. Они задаются, как в
параметре --keyserver-options gpg
, но применяются к этому
конкретному серверу.
Большинство серверов ключей синхронизируются друг с другом, так что обычно
нет надобности высылать ключи больше чем на один сервер. Сервер
hkp://keys.gnupg.net
пользуется циклическим DNS, чтобы выдавать при
каждом обращении новый сервер ключей.
Если в настройках есть ровно два сервера ключей и только один из них
является скрытой службой Tor (.onion), dirmngr
выбирает сервер
ключей в зависимости от того, работает ли Tor на локальной машине. Это
проверяется при каждом новом подключении.
Если сервер ключей не задан в явном виде, dirmngr
использует
встроенное исходное значение, hkps://hkps.pool.sks-keyservers.net.
--nameserver адрес IP
В «режиме Tor» dirmngr
пользуется публичной службой для
определения имен DNS через Tor. Если основная служба, т.е. 8.8.8.8
,
не должна применяться, этим параметром можно задать другую. Обратите
внимание, что должен задаваться числовой адрес IP (IPv6 или IPv4) и что
проверка ошибок для него не производится.
--disable-ipv4
--disable-ipv6
Отключить пользование всеми адресами IPv4 или IPv6.
--disable-ldap
Полностью отключить пользование LDAP.
--disable-http
Полностью отключить пользование HTTP.
--ignore-http-dp
При поиске расположения списка отозванных сертификатов сертификат, который следует проверить, обычно содержит так называемые записи точек распространения списка отозванных сертификатов, представляющие собой URL для доступа к списку. Используется первая найденная точка распространения. Этим параметром все записи со схемой HTTP при поиске подходящей точки распространения пропускаются.
--ignore-ldap-dp
То же, что --ignore-http-dp, но пропускает записи со схемой LDAP. Эти два параметра можно сочетать друг с другом, что приведет к полному игнорированию точек распространения.
--ignore-ocsp-service-url
Игнорировать все URL OCSP, содержащиеся в сертификате. В результате принудительно используется основной ответчик.
--honor-http-proxy
Если установлена переменная среды http_proxy
, использовать ее значение
для доступа к серверам HTTP.
--http-proxy машина[:порт]
Задать прокси-сервер для доступа по HTTP. Этот параметр отменяет переменную
среды http_proxy
независимо от того, задан ли параметр
--honor-http-proxy.
--ldap-proxy машина[:порт]
Задать прокси-сервер для доступа по LDAP. Если не задан порт, используется порт 389 (стандартный порт LDAP). Этот параметр отменяет любой указанный порт и машину в URL LDAP, а также используется, если машина и порт в URL не указаны.
--only-ldap-proxy
Не пользоваться ничем, кроме «прокси-сервера» LDAP, настроенного параметром
--ldap-proxy. Обычно dirmngr
пытается пользоваться другим
настроенным сервером LDAP, если подключиться через «прокси-сервер» не
удается.
--ldapserverlist-file файл
Считывать список серверов LDAP для сверки сертификатов и списков отозванных сертификатов из указанного файла, а не основного списка серверов LDAP пользователя. Основной список пользователя находится в файле dirmngr_ldapservers.conf.
В этом файле серверы LDAP записаны по одному в строке в формате:
ИМЯ СЕРВЕРА:ПОРТ:ИМЯ ПОЛЬЗОВАТЕЛЯ:ПАРОЛЬ:БАЗА ПОИСКА
Строки, начинающиеся с «#», представляют комментарий.
Обратите внимание, что все вводимые строки, как обычно, ожидаются в кодировке UTF-8. Очевидно, это приведет к проблемам, если пароль первоначально был в кодировке Latin-1. Тут есть только одно решение — поместить такой пароль в двоичном виде в файл (т.е. символы за пределами ASCII не будут читаться)1.
--ldaptimeout секунды
Указать число секунд, в течение которых нужно ждать ответа на запрос LDAP. Исходное значение в настоящее время равно 100. Значение 0 эквивалентно бесконечности.
--add-servers
Добавлять все серверы, которые dirmngr
обнаруживает при проверке
сертификатов по спискам отозванных сертификатов, во внутренний список
серверов для запросов сертификатов и списков отозванных сертификатов.
Этот параметр полезен, когда пытаются проверить сертификат с точкой
распространения списка отозванных сертификатов, указывающей на сервер,
который еще не перечислен в ldapserverlist. Программа dirmngr
всегда будет обращаться к этому серверу и пытаться получить список
отозванных сертификатов, но весьма вероятно, что сертификат, которым
подписан список отозванных сертификатов, находится на том же сервере. Так
что если dirmngr
не добавит этот новый сервер в список, то без
параметра --add-servers проверить подпись на списке отозванных
сертификатов часто будет невозможно.
Обратите внимание: в текущей версии dirmngr
этот параметр в
исходном состоянии выключен.
--allow-ocsp
Этот параметр включает поддержку OCSP по требованию программы-клиента.
В исходном состоянии запросы OCSP отклоняются, потому что они могут нарушить приватность пользователя; например, можно отследить время, в которое пользователь читает сообщение почты.
--ocsp-responder url
Использовать заданный URL как основной ответчик OCSP, если сертификат не содержит сведений о назначенном ответчике. Обратите внимание, что --ocsp-signer тоже должен указывать на достоверный сертификат.
--ocsp-signer отп|файл
Пользоваться сертификатом с указанным отпечатком для проверки ответов основного ответчика OCSP. Вместо отпечатка можно также задать имя файла, в этом случае ожидается, что ответ будет подписан одним из указанных в этом файле сертификатов. Действуют обычные для имен файлов подстановки: тильда в начале с последующей косой чертой заменяются на содержимое переменной HOME, если в начале нет косой черты, имя представляет относительный путь до файла из домашнего каталога. Чтобы гарантировать, что поиск файла будет производиться в домашнем каталоге, либо начинайте имя с «./», либо пользуйтесь именем, которое содержит точку.
Если ответ подписан сертификатом, заданным этими отпечатками, дальнейшая проверка достоверности этого сертификата не проводится.
Содержимое файла представляет список отпечатков SHA-1 по одному на строке, с необязательными двоеточиями между байтами. Пустые строки, а также строки, начинающиеся со знака «#», игнорируются.
--ocsp-max-clock-skew n
Количество секунд, на которое могут быть сдвинуты часы ответчика OCSP относительно локальных часов. Исходное значение равно 600 (10 минут).
--ocsp-max-period n
Максимальное количество секунд, в течение которых ответ считается действительным после времени, заданного в поле thisUpdate. Исходное значение равно 7776000 (90 дней).
--ocsp-current-period n
Количество секунд, в течение которых ответ считается действительным после времени, заданного в NEXT_UPDATE. Исходное значение равно 10800 (3 часа).
--max-replies n
Не возвращать по одному запросу более n записей. Исходное значение равно 10.
--ignore-cert-extension oid
Добавить oid к списку игнорируемых расширений сертификатов. Аргумент
должен представлять десятичные числа, разделенные точками, например,
2.5.29.3
. Этот параметр можно задавать несколько раз. Расширения
сертификата, совпадающие с перечисленными OID и помеченные как критичные,
будут считаться обработанными, так что сертификат не будет отбракован из-за
неизвестного критичного расширения. Пользуйтесь этим параметром с
осторожностью, потому что расширения обычно не помечаются как критичные без
причины.
--hkp-cacert файл
Пользоваться корневыми сертификатами из указанного файла для проверки
сертификатов TLS, используемых с hkps
(доступом к серверу ключей по
TLS). Для файлов в формате PEM ожидается суффикс .pem. Этот параметр
можно задавать несколько раз для добавления дополнительных корневых
сертификатов. Поддерживается подстановка тильды.
Если директива hkp-cacert
отсутствует, dirmngr
выбирает по
своему усмотрению: когда данный сервер ключей представляет собой специальное
объединение hkps.pool.sks-keyservers.net
, используется групповой
корневой сертификат этого объединения. В противном случае используются
системные удостоверяющие центры.
Следующий: Сигналы dirmngr, Пред: Параметры dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
При работе в фоновом режиме dirmngr
использует несколько
каталогов: там находится несколько файлов настроек, управляющих работой
dirmngr
. По умолчанию они располагаются в текущем домашнем
каталоге (см. параметр --homedir).
Это обычный файл настроек, который dirmngr
читает при запуске. В
нем могут быть только допустимые длинные параметры; символов «–» перед
названием параметра быть не должно, сокращения не допускаются. Этот файл
считывается также после SIGHUP
, однако действуют не все
параметры. Это исходное имя файла можно изменить в командной строке
(см. параметр --options). Для этого файла следует проводить резервное
копирование.
Этот каталог должен быть заполнен сертификатами корневых удостоверяющих центров, которым вы доверяете проверку списков отозванных сертификатов и подпись ответов по OCSP.
Обычно это те же сертификаты, которыми вы пользуетесь с приложениями,
обращающимися к dirmngr
. Ожидается, что каждый из этих файлов
содержит ровно один сертификат в кодировке DER; имя файла должно
заканчиваться на .crt или .der. Программа dirmngr
считывает эти сертификаты при запуске и при получении сигнала
SIGHUP. Сертификаты, которые не удалось прочесть или которые не представляют
правильного сертификата X.509, игнорируются; подробности см. в файле
протокола работы.
Приложения, пользующиеся dirmngr
(напр., gpgsm
), могут
запрашивать эти сертификаты, чтобы составить цепь доверия так же, как это
делается с каталогом extra-certs (см. ниже).
Обратите внимание, что сертификаты для ответов OCSP, указанные с помощью параметра --ocsp-signer, всегда считаются пригодными для подписи запросов OCSP.
Этот каталог может содержать дополнительные сертификаты, которые загружаются
во внутренний буфер при запуске программы. Приложения, пользующиеся
dirmngr
(напр., gpgsm
), могут запрашивать эти
сертификаты, чтобы составить цепь доверия. Это удобно в случаях, когда у вас
есть пара промежуточных сертификатов удостоверяющих центров или
сертификатов, обычно применяемых для подписи ответов OCSP. Эти сертификаты
программа пытается использовать перед тем, как выходить в сеть за
сертификатами. Эти сертификаты должны быть в кодировке DER; имя файла должно
заканчиваться на .crt или .der.
В этом каталоге хранятся запомненные списки отозванных сертификатов. Каталог
crls.d создается программой dirmngr
, если не существует, но
вам нужно позаботиться, чтобы существовал каталог, в котором он находится.
Чтобы была возможность увидеть, что происходит, нужно создать файл настроек ~/gnupg/dirmngr.conf по крайней мере с одной строкой:
log-file ~/dirmngr.log
Чтобы можно было выполнять запросы по OCSP, вам, вероятно, понадобится добавить строку:
allow-ocsp
Чтобы гарантировать, что новые параметры считаны и что после установки новых
версий GnuPG работает только что установленный dirmngr
, может
потребоваться прекратить выполнение работающего dirmngr
:
gpgconf --kill dirmngr
Чтобы понять, правильно ли загрузились все желаемые корневые сертификаты, можно заглянуть в файл протокола работы.
Следующий: Примеры с dirmngr, Пред: Настройки dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
Работающим экземпляром dirmngr
можно управлять посредством
сигналов, посылая их с помощью команды kill
.
Вот список поддерживаемых сигналов:
SIGHUP
По этому сигналу во внутреннем буфере сбрасываются все списки отозванных сертификатов, а также все сертификаты. Затем буфер переинициализируется, как при запуске программы. Параметры заново считываются из файла настроек. Вместо этого сигнала лучше пользоваться командной строкой
gpgconf --reload dirmngr
SIGTERM
Завершает выполнение процесса, но ждет, пока все текущие запросы будут выполнены. Если процесс получил такой сигнал трижды, а запросы все еще не выполнены, то процесс завершается принудительно. Можно также использовать
gpgconf --kill dirmngr
вместо этого сигнала.
SIGINT
Завершает выполнение процесса немедленно.
SIGUSR1
Вывести некоторую статистику буферизации в файл протокола.
Следующий: Протокол dirmngr, Пред: Сигналы dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
В этом примере показано, как вывести внутреннюю таблицу адресов серверов
ключей dirmngr
. Данные на выходе предназначены для отладки и не
входят в документированный порядок обмена.
gpg-connect-agent --dirmngr 'keyserver --hosttable' /bye
Для запрета пользования конкретной машиной, которую вы заметили в одном из наборов серверов ключей, можно подать команду
gpg-connect-agent --dirmngr 'keyserver --dead pgpkeys.bnd.de' /bye
Описание команды keyserver
можно получить с помощью
gpg-connect-agent --dirmngr 'help keyserver' /bye
Пред: Примеры с dirmngr, Вверх: Вызов DIRMNGR [Содержание][Указатель]
Assuan — протокол обмена между процессами, применяемый для доступа к
dirmngr
. Здесь описаны команды, реализуемые в dirmngr
.
• LOOKUP dirmngr: | Поиск сертификата по LDAP. | |
• ISVALID dirmngr: | Проверка сертификата по спискам отозванных сертификатов или OCSP. | |
• CHECKCRL dirmngr: | Проверка сертификата по спискам отозванных сертификатов. | |
• CHECKOCSP dirmngr: | Проверка сертификата по OCSP. | |
• CACHECERT dirmngr: | Занесение сертификата во внутренний буфер. | |
• VALIDATE dirmngr: | Проверка сертификата для отладки. |
Следующий: ISVALID dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
Поиск сертификата. Для указания нескольких образцов (при поиске выдаются ключи, соответствующие хотя бы одному из них) их нужно экранировать: пробелы нужно заменять на «+» или «%20»; это, в свою очередь, требует применения обычных правил для экранирующих символов.
S: D <сертификат в кодировке DER> S: END S: D <второй сертификат в кодировке DER> S: END S: OK
В этом примере возвращаются два сертификата. Сервер может вернуть любое
количество сертификатов; «OK» будет возвращаться и в случае, когда ни один
сертификат не найден. Чтобы показать, что данные на выходе были ограничены в
соответствии с настройками или возможностями сервера первыми N записями,
dirmngr
может вернуть строку состояния
S: S TRUNCATED <n>
Параметр --url можно задать, если вместо шаблона для поиска известен полный URL сертификата:
C: LOOKUP --url CN%3DWerner%20Koch,o%3DIntevation%20GmbH,c%3DDE?userCertificate
Если задан параметр --cache-only, никакой внешний поиск не производится, так что возвращаются только сертификаты, найденные в буфере.
Если задан параметр --single, возвращается первая и только первая найденная запись. В этом случае локальный поиск не проводится, если только не задан параметр --cache-only.
Следующий: CHECKCRL dirmngr, Пред: LOOKUP dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
ISVALID [--only-ocsp] [--force-default-responder] ид.серт.|отп.серт.
Проверить, отозван ли сертификат, описанный с помощью данного
идентификатора. Благодаря буферизации в большинстве случаев
dirmngr
может ответить немедленно.
Идентификатор сертификата представляет шестнадцатеричную строку из двух частей, разделенных одной точкой. Первая часть представляет SHA-1 имени издателя, а вторая часть — серийный номер.
Вместо идентификатора можно задать отпечаток SHA-1; в этом случае запрос OCSP выполняется до сверки по спискам отозванных сертификатов. Если задан параметр --only-ocsp, проверка по спискам отозванных сертификатов в качестве запасного варианта при сбое проверки по OCSP проводиться не будет. Если задан параметр --force-default-responder, будет использоваться только основной ответчик OCSP и никакие другие методы получения URL ответчика OCSP применяться не будут.
Обычные коды выхода:
GPG_ERR_NO_ERROR (0)
Это положительный ответ: сертификат не отозван, и у нас есть свежий список отозванных сертификатов для этого сертификата. Если применялся OCSP, ответчик подтвердил, что сертификат не отозван.
GPG_ERR_CERT_REVOKED
Это отрицательный ответ: сертификат был отозван. Он либо находится в свежем списке отозванных сертификатов, либо ответчик OCSP проинформировал нас о том, что сертификат отозван.
GPG_ERR_NO_CRL_KNOWN
Список отозванных сертификатов для этого сертификата неизвестен, непригоден или устарел.
GPG_ERR_NO_DATA
Ответчик OCSP вернул значение «неизвестно». Это значит, что у него нет сведений о состоянии сертификата.
GPG_ERR_NOT_SUPPORTED
Обычно это значит, что поддержка OCSP не включена в настройках.
Если у dirmngr
недостаточно сведений по данному сертификату
(например, если сертификата пока нет в буфере), он запрашивает недостающие
данные:
S: INQUIRE SENDCERT <идентификатор сертификата> C: D <сертификат в кодировке DER> C: END
Программа-клиент должна быть готова к тому, что dirmngr
может
запросить более одного сертификата.
Если у dirmngr
есть сертификат, но его подпись не удалось
проверить из-за того, что корневой сертификат передан в dirmngr
в
качестве доверенного, он может запросить программу-клиент, следует ли
доверять этому корневому сертификату:
S: INQUIRE ISTRUSTED <шестнадцатеричный отпечаток> C: D 1 C: END
Только при этом ответе dirmngr
будет считать сертификат
доверенным.
Следующий: CHECKOCSP dirmngr, Пред: ISVALID dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
Проверить, достоверен ли сертификат с заданным отпечатком (SHA-1 всего содержимого сертификата X.509), сверяясь по списку отозванных сертификатов, отвечающему за данный сертификат. Если отпечаток не задан или сертификат неизвестен, функция запрашивает сертификат таким образом:
S: INQUIRE TARGETCERT C: D <сертификат в кодировке DER> C: END
Таким образом, вызывающая программа должна по запросу вернуть сертификат
(который должен соответствовать отпечатку) в виде двоичной
последовательности. Затем обработка происходит без дальнейшего
взаимодействия; в частности, dirmngr
пытается найти другие
требуемые сертификаты с помощью своего собственного механизма, в котором
задействуется локальная память сертификатов, а также список доверенных
корневых сертификатов.
При успехе (сертификат не отозван) возвращается код 0, в противном случае возвращается один из обычных кодов ошибки из libgpg-error.
Следующий: CACHECERT dirmngr, Пред: CHECKCRL dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
CHECKOCSP [--force-default-responder] [отпечаток]
Проверить, достоверен ли сертификат с заданным отпечатком (SHA-1 всего
содержимого сертификата X.509), запрашивая соответствующий ответчик
OCSP. Если отпечаток не задан или сертификат неизвестен dirmngr
,
функция запрашивает сертификат таким образом:
S: INQUIRE TARGETCERT C: D <сертификат в кодировке DER> C: END
Таким образом, вызывающая программа должна по запросу вернуть сертификат
(который должен соответствовать отпечатку) в виде двоичной
последовательности. Затем обработка происходит без дальнейшего
взаимодействия; в частности, dirmngr
пытается найти другие
требуемые сертификаты с помощью своего собственного механизма, в котором
задействуется локальная память сертификатов, а также список доверенных
корневых сертификатов.
Если задан параметр --force-default-responder, применяется только основной ответчик OCSP. Этот параметр представляет разновидность глобального параметра --ignore-ocsp-service-url, которую можно менять от команды к команде.
При успехе (сертификат не отозван) возвращается код 0, в противном случае возвращается один из обычных кодов ошибки из libgpg-error.
Следующий: VALIDATE dirmngr, Пред: CHECKOCSP dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
Занести сертификат во внутренний буфер. Эта команда может быть полезна, только если программа-клиент заранее знает, какие сертификаты требуются для проверки, и хочет гарантировать, что они добавлены во внутренний буфер. Команда полезна также для отладки. Чтобы получить настоящий сертификат, эта команда немедленно делает запрос
S: INQUIRE TARGETCERT C: D <сертификат в кодировке DER> C: END
Таким образом, вызывающая программа должна по запросу вернуть сертификат в виде двоичной последовательности.
При успехе возвращается код 0; если сертификат не был успешно занесен в буфер, возвращается один из обычных кодов ошибки из libgpg-error.
Пред: CACHECERT dirmngr, Вверх: Протокол dirmngr [Содержание][Указатель]
Проверить сертификат с помощью функции проверки, которая применяется внутри
dirmngr
. Эта команда полезна только для отладки. Чтобы получить
настоящий сертификат, эта команда немедленно делает запрос
S: INQUIRE TARGETCERT C: D <сертификат в кодировке DER> C: END
Таким образом, вызывающая программа должна по запросу вернуть сертификат в виде двоичной последовательности.
Следующий: Вызов GPGSM, Пред: Вызов DIRMNGR, Вверх: Верх [Содержание][Указатель]
gpg2
— часть GnuPG (охраны приватности GNU), реализующая
OpenPGP. Это средство обеспечивает цифровую подпись и шифрование по
стандарту OpenPGP. В gpg2
входит полное управление ключами, а
также все рюшечки с бантиками, каких вы ожидали бы от полной реализации
OpenPGP.
Есть две основных версии GnuPG: GnuPG 1.x и GnuPG 2.x. GnuPG 2.x поддерживает современные алгоритмы шифрования, таким образом, ей следует отдавать предпочтение. GnuPG 1.x нужно применять, только если ваша платформа не поддерживает GnuPG 2.x или если вам нужны некоторые особенности, которые в GnuPG больше не поддерживаются, например, расшифровка данных, созданых ключами PGP-2.
В отличие от отдельной команды gpg
из GnuPG 1.x, версия 2.x обычно
устанавливается под именем gpg2
.
Указатель параметров содержит список команд и параметров
gpg2
.
• Команды GPG: | Список всех команд. | |
• Параметры GPG: | Список всех параметров. | |
• Настройки GPG: | Файлы настроек. | |
• Примеры GPG: | Некоторые примеры вызова. | |
Сведения для разработчика: | ||
---|---|---|
• Автоматическая работа GPG: | Вызов gpg из других программ.
|
Следующий: Параметры GPG, Вверх: Вызов GPG [Содержание][Указатель]
Команды отличаются от параметров только тем, что в вызове допустима только одна команда (если в описании команды не указано иное). Вообще говоря, не относящиеся к делу параметры игнорируются и могут не проверяться на корректность.
Можно запускать gpg2
без команд. В этом случае программа будет
выполнять разумное действие в зависимости от типа файла, данного на входе
(зашифрованное сообщение расшифровывается, подпись проверяется, у файла с
ключами выводится список ключей и т.д.).
• Общие команды GPG: | Команды, не связанные с конкретными функциями. | |
• Команды операций GPG: | Команды выбора типа операции. | |
• Управление ключами OpenPGP: | Как управлять своими ключами. |
Следующий: Команды операций GPG, Вверх: Команды GPG [Содержание][Указатель]
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help
-h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя произвольно сокращать (напр., как --hel), хотя можно пользоваться краткой формой -h.
--warranty
Вывести сведения о гарантиях.
--dump-options
Вывести список всех имеющихся параметров и команд. Эту команду нельзя сокращать (напр., как --dump-option).
Следующий: Управление ключами OpenPGP, Пред: Общие команды GPG, Вверх: Команды GPG [Содержание][Указатель]
--sign
-s
Подписать сообщение. Эту команду можно сочетать с --encrypt (чтобы подписать и зашифровать сообщение) или одновременно с --encrypt и --symmetric (чтобы подписать и зашифровать сообщение, которое можно расшифровать секретным ключом или по фразе-паролю). Для подписи берется основной ключ или ключ, явно указанный параметрами --local-user и --default-key.
--clear-sign
--clearsign
Сделать текстовую подпись. Текст с такой подписью можно читать без специальных программ. Программа, реализующая OpenPGP, нужна только для проверки подписи. В подписанных данных, которые выводятся вместе с подписью, могут изменяться символы перевода строки для независимости от платформы; эта нормализация может быть необратима. Для подписи берется основной ключ или ключ, явно указанный параметрами --local-user и --default-key.
--detach-sign
-b
Создать отделенную подпись. В отличие от простой подписи, подписанные данные в отделенной подписи не присутствуют.
--encrypt
-e
Зашифровать данные. Эту команду можно сочетать с --sign (чтобы подписать и зашифровать сообщение), --symmetric (чтобы зашифровать сообщение, которое можно расшифровать секретным ключом или по фразе-паролю) или --sign и --symmetric одновременно (для подписанных сообщений, которые можно расшифровать с помощью секретного ключа по фразе-паролю).
--symmetric
-c
Зашифровать симметричным шифром с помощью пароля. По умолчанию применяется алгоритм шифрования AES-128, но его можно выбрать параметром --cipher-algo. Эту команду можно сочетать с --sign (для подписанных сообщений, зашифрованных симметричным шифром), --encrypt (для сообщений, которые можно расшифровать секретным ключом или по фразе-паролю) или --sign и --encrypt одновременно (для подписанных сообщений, которые можно расшифровать секретным ключом или по фразе-паролю).
--store
Только сохранить (записать простой пакет с данными).
--decrypt
-d
Расшифровать файл, данный в командной строке (или стандартном потоке ввода, если файл не указан) и записать в стандартный поток вывода (или файл, если он указан параметром --output). Если расшифровываемый файл подписан, подпись проверяется. Эта команда отличается от действия по умолчанию тем, что игнорирует файлы, которые не начинаются с зашифрованного сообщения, и не пишет в файл с именем, указанным в сообщении.
--verify
Считать, что первый аргумент — подписанный файл, и проверить подпись, не создавая выходного файла. Без аргументов пакет с подписью читается из стандартного потока ввода. Если дан только один аргумент, в указанном файле ожидается полная (не отделенная) подпись.
Если аргументов больше одного, первый должен указывать файл с отделенной подписью, а остальные файлы должны содержать подписанные данные. Чтобы читать подписанные данные из стандартного потока ввода, в качестве имени второго файла введите ‘-’. По соображениям безопасности отделенная подпись не применяется к стандартному потоку ввода, если это явно не обозначено вышеуказанным образом.
Замечание: Если параметр --batch не используется,
gpg2
может считать, что единственный аргумент представляет
файл с отделенной подписью, и попытаться найти соответствующий файл данных,
отбрасывая определенные суффиксы в имени. Пользоваться этой исторической
особенностью категорически не рекомендуется; всегда указывайте файл данных
явно.
Замечание: Когда проверяется текстовая подпись, gpg2
проверяет
только ту часть, которая составляет подписанные данные, но не какие-либо
дополнительные данные, не заключенные между
строками-ограничителями. Параметр --output
можно применять для вывода
самих подписанных данных, но с этим форматом есть и другие
загвоздки. Рекомендуется вместо текстовых подписей пользоваться отделенными.
Замечание: Иногда легче воспользоваться gpgv
, чем полной командой
gpg
с этим параметром. gpgv
сравнивает подписанные
данные по списку доверенных ключей и возвращает признак успешного выполнения
только для действительной подписи. У команды есть своя страница man.
--multifile
Указание для определенных команд принимать в командной строке несколько файлов для обработки или считывать имена файлов из стандартного потока ввода по одному на строку. Это позволяет обработать несколько файлов за раз. В настоящее время --multifile можно применять с --verify, --encrypt и --decrypt. Обратите внимание, что --multifile --verify нельзя применять с отделенными подписями.
--verify-files
То же, что --multifile --verify.
--encrypt-files
То же, что --multifile --encrypt.
--decrypt-files
То же, что --multifile --decrypt.
--list-keys
-k
--list-public-keys
Перечислить указанные ключи. Если ключи не указаны, перечисляются все ключи из настроенных таблиц открытых ключей.
Никогда не пользуйтесь текстом, выведенным этой командой, в программах. Он предназначен только для человека, и его формат часто меняется. Данные в стабильном формате для машинной обработки выдаются по --with-colons.
--list-secret-keys
-K
Перечислить указанные секретные ключи. Если ключи не указаны, выводятся все
известные секретные ключи. Символ #
после начальных меток sec
и ssb
значит, что секретный ключ или подключ в настоящее время
непригоден для использования. Можно сказать также, что этот ключ недоступен
(например, секретный ключ можно экспортировать с помощью команды
--export-secret-subkeys). Символ >
после этих меток
указывает, что ключ хранится на карте. См. также --list-keys.
--list-signatures
--list-sigs
То же, что --list-keys, но приводятся и подписи. То же самое можно сделать, применяя --list-keys с --with-sig-list.
Для каждой перечисленной подписи между меткой "sig" и идентификатором ключа выводится несколько символов. Эти символы дают дополнительные сведения о каждой подписи (слева направо): цифры 1-3 представляют уровень проверки сертификата (см. --ask-cert-level), "L" — локальная (неэкспортируемая) подпись (см. --lsign-key), "R" — неотзываемая подпись (см. команду "nrsign" --edit-key), "P" — подпись содержит URL правил (см. --cert-policy-url), "N" — подпись содержит замечание (см. --cert-notation), "X" — срок действия подписи истек (см. --ask-cert-expire), цифры 1-9 или "T" (что значит 10 и выше) указывают уровень доверия подписи (см. команду "tsign" --edit-key).
--check-signatures
--check-sigs
То же, что --list-signatures, но подписи проверяются. Обратите внимание, что по соображениям быстродействия не определяется, отозван подписавший ключ или нет. Команда эквивалентна вызову --list-keys с --with-sig-check.
Результат проверки указывается символом, непосредственно следующим за меткой "sig" (следовательно, перед вышеописанными символами --list-signatures). "!" указывает, что подпись прошла проверку успешно, "-" означает плохую подпись, а "%" выводится при ошибке во время проверки подписи (например, если не поддерживается алгоритм).
--locate-keys
Найти заданные в качестве аргументов ключи. Эта команда находит ключи в
основном по алгоритму, который применяется для поиска ключей при шифровке и
подписи; таким образом, команду можно использовать для определения того,
какие ключи будет использовать gpg2
. В частности, внешние
методы, определяемые --auto-key-locate, могут использоваться для
поиска ключа. Выводятся только открытые ключи.
--fingerprint
Перечислить все (или указанные) ключи с их отпечатками. То же, что --list-keys, но дополнительно выводится строка с отпечатком. Можно также сочетать с --list-signatures и --check-signatures. Если команда задана дважды, выводятся также отпечатки всех вторичных ключей. Эта команда также приводит к принудительному выводу отпечатков, если в качестве формата идентификаторов ключей указано «none».
--list-packets
Перечислять только последовательности пакетов. Команда полезна только для отладки. Когда задан параметр --verbose, выводятся сами значения длинных чисел, а не только их длины. Обратите внимание, что вывод этой команды в новых выпусках может измениться.
--edit-card
--card-edit
Представить меню для работы с электронной картой. Подкоманда "help" выводит обзор имеющихся команд. Подробное описание см. в «Памятке GnuPG по картам» на https://gnupg.org/documentation/howtos.html#GnuPG-cardHOWTO .
--card-status
Показать содержимое электронной карты.
--change-pin
Представить меню для изменения PIN электронной карты. Эта функция имеется также в виде подкоманды «passwd» в команде --edit-card.
--delete-keys имя
Удалить ключ из таблицы открытых ключей. В пакетном режиме требуется либо --yes, либо указание ключа отпечатком; это предохраняет от удаления сразу нескольких ключей по случайности.
--delete-secret-keys имя
Удалить ключ из таблицы секретных ключей В пакетном режиме ключ должен
задаваться отпечатком. Параметр --yes можно использовать, чтобы
указать программе gpg-agent
не запрашивать подтверждения. Эта
дополнительная предосторожность предпринимается, потому что
gpg2
не может быть уверен, что секретный ключ (контролируемый
программой gpg-agent
) используется только для данного открытого
ключа OpenPGP.
--delete-secret-and-public-key имя
То же, что --delete-key, но если есть секретный ключ, сначала будет
удалятся он. В пакетном режиме ключ должен задаваться отпечатком. Параметром
--yes можно указать программе gpg-agent
не запрашивать
подтверждения.
--export
Экспортировать все ключи из всех таблиц (основных и зарегистрированных параметром --keyring) или (если дано хотя бы одно имя) ключи с заданным именем. Экспортируемые ключи выводятся в стандартный поток вывода или файл, заданный параметром --output. Для отправки по почте применять с параметром --armor.
--send-keys ID ключей
Подобно команде --export, но отсылает ключи на сервер
ключей. Вместо идентификаторов ключей можно применять отпечатки. Для задания
имени сервера должен применяться параметр --keyserver. Не отсылайте
свою таблицу ключей на сервер полностью — выбирайте только новые или
измененные вами ключи. Если идентификаторов ключей не дано,
gpg2
ничего не делает.
--export-secret-keys
--export-secret-subkeys
То же, что --export, но экспортирует секретные
ключи. Экспортируемые ключи выводятся в стандартный поток вывода или в файл,
указанный параметром --output. Эту команду часто применяют с
параметром --armor, чтобы это можно было распечатать на бумаге;
однако для сохранения резервных копий на бумаге лучше подходит внешняя
программа paperkey
. Обратите внимание, что экспорт секретного
ключа может представлять опасность, если экспортированные ключи пересылаются
по незащищенному каналу.
Вторая форма команды отличается тем, что делает секретную часть первичного ключа непригодной к использованию; это расширение OpenPGP, специфичное для GNU, и нельзя ожидать, что другие реализации смогут успешно импортировать такой ключ. Расширение предназначено для того, чтобы создавать полный ключ с дополнительным подключом для подписи на выделенной для этого машине. Затем этой командой ключ экспортируется без первичного ключа на главную машину.
GnuPG может запросить у вас фразу-пароль ключа. Это требуется, потому что внутренний метод защиты секретного ключа отличается от метода, предписанного в протоколе OpenPGP.
--export-ssh-key
Эта команда применяется для экспорта ключа в формате открытого ключа OpenSSH. Это требует указания одного ключа обычным способом; последний действительный подключ, который можно использовать для проверки подлинности, экспортируется в стандартный поток вывода или файл, заданный параметром --output. Результат можно напрямую добавлять в файл authorized_key ssh.
Указывая ключ с помощью идентификатора ключа или отпечатка, к которому приписан восклицательный знак (!), можно экспортировать конкретный подключ или первичный ключ. При этом не требуется даже, чтобы у ключа был установлен признак возможности проверки подлинности.
--import
--fast-import
Импортировать или объединить ключи. Добавляет данные ключи в таблицу ключей. Вариант «fast» в настоящий момент просто синоним.
Несколько других параметров управляют работой этой команды, прежде всего это параметр --import-options merge-only, который не вставляет новые ключи, а только дополняет их новыми подписями, идентификаторами пользователя и подключами.
--receive-keys идентификаторы ключей
--recv-keys идентификаторы ключей
Импортировать ключи с данными идентификаторами с сервера ключей. Для указания имени этого сервера нужно пользоваться параметром --keyserver.
--refresh-keys
Запросить на сервере ключей обновление тех ключей, которые уже записаны в локальную таблицу ключей. Это полезно для обновления ключа новыми подписями, идентификаторами пользователя и т.д. Для указания имени этого сервера нужно пользоваться параметром --keyserver для всех ключей, у которых не установлены предпочтительные серверы (см. --keyserver-options honor-keyserver-url).
--search-keys имена
Искать на сервере ключей заданные имена. Заданные имена объединяются в строку для поиска на сервере. Для указания имени этого сервера нужно пользоваться параметром --keyserver. Серверы, которые поддерживают различные методы поиска, допускают использование выражений, описанных ниже в разделе «Как указать идентификатор пользователя». Обратите внимание, что разные типы серверов ключей поддерживают разные методы поиска. В настоящее время только поиск по LDAP поддерживает все методы.
--fetch-keys URI
Извлечь ключи, расположенные по указанным URI. Обратите внимание, что разные варианты установки GnuPG могут поддерживать разные наборы протоколов (HTTP, FTP, LDAP и т.д.). При связи по HTTPS эта команда пользуется корневыми сертификатами, предоставляемыми системой.
--update-trustdb
Провести регламентные работы в базе данных доверия. Команда проходит по всем ключам и строит сеть доверия. Это диалоговая команда, она может запрашивать значения «доверия владельцу» для разных ключей. Пользователь должен дать оценку того, насколько он верит, что владелец показанного ключа всегда правильно сертифицирует (подписывает) другие ключи. GnuPG запрашивает эти значения, только когда они ключу еще не присвоены. Присвоенное значение можно изменить в любой момент из меню команды --edit-key.
--check-trustdb
Провести работы по поддержке базы данных доверия без участия пользователя. Время от времени база данных доверия должна обновляться, чтобы отследить просроченные ключи или подписи, влияющие на сеть доверия. Обычно GnuPG делает это автоматически по мере необходимости, если не задан параметр --no-auto-check-trustdb. Этой командой можно в любое время проводить принудительную проверку базы данных доверия. Обработка проводится та же, что по команде --update-trustdb, но ключи, у которых «доверие владельцу» не установлено, пропускаются.
Для применения с заданиями cron эту команду можно вызывать с параметром --batch; в этом случае проверка проводится только тогда, когда она нужна. Для принудительной проверки в пакетном режиме добавьте параметр --yes.
--export-ownertrust
Отправить величины доверия владельцам в стандартный поток вывода. Это полезно для задач резервного копирования, поскольку в случае порчи базы данных доверия нельзя восстановить только эти значения.
gpg2 --export-ownertrust > otrust.txt
--import-ownertrust
Обновить базу данных доверия значениями, записанными в заданных файлах (или стандартном потоке ввода, если файлы не заданы); существующие значения будут заменяться на новые. В случае сильно поврежденной базы данных, если у вас есть свежая резервная копия величин доверия владельцам (напр., в файле otrust.txt), восстановить базу данных можно командами:
cd ~/.gnupg rm trustdb.gpg gpg2 --import-ownertrust < otrust.txt
--rebuild-keydb-caches
При обновлении с версии 1.0.6 до версии 1.0.7 эту команду нужно применять для создания буферов подписей в таблице ключей. Она может оказаться удобной и в других ситуациях.
--print-md алг
--print-mds
Распечатать хеш сообщения, найденный по алгоритму АЛГ, для всех заданных файлов или стандартного потока ввода. Во втором варианте команды (или в нерекомендованном случае «*» в качестве алгоритма) распечатываются хеши, найденные по всем доступным алгоритмам.
--gen-random 0|1|2
число
Выдать указанное число случайных байт на заданном уровне качества (0, 1 или 2). Если число не задано или равно нулю, выдается бесконечная последовательность случайных байт. Если задан параметр --armor, данные на выходе будут в кодировке base64. НЕ ПОЛЬЗУЙТЕСЬ этой командой, если вы не знаете, что делаете; она может вывести драгоценную энтропию из системы!
--gen-prime режим
биты
См. исходники. Формат данных на выходе еще не устоялся.
--enarmor
--dearmor
Запаковать произвольные данные на входе в формат ASCII OpenPGP или распаковать их. Это расширение OpenPGP, специфическое для GnuPG, в целом это не очень полезно.
--tofu-policy auto|good|unknown|bad|ask
ключ...
Установить правило TOFU для всех привязок указанных ключей (см. trust-model-tofu). Ключи можно задавать отпечатками (предпочтительно) или идентификаторами.
Пред: Команды операций GPG, Вверх: Команды GPG [Содержание][Указатель]
В этом разделе рассказывается о главных командах управления ключами.
--quick-generate-key ид. польз.
[алг.
[назначение
[срок
]]]
Эта простая команда создает обычный ключ с одним идентификатором пользователя. В отличие от --generate-key, ключ создается сразу без кучи вопросов. Если не задан параметр --yes, создание ключа будет отменено, если данный идентификатор пользователя уже присутствует в таблице ключей.
При прямом запуске из командной строки без особых параметров требуется подтверждение на запрос типа «Продолжить?». Если идентификатор пользователя уже присутствует в таблице ключей, появится второй запрос на подтверждение принудительного создания ключа.
Если задан алг.
или назначение
, создается только первичный
ключ, а запросы не проводятся. Чтобы указать срок действия, но вместе с тем
создать первичный и вторичный ключ, укажите «default» или «future-default» в
качестве алг.
и «default» для параметра назначение
. Описание
этих необязательных параметров см. в команде --quick-add-key
. В
параметре назначение
можно задавать также «cert» для создания
первичного ключа только для сертификации; по умолчанию создается ключ для
подписи и сертификации.
Параметр срок
можно применять для указания срока действия
ключа. Поддерживается несколько форматов; обычно используются форматы ИСО
ГГГГ-ММ-ДД или ГГГГММДДTччммсс. Чтобы срок истекал через n секунд,
n суток, n недель, n месяцев или n лет, задавайте
«seconds=n», «nd», «nw», «nm» и «ny»
соответственно. Если значение не указано или указано «-», устанавливается
разумный срок по умолчанию. Значения «never» и «none» указывают, что срок
действия ключа не истекает.
Если эта команда используется с --batch, а --pinentry-mode
установлен в loopback
и применяется один из параметров пароля
(--passphrase, --passphrase-fd или
passphrase-file), переданный пароль используется для нового ключа,
а программа-агент его не запрашивает. Создать ключ безо всякой защиты можно
с помощью --passphrase ''
.
--quick-set-expire отп
[срок
]
Напрямую задать установить срок действия первичного ключа. Для удаления
срока действия можно задать 0
.
--quick-add-key отп
[алг
[[назначение
] [срок
]]]
Добавить подключ непосредственно к ключу, указанному отпечатком
отп
. Без необязательных аргументов добавляется подключ для
шифрования. Если аргументы заданы, ключ добавляется в соответствии с ними.
В качестве алг
можно задавать любой из поддерживаемых алгоритмов или
названий кривых в формате, применяемом в перечислениях ключей. Если задать
«default» или «-», используется алгоритм по умолчанию. Поддерживаются
алгоритмы: «rsa», «dsa», «elg», «ed25519», «cv25519» и другие кривые
эллиптических алгоритмов. Например, строка «rsa» добавляет ключ RSA с
исходной длиной ключа; строка «rsa4096» задает длину ключа, равную 4096
бит. Строка «future-default» представляет синоним алгоритма, который, скорее
всего, будет применяться в качестве основного в будущих версиях
gpg
.
В зависимости от параметра алг
, ключ может быть предназначен либо для
шифрования, либо для подписи. Если алгоритм обеспечивает подпись и
шифрование и требуется такой подключ, нужно задать параметр
назначение
. Это либо «default» или «-» (исходные значения не
меняются), либо разделенные запятой (или пробелом) ключевые слова: «sign»
для подписи, «auth» для проверки подлинности, «encr» (или «encrypt») для
шифрования. Допустимые комбинации зависят от алгоритма.
Параметр срок
можно применять для указания срока действия
ключа. Поддерживается несколько форматов; обычно используются форматы ИСО
ГГГГ-ММ-ДД или ГГГГММДДTччммсс. Чтобы срок истекал через n секунд,
n суток, n недель, n месяцев или n лет, задавайте
«seconds=n», «nd», «nw», «nm» и «ny»
соответственно. Если значение не указано или указано «-», устанавливается
разумный срок по умолчанию. Значения «never» и «none» указывают, что срок
действия ключа не истекает.
--generate-key
--gen-key
Создать новую пару ключей с текущими параметрами по умолчанию. Это обычная команда для создания нового ключа. В дополнение к ключу создается сертификат отзыва, который сохраняется в подкаталоге openpgp-revocs.d домашнего каталога GnuPG.
--full-genenerate-key
--full-gen-key
Создать новую пару ключей, запрашивая все параметры. Это расширенная версия --generate-key.
Есть также функция, позволяющая создавать ключи в пакетном режиме (см. Автоматическое создание ключей GPG).
--generate-revokation имя
--gen-revoke имя
Создать сертификат отзыва для всего ключа. Чтобы отозвать только подключ или только подпись на ключе, пользуйтесь командой --edit.
Эта команда просто создает сертификат отзыва, которым можно воспользоваться для отзыва ключа, если это когда-нибудь понадобится. Чтобы по-настоящему отозвать ключ, созданный сертификат отзыва нужно вставить в отзываемый ключ. Это делается посредством импорта сертификата отзыва с помощью команды --import. Затем отозванный ключ нужно опубликовать, лучше всего отправкой на сервер ключей (команда --send-key) и экспортом (--export) в файл, который затем высылается активным корреспондентам.
--generate-designated-revokation имя
--desig-revoke имя
Создать сертификат отзывающего для ключа. Это позволяет пользователю отзывать чужой ключ (после разрешения владельца).
--edit-key
Представить меню для большей части операций, связанных с управлением ключами. Ключ указывается в командной строке.
n
Выделить или снять выделение с идентификатора или фотоидентификатора
пользователя под номером n
.
*
выделяет все, 0
снимает выделение со всех.
n
Выделить или снять выделение с подключа под номером n
или с идентификатором ключа n
.
*
выделяет все, 0
снимает выделение со всех.
Поставить подпись на заданном ключе. Если ключ еще не подписан основным пользователем (или пользователями, заданными параметром -u), программа снова показывает сведения о ключе вместе с его отпечатком и запрашивает подтверждение подписи. Этот запрос повторяется для всех пользователей, указанных параметром -u.
То же, что «sign», но подпись помечается как неэкспортируемая, т.е. она никогда не будет учитываться другими людьми. Это можно использовать, чтобы делать ключи достоверными только в локальной среде.
То же, что «sign», но подпись помечается как неотзываемая, т.е. ее никогда нельзя будет отозвать.
Эта подпись сочетает представления о сертификации (как обычная подпись с доверием (как команда «trust»). В целом она полезна только в отдельных сообществах и группах. Подробнее см. разделы «Trust Signature» и «Regular Expression» в RFC-4880.
Обратите внимание, что признаки «l» (локальная / неэкспортируемая), «nr» (неотзываемая) и «t» (подпись доверия) можно свободно сочетать и приставлять к «sign», чтобы получать подписи какого угодно типа.
Если указан параметр --only-sign-text-ids, любые нетекстовые идентификаторы пользователя (напр., фотоидентификаторы) для подписи выбираться не будут.
Удалить подпись. Обратите внимание, что подпись, которая была опубликована
(на сервере ключей), взять назад невозможно. В этом случае лучше
воспользуйтесь командой revsig
.
Отозвать подпись. Для каждой подписи, созданной с помощью одного из секретных ключей, GnuPG спрашивает, создавать ли сертификат отзыва.
Проверить подписи на всех выделенных идентификаторах пользователя. При
дополнительном параметре selfsig
показываются только самоподписи.
Создать дополнительный идентификатор пользователя.
Создать фотографический идентификатор пользователя. Будет запрошен файл JPEG, который будет вставлен в идентификатор пользователя. Обратите внимание, что очень большие файлы JPEG сделают размер ключа очень большим. Также заметьте, что некоторые программы показывают ваш JPEG без изменений (GnuPG), а некоторые промасштабируют его, чтобы разместить в диалоговом окне (PGP).
Показать выделенный фотографический идентификатор пользователя.
Удалить идентификатор или фотоидентификатор пользователя. Обратите
внимание, что пользовательский идентификатор, который был опубликован
(на сервере), взять назад невозможно. Для такого случая лучше подходит
revuid
.
Отозвать идентификатор или фотоидентификатор пользователя.
Пометить текущий идентификатор пользователя как первичный. Со всех других идентификаторов этот признак снимается; метки времени всех задействованных самоподписей передвигаются на секунду вперед. Обратите внимание, что назначение первичным фотоидентификатора делает его первичным относительно других фотоидентификаторов, а назначение первичным обычного идентификатора делает его первичным относительно других обычных идентификаторов пользователя.
Назначить предпочтительный сервер ключей для указанных идентификаторов пользователя. Это позволяет другим пользователям узнать, откуда вы предпочитаете распространять свой ключ. Подробнее см. --keyserver-options honor-keyserver-url. Установка значения «none» сбрасывает существующий предпочтительный сервер.
Задать замечание «имя=значение» для указанных идентификаторов пользователя. Подробнее см. --cert-notation. Установка значения «none» сбрасывает все замечания, установка замечания с приписанным спереди знаком минус (-) сбрасывает это замечание, установка в виде «-имя» (без «=значение») удаляет все замечания с этим именем.
Перечислить предпочтения у выделенного идентификатора пользователя. Показываются установленные предпочтения (без неявных).
Более подробное перечисление предпочтений для выделенного идентификатора пользователя. Показывает действующие предпочтения, в том числе неявные предпочтения 3DES (шифр), SHA-1 (хеш) и «не сжимать» (сжатие), когда они не включены в список предпочтений. Кроме того, показываются предпочтительный сервер ключей и замечания подписей (если есть).
Установить список предпочтений пользователя по строке
для всех (или
только для выделенных) идентификаторов пользователя. Вызов setpref без
аргументов устанавливает исходный список (встроенный или заданный
параметром --default-preference-list), а вызов setpref с
аргументом «none»
устанавливает пустой список предпочтений. Получить список доступных
алгоритмов
можно командой gpg2 --version
. Обратите внимание, что хотя
вы
можете изменять предпочтения на атрибутном идентификаторе пользователя
(называемом также фотоидентификатором), GnuPG не выбирает ключи по
атрибутным
пользовательским идентификаторам, так что эти предпочтения действовать не
будут.
При установке предпочтений нужно перечислять алгоритмы в порядке, в котором вы хотели бы видеть их применяемыми человеком, который шифрует сообщение на ваш ключ. Если вы не укажете 3DES, он будет автоматически добавлен в конец. Обратите внимание, что есть много факторов, влияющих на выбор алгоритма (например, ваш ключ может быть не единственным получателем), так что приложение OpenPGP на другом конце, с помощью которого вам посылают сообщение, может соблюсти, а может и не соблюсти в точности заданный вами порядок для данного сообщения. Однако оно выберет только тот алгоритм, который представлен в списке предпочтений каждого из получателей. См. СОВМЕСТИМОСТЬ С ДРУГИМИ ПРОГРАММАМИ OPENPGP ниже.
Добавить подключ к данному ключу.
Создать подключ на карте и добавить его к этому ключу.
Перенести выделенный секретный подключ (или первичный ключ, если ни одного подключа не выбрано) на электронную карту. Секретный ключ в таблице ключей будет заменен на заглушку, если ключ мог быть успешно перенесен на карту и вы отдали впоследствии команду save. На карту можно перенести только определенные типы ключей. Подменю позволяет выбрать, на какой карте сохранять ключ. Обратите внимание, что получить ключ с карты назад невозможно — если карта выйдет из строя, ваш секретный ключ будет утрачен, если только вы не сохранили где-нибудь резервной копии.
файл
Загрузить данный файл с резервной копией на карту. Этой командой можно пользоваться, чтобы заново загрузить резервную копию ключа (созданную во время инициализации карты) на новую карту. Почти во всех случаях это ключ для шифрования. Эту команду следует применять только с соответствующим открытым ключом, убедившись, что переданный в качестве аргумента файл действительно содержит резервную копию, которую нужно загрузить. Тогда нужно выбрать 2, чтобы загрузить ключ для шифрования. Сначала программа запросит фразу-пароль сохраненного ключа, затем — административный PIN электронной карты.
Удалить подключ (вторичный ключ). Обратите внимание, что подключ, который
был опубликован (на сервере), взять назад невозможно. Для такого случая
лучше подходит revkey
. Обратите также внимание, что при этом
удаляется только открытая часть ключа.
Отозвать подключ.
Изменить срок действия ключа или подключа. Если выделен подключ, изменяется срок действия подключа. Если ничего не выделено, изменяется срок действия ключа.
Изменить доверие владельцу ключа. База данных доверия обновляется немедленно, сохранение не требуется.
Отключить или подключить весь ключ. Отключенный ключ обычно нельзя применять для шифрования.
Назначить отзывающего для ключа. Команда принимает необязательный аргумент: «sensitive» (особо важный). Если отзывающий отмечен как «sensitive», по умолчанию он экспортироваться не будет (см. параметр --export-options).
Изменить фразу-пароль секретного ключа.
Пустая команда, существует только для обратной совместимости.
Ужать (удаляя все подписи, кроме самоподписи) все идентификаторы пользователя, которые больше непригодны к применению (напр., отозваны или просрочены). Затем удалить все подписи, непригодные по подсчетам доверия. А именно: удалить все подписи, которые не проходят проверку, все подписи, замененные более поздней подписью, отозванные подписи и подписи, сделанные ключами, отсутствующими в таблице ключей.
Сделать ключ как можно меньше. Удаляет все подписи со всех идентификаторов пользователя, кроме самой последней самоподписи.
Добавить подписи перекрестной сертификации на подписывающие подключи, у которых их в настоящий момент может не быть. Подписи перекрестной сертификации защищают от тонкой уязвимости подписывающих подключей (см. параметр --require-cross-certification). Все новые ключи создаются по умолчанию с этой подписью, так что эта команда полезна только для обновления старых ключей.
Сохранить все изменения в таблицах ключей и завершить работу.
Завершить работу программы, не обновляя таблиц ключей.
В списке показаны ключи с их вторичными ключами и всеми идентификаторами пользователя. Первичные идентификаторы пользователя помечены точкой, выбранные идентификаторы пользователя и ключи помечены звездочкой. Значение доверия отображается вместе с первичным ключом: первое — назначенная величина доверия владельцу, второе — вычисленная величина доверия. Символы величин:
--sign-key имя
Подписать открытый ключ вашим секретным ключом. Это сокращенная версия подкоманды «sign» из --edit.
--lsign-key имя
Подписать открытый ключ вашим секретным ключом, но пометить подпись как неэкспортируемую. Это сокращенная версия подкоманды «lsign» из --edit.
--quick-sign-key отп
[имена
]
--quick-lsign-key отп
[имена
]
Непосредственно подписать ключ по фразе-паролю без всякого дальнейшего
взаимодействия с пользователем. Аргумент отп
должен быть проверенным
первичным отпечатком ключа из локальной таблицы ключей. Если имена
не
заданы, подписываются все полезные идентификаторы пользователя; если
имена
даны, подписываются только соответствующие им полезные
идентификаторы. По умолчанию или если перед именем стоит «*», проводится
поис подстроки без учета регистра символов. Если перед именем стоит «=»,
ищется полное соответствие с учетом регистра.
Команда --quick-lsign-key помечает подписи как неэкспортируемые. Если такая неэкспортируемая подпись уже существует, --quick-sign-key обращает ее в экспортируемую.
Команда делает разумные предположения, поэтому не предоставляет всей гибкости подкоманды «sign» --edit-key. Команда предназначена для автоматической подписи ключей по списку проверенных отпечатков.
--quick-add-uid идентификатор пользователя новый идентификатор пользователя
Эта команда добавляет к существующему ключу новый идентификатор
пользователя. В отличие от диалоговой подкоманды adduid
--edit-key, новый идентификатор пользователя добавляется
буквально, удаляются только пробелы из начала и конца строки, предполагается
кодировка UTF-8, форма идентификатора не проверяется.
--quick-revoke-uid идентификатор пользователя отзываемый идентификатор пользователя
Эта команда отзывает идентификатор пользователя на существующем ключе с
причиной отзыва «Идентификатор больше не действителен». Ее нельзя
использовать для отзыва последнего идентификатора пользователя (какой-то
идентификатор должен оставаться неотозванным). Если вы хотите указать другую
причину отзыва или предоставить дополнительный текст отзыва, нужно
воспользоваться интерактивной подкомандой revuid
команды
--edit-key.
--quick-set-primary-uid идентификатор пользователя новый идентификатор
Команда устанавливает или изменяет признак первичного идентификатора пользователя на существующем ключе. Первый аргумент указывает ключ, второй — идентификатор, который будет помечен как первичный. Признак первичного идентификатора удаляется со всех остальных идентификаторов, а метки времени всех самоподписей, которых это касается, сдвигаются на секунду вперед.
--change-passphase идентификатор пользователя
--passwd идентификатор пользователя
Поменять фразу-пароль секретного ключа, принадлежащего сертификату,
указанному как идентификатор пользователя. Это сокращение подкоманды
passwd
--edit-key.
Следующий: Настройки GPG, Пред: Команды GPG, Вверх: Вызов GPG [Содержание][Указатель]
gpg2
обладает множеством параметров для управления деталями
поведения, а также изменения исходных настроек.
• Параметры настроек GPG: | Как изменять настройки. | |
• Параметры ключей: | Параметры, связанные с ключами. | |
• Ввод и вывод GPG: | Ввод и вывод. | |
• Параметры OpenPGP: | Параметры, относящиеся к протоколу OpenPGP. | |
• Параметры совместимости: | Параметры совместимости. | |
• Эзотерические параметры GPG: | То, чего обычно делать не нужно. | |
• Не рекомендованные параметры: | Не рекомендованные параметры. |
Развернутый вариант параметров можно записывать в файл параметров (по
умолчанию "~/.gnupg/gpg.conf"). Краткие названия параметров не годятся —
например, форма «armor» в файле параметров допустима, а «a» — нет. Пишите
просто названия параметров без «–» перед ними. Строки, в которых первым
символом-непробелом является знак «#», игнорируются. Команды в этот файл
тоже можно записывать, но в этом обычно нет смысла, потому что такая команда
будет выполняться автоматически при каждом запуске gpg2
.
Помните, что распознавание параметров прекращается, как только встречается непараметр; явным образом прекратить распознавание можно с помощью специального параметра --.
Следующий: Параметры ключей, Вверх: Параметры 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
может потребоваться
читать из стандартного потока ввода (в частности, если gpg
поймет,
что на вход поступила отделенная подпись, а файл данных не указан). Таким
образом, если вы не хотите передавать данные через стандартный поток ввода,
следует подключить его к /dev/null.
Настоятельно рекомендуется пользоваться этим параметром с параметрами
--status-fd и --with-colons при любом автоматическом
применении gpg
.
--no-tty
Не использовать TTY (терминал) ни для какого вывода. Этот параметр в некоторых случаях нужен, потому что GnuPG иногда выводит сообщения в терминал, даже если задан параметр --batch.
--yes
Считать, что ответ на большинство вопросов положителен.
--no
Считать, что ответ на большинство вопросов отрицателен.
--list-options аргументы
Строка с пробелами или запятыми в качестве разделителей, в которой задаются параметры, применяемые при перечислении ключей и подписей (то есть в функциях --list-keys, --list-signatures, --list-public-keys, --list-secret-keys и --edit-key). К параметрам можно спереди (после «–») приписывать no-, чтобы придать им противоположное значение. Вот эти параметры:
Показывать в командах --list-keys, --list-signatures, --list-public-keys и --list-secret-keys все фотоидентификаторы, приложенные к ключу. По умолчанию выключено. См. также параметр --photo-viewer. С --with-colons не действует: как правильно передавать фотоданные в другие программы, см. параметр --attribute-fd.
Показывать при перечислении ключей их возможности. Возможности
обозначаются
списком букв, указывающих на функции E
=шифрование,
S
=подпись, C
=сертификация, A
=проверка подлинности).
По умолчанию включено.
Показывать URL правил в списках, выводимых --list-signatures и --check-signatures. По умолчанию выключено.
Показывать все стандартные (IETF) и определенные пользователем замечания в списках, выводимых --list-signatures и --check-signatures. По умолчанию выключено.
Показывать все URL предпочтительных серверов в списках, выводимых --list-signatures и --check-signatures. По умолчанию выключено.
Показывать при перечислении ключей вычисленную достоверность идентификаторов пользователей. По умолчанию включено.
Показывать при перечислении ключей отозванные и просроченные идентификаторы пользователя. По умолчанию выключено.
Показывать при перечислении ключей отозванные и просроченные подключи. По умолчанию выключено.
Выводить имя таблицы ключей в заголовке списка ключей, чтобы показать, в какой таблице ключей находится данный ключ. По умолчанию выключено.
Показывать даты истечения срока действия подписей (когда сроки ограничены) в списках, выводимых --list-signatures и --check-signatures. По умолчанию выключено.
Показывать в списках ключей подпакеты подписей. Этот параметр может сопровождаться необязательным списком подпакетов, которые нужно показывать. Если список не задан, показывать все подпакеты. По умолчанию выключено. Параметр имеет смысл, только когда --with-colons используется с --list-signatures или --check-signatures.
--verify-options аргументы
Список параметров, разделенных запятыми или пробелами. Учитывается при проверке подписей. К параметрам можно спереди приписывать no-, чтобы придать им противоположное значение. Вот эти параметры:
Показывать все фотоидентификаторы, сопровождающие ключ, которым создана подпись. По умолчанию выключено. См. также параметр --photo-viewer.
Показывать URL правил в проверяемых подписях. По умолчанию выключено.
Показывать все стандартные (IETF) и определенные пользователем замечания в проверяемых подписях. По умолчанию выводятся стандартные замечания.
Показывать все URL предпочтительных серверов в проверяемых подписях. По умолчанию включено.
Показывать вычисленную достоверность идентификаторов пользователей в ключе, которым сделана подпись. По умолчанию включено.
Показывать отозванные и просроченные идентификаторы пользователя. По умолчанию выключено.
Показывать во время проверки только первичные идентификаторы пользователя. То есть все строки «или», а также фотоидентификаторы в результатах проверки не показываются.
Включить поиск по PKA для проверки адресов отправителей. Обратите внимание, что PKA основан на DNS, так что этот параметр может раскрыть информацию о том, когда и какие подписи проверялись, а также для кого шифровались данные. Это сходно с «сетевым проколом», описанным для параметра auto-key-retrieve.
Поднять доверие в подписи до полного, если подпись проходит проверку PKA. Имеет смысл только с параметром pka-lookups.
--enable-large-rsa
--disable-large-rsa
Для команд --generate-key и --batch разрешить создание секретных ключей RSA длиной до 8192 бит. Обратите внимание: 8192 бита ― это больше, чем обычно рекомендуется. Эти длинные ключи не дают значительного усиления защиты, но требуют повышенных расходов, а подписи и сертификаты для них длиннее. Этот параметр доступен, только когда программа собрана с параметром --enable-large-secmem.
--enable-dsa2
--disable-dsa2
Разрешить усечение хеша для всех ключей DSA, даже для старых ключей DSA длиной до 1024 бит. Это вариант по умолчанию для --openpgp. Обратите внимание, что более старые версии GnuPG требовали этого параметра также для создания ключей DSA длиннее 1024 бит.
--photo-viewer строка
Это командная строка, которую следует выполнить для просмотра фотоидентификатора. «%i» заменяется на имя файла с фотографией. «%I» — то же самое, но файл не удаляется после выхода из программы просмотра. Другие обозначения: «%k» означает идентификатор ключа, «%K» — длинный идентификатор ключа, «%f» — отпечаток ключа, «%t» — расширение файла изображения (напр., «jpg»), «%T» — тип MIME изображения (e.g. «image/jpeg»), «%v» — односимвольная достоверность просматриваемого изображения (напр., «f»), «%V» — то же в виде строки (напр., «полное»), «%U» — хеш идентификатора пользователя в кодировке base32, «%%» — знак процента. Если и %i, и %I отсутствуют, фотография передается в программу по стандартному потоку ввода.
Исходная команда просмотра — «xloadimage -fork -quiet -title ’KeyID 0x%k’ STDIN». Обратите внимание, что если ваша программа просмотра изображений не защищена, то запуск ее из GnuPG не делает ее защищенной.
--exec-path строка
Устанавливает список каталогов для поиска программ просмотра фотографий, а
также для вспомогательных программ серверов ключей. Если не задан, для
вспомогательных программ серверов ключей используется встроенное исходное
значение, а поиск программ фотографий просмотра определяется переменной
среды $PATH
. Обратите внимание, что в системе W32 эта переменная при
поиске вспомогательных программ серверов ключей не учитывается.
--keyring файл
Добавить файл
в текущий список таблиц ключей. Если аргумент
начинается с тильды и косой черты, вместо них подставляется каталог
$HOME. Если в имени файла косой черты нет, считается, что он находится в
домашнем каталоге GnuPG ("~/.gnupg", если не используется ни
--homedir, ни $GNUPGHOME).
Обратите внимание, что параметр добавляет таблицу ключей к текущему списку. Если нужно пользоваться только указанной таблицей, пользуйтесь --keyring вместе с --no-default-keyring.
Если задан параметр --no-keyring, не используются вообще никакие таблицы ключей.
--secret-keyring файл
Это устаревший параметр, он игнорируется. Все секретные ключи хранятся в подкаталоге private-keys-v1.d домашнего каталога GnuPG.
--primary-keyring файл
Назначить файл
первичной таблицей открытых ключей. Это значит, что
новые ключи, импортируемые командой --import или с сервера ключей
командой --recv-from), будут поступать в эту таблицу.
--trustdb-name файл
Использовать файл
вместо основной базы данных доверия. Если аргумент
начинается с тильды и косой черты, вместо них подставляется каталог
$HOME. Если в имени файла косой черты нет, считается, что он находится в
домашнем каталоге GnuPG ("~/.gnupg", если не используется ни
--homedir, ни $GNUPGHOME).
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
--display-charset кодировка
Задать кодировку для неанглийских символов. Используется для преобразования некоторых информационных строк, таких как идентификаторы пользователя, в правильную кодировку UTF-8. Обратите внимание, что это никак не связано с кодировкой данных, которые шифруются или подписываются; GnuPG их не перекодирует. Если этот параметр не задан, кодировка определяется по текущим настройкам среды. Выбранная кодировка отображается на уровне подробности 3 (см. параметр --verbose). Допустимые значения кодировки:
Латинская кодировка 1
Латинская кодировка 2
В настоящее время то же, что Латинская кодировка 1
Обычная русская кодировка (RFC-1489
).
Не преобразовывать; предполагать, что операционная система изначально пользуется кодировкой UTF-8.
--utf8-strings
--no-utf8-strings
Считать, что аргументы командной строки даются в виде строк UTF-8. По умолчанию (--no-utf8-strings) считается, что они закодированы так, как указано параметром --display-charset. Эти параметры влияют на все следующие аргументы. Оба параметра можно вводить несколько раз.
--options файл
Читать параметры из файла файл
, не пытаясь считать их из основного
файла параметров в домашнем каталоге (см. параметр --homedir). Этот
параметр игнорируется, если он встретился в файле параметров.
--no-options
То же, что --options /dev/null. Этот параметр обнаруживается до того, как программа попытается открыть файл параметров. Этот параметр предотвращает также создание домашнего каталога ~/.gnupg.
-z n
--compress-level n
--bzip2-compress-level n
Установить уровень сжатия n
для алгоритмов сжатия ZIP и ZLIB. По
умолчанию используется исходный уровень сжатия zlib (как правило,
6). --bzip2-compress-level устанавливает уровень сжатия для
алгоритма BZIP2 (по умолчанию тоже 6). Уровень сжатия BZIP2 вынесен в
отдельный параметр, потому что BZIP2 значительно повышает расход памяти на
каждом следующем уровне. -z устанавливает и то, и другое. Значение
0 выключает сжатие.
--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 длинный идентификатор ключа
Считать указанный ключ (для которого должен быть задан полный 8-байтный идентификатор) таким же надежным, как один из ваших секретных ключей. Этот параметр полезен, если вы не хотите держать свои секретные ключи в постоянном доступе, но хотите, чтобы была возможность проверять достоверность данного ключа получателя или подписавшего.
--trust-model pgp|classic|tofu|tofu+pgp|direct|always|auto
Установить, какой модели доверия должен следовать GnuPG:
Сеть доверия, скомбинированная с подписями доверия, как это делается в PGP 5.x и более поздних. Эта модель назначается для новых баз данных доверия по умолчанию.
Стандартная сеть доверия, появившаяся в PGP 2.
TOFU значит «trust on first use (доверять по первому использованию)». В этой модели ключ, который встречается впервые, запоминается. Если впоследствии другой ключ встречается с идентификатором пользователя с тем же адресом электронной почты, выводится предупреждение о том, что обнаружено противоречие и что ключ может быть подделкой и попыткой атаки «человек посередине».
Поскольку потенциальный злоумышленник может контролировать адрес электронной почты и тем самым обойти алгоритм обнаружения противоречий, пользуясь адресом электронной почты, который выглядит сходно с доверенным адресом, то при проверке сообщений каждый раз выводится статистика количества сообщений, подписанных этим ключом. Таким образом, пользователь может легко различить атаки, в которых фальшивые ключи выдаются за ключи нормальных корреспондентов.
По сравнению с сетью доверия TOFU предлагает значительно более слабые гарантии безопасности. В частности, TOFU помогает только гарантировать непротиворечивость (то есть что адрес электронной почты связан с одним и тем же ключом). Серьезное преимущество TOFU состоит в том, что для правильного пользования требуется минимум трудозатрат. Чтобы правильно пользоваться сетью доверия, нужно активно подписывать ключи и помечать пользователей как доверенные источники ключей. Эти процедуры требуют много времени, и хрестоматийные свидетельства показывают, что даже осведомленные в вопросах безопасности пользователи редко находят время, чтобы выполнять все это скрупулезно, и вместо этого полагаются на возникающие экспромтом процедуры, подобные TOFU.
В модели TOFU правила связаны с привязкой ключей к адресам электронной почты (которые извлекаются из идентификаторов пользователей и нормализуются). Есть пять правил, которые можно установить вручную параметром --tofu-policy. Исходные правила можно установить параметром --tofu-default-policy.
Существуют правила TOFU: auto
, good
, unknown
,
bad
и ask
. По умолчанию применяется правило auto
(если
это не изменено параметром --tofu-default-policy), оно помечает
привязку как ограниченно доверенную. Правила good
, unknown
и
bad
помечают привязку уровнями доверия «полное», «неизвестно» и
«никогда» соответственно. Правило unknown
полезно, чтобы применять
TOFU только для проверки противоречий, но никогда не присваивать
положительного доверия. По последнему правилу, ask
, уровень доверия
привязки запрашивается у пользователя. В пакетном режиме (или если контекст
не допускает ввода) пользователь не запрашивается, а возвращается уровень
доверия не определено
.
В этой модели TOFU сочетается с сетью доверия. Уровень доверия вычисляется
по каждой из моделей, а затем выбирается максимальный в следующем порядке:
неизвестно < неопределенно < ограниченно < полностью < абсолютно <
просрочен < никогда
.
Если установить --tofu-default-policy=unknown, эту модель можно применять для реализации сети доверия с алгоритмом обнаружения противоречий TOFU, но без назначения этим алгоритмом положительных значений доверия, против чего возражали бы некоторые осведомленные в вопросах безопасности пользователи.
Действительность ключа устанавливается пользователем напрямую, а не вычисляется по сети доверия. Эта модель полностью основана на ключе и не различает идентификаторы пользователя. Обратите внимание, что переход на другую модель доверия значения доверия, присвоенные ключу, трансформируются в значения доверия владельцу, что указывает на то, что вы доверяете владельцу ключа подписывать другие ключи.
Пропустить оценку достоверности ключей и полагать, что используемые ключи всегда достоверны. Обычно это используется, только когда есть какая-то внешняя схема оценки. Этот параметр подавляет также вывод метки «[не определено]» при проверке ключей, когда нет свидетельств, что идентификатор пользователя привязан к ключу. Обратите внимание, что эта модель доверия все же не допускает применения просроченных, отозванных или выключенных ключей.
Выбирать модель доверия по тому, что записано во внутренней базе данных доверия. Это делается по умолчанию, когда такая база данных уже существует.
--auto-key-locate аргументы
--no-auto-key-locate
С помощью этого параметра GnuPG может автоматически обнаруживать и извлекать ключи. Это происходит при шифровании для адреса электронной почты (в форме «user@example.com»), когда в локальной таблице ключей нет ключей user@example.com. В этот параметр можно передать любое количество следующих механизмов в том порядке, в каком они будут применяться:
Искать ключ с помощью DNS CERT, как описано в RFC-4398
.
Искать ключ с помощью DNS PKA.
Искать ключ с помощью DANE, как описано в draft-ietf-dane-openpgpkey-05.txt.
Искать ключ по протоколу сетевого каталога ключей. Это экспериментальный метод, смысл может поменяться.
С помощью DNS Service Discovery искать в данном домене серверы ключей LDAP. Если не удалось, попытаться обнаружить ключ с помощью Универсального метода проверки PGP ‘ldap://keys.(домен)’.
Искать ключи на любом сервере, определенном параметром --keyserver.
Кроме того, здесь можно ввести URL сервера ключей, как в параметре --keyserver, чтобы опросить этот конкретный сервер ключей.
Искать ключ в локальных таблицах ключей. Этот механизм позволяет пользователю выбрать порядок поиска локальных ключей. Таким образом, ‘--auto-key-locate local’ эквивалентно --no-auto-key-locate.
Выключается обычный поиск локальных ключей, который проводится перед
попыткой применения любых механизмов, определенных параметром
--auto-key-locate. Положение этого механизма не имеет значения.
Его можно не задавать, когда используется local
.
Сбросить все назначенные механизмы. Это полезно для отмены механизмов, определяемых в файле настроек.
--auto-key-retrieve
--no-auto-key-retrieve
Этот параметр включает автоматическое извлечение ключей с сервера при проверке подписей, сделанных ключами, отсутствующими в локальной таблице ключей.
Если в список методов, передаваемых в auto-key-locate, включается «wkd», идентификатор подписавшего пользователя входит в подпись, а параметр --disable-signer-uid не задан, метод «wkd» также может применяться для получения ключей.
Обратите внимание, что параметр делает возможным эффект, подобный «сетевому проколу». Операторы сервера ключей или сетевого каталога ключей могут узнать, какие ключи вы запрашиваете, так что оператор может узнать и ваш адрес IP, и время, когда вы проверяли подпись, если пошлет вам сообщение, подписанное свежесозданным ключом (которого у вас в локальной таблице ключей, естественно, не найдется).
--keyid-format none|short|0xshort|long|0xlong
Выбрать формат отображения идентификаторов ключей. «none» вместо идентификатора ключа показывает отпечатк в отдельной строке. «short» — традиционный 8-символьный идентификатор. «long» — более длинный (но менее удобный) 16-символьный идентификатор. «0x» добавляет к каждому «0x» спереди, например, «0x99242560». Обратите внимание, что этот параметр не учитывается, когда введен параметр --with-colons.
--keyserver сервер
Этот параметр не рекомендуется к употреблению — пользуйтесь вместо этого параметром --keyserver в dirmngr.conf.
Использовать сервер
в качестве сервера ключей. Это сервер, с которым
соединяются --receive-keys, --send-keys и
--search-keys, чтобы получать, отправлять, искать ключи. Аргумент
сервер
представляет URI: «схема:[//]имясервера[:порт]». Схема
является типом сервера ключей: «hkp» — серверы ключей HTTP (или
совместимые), «ldap» — серверы ключей LDAP, «mailto» — почтовый сервер
ключей Graff. Обратите внимание, что в вашей конкретной установке GnuPG
могут быть и другие типы серверов ключей. Названия схем нечувствительны к
регистру символов. После имени сервера могут идти необязательные параметры
настройки. Они задаются как в нижеописанном глобальном параметре
--keyserver-options, но применяются к этому конкретному серверу.
Большинство серверов ключей синхронизируются друг с другом, так что обычно
нет надобности высылать ключи больше чем на один сервер. Сервер
hkp://keys.gnupg.net
пользуется циклическим DNS, чтобы выдавать при
каждом обращении новый сервер ключей.
--keyserver-options имя=значение
Список параметров, разделенных запятыми или пробелами. Задает параметры для сервера ключей. К параметрам можно спереди приписывать no-, чтобы придать им противоположное значение. Можно использовать аргументы, применимые в import-options или export-options, они будут применяться при импорте (--recv-key) или экспорте (--send-key) ключей на сервере. Хотя для некоторых типов серверов доступны не все параметры, есть несколько общих параметров:
При поиске ключа командой --search-keys не пропускать ключи, помеченные на сервере как отозванные. Обратите внимание, что не все серверы ключей различают отозванные и неотозванные ключи, и для таких серверов этот параметр не имеет смысла. Заметьте также, что большинство серверов ключей не проводит криптографической проверки отзывов ключей, так что без этого параметра могут быть пропущены ключи, неверно помеченные как отозванные.
При поиске ключа командой --search-keys не пропускать ключи, помеченные на сервере как отключенные. Обратите внимание, что этот параметр не используется с серверами ключей HKP.
Устаревший синоним параметра auto-key-retrieve. Не пользуйтесь им: в будущих версиях его удалят.
При выполнении команды --refresh-keys обновлять ключ с предпочтительного для ключа сервера, если в ключе задан URL этого сервера. Кроме того, если установлен auto-key-retrieve, а у проверяемой подписи есть URL предпочтительного сервера ключей, доставлять ключ с этого предпочтительного сервера. Обратите внимание, что параметр вводит «сетевой прокол»: создатель ключа может видеть, когда обновляется ключ. Таким образом, этот параметр по умолчанию выключен.
Если используется --auto-key-retrieve, а подпись проверяется по записи PKA, пользоваться сведениями PKA для доставки ключа. По умолчанию включено.
При получении ключа перечислить подключи как потенциальные цели. Обратите внимание, что этот параметр не применяется с серверами ключей HKP, поскольку они не поддерживают получение ключей по идентификатору подключа.
Сообщить вспомогательной программе сервера ключей, какое время (в секундах) нужно пытаться выполнить операцию с сервером ключей перед тем, как отменить ее. Обратите внимание, что при выполнении сразу нескольких действий это значение понимается как задержка на одно действие. Например, если несколько ключей извлекаются командой --receive-keys, задержка применяется отдельно к извлечению каждого ключа, а не к команде --receive-keys в целом. Исходное значение — 30 секунд.
значение
Этот параметр не рекомендуется к употреблению. Установить прокси-сервер для операций с серверами HTTP и HKP. Отменяет любые прокси-серверы, определенные в dirmngr.conf.
Начиная с GnuPG 2.1, этот параметр не действует. Пользуйтесь вместо него
параметрами настройки dirmngr
.
Начиная с GnuPG 2.1, этот параметр не действует. Пользуйтесь вместо него
параметрами настройки dirmngr
.
Начиная с GnuPG 2.1, этот параметр не действует. Пользуйтесь вместо него
параметрами настройки dirmngr
.
Начиная с GnuPG 2.1, этот параметр не действует. Пользуйтесь вместо него
параметрами настройки dirmngr
.
--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
Параметр не учитывается. gpg2
всегда требует программы-агента.
--gpg-agent-info
Параметр не учитывается. Он никак не влияет на работу gpg2
.
--agent-program файл
Указать программу-агент для операций с секретными ключами. Исходное значение
определяется выполнением gpgconf
с параметром
--list-dirs. Обратите внимание, что символ конвейера («|
»)
применяется для регрессионного тестирования и поэтому не может появляться в
имени файла.
--dirmngr-program файл
Указать программу dirmngr, применяемую для доступа к серверу ключей. Исходное значение равно /usr/local/bin/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
. Таким образом, когда n
равно 1,
gpg
вообще не просит вставить карту, если она не была вставлена с
самого начала. Этот параметр полезен в файле настроек, если приложение не
знает о поддержке электронных карт и ожидает вставки карты до бесконечности.
--no-random-seed-file
GnuPG пользуется файлом, чтобы сохранять внутренний резерв случайных величин между вызовами. Это ускоряет генерацию случайных чисел, однако иногда операции записи нежелательны. Этот параметр можно применять, чтобы достичь этого ценой замедления генерации случайных чисел.
--no-greeting
Подавить вступительное сообщение об авторских правах.
--no-secmem-warning
Подавить предупреждение о «пользовании небезопасной памятью».
--no-permission-warning
Подавить предупреждение о небезопасных правах доступа к файлам и домашнему каталогу (--homedir). Обратите внимание, что проверка прав доступа, которую выполняет GnuPG, не предназначена для того, чтобы делать серьезные выводы, это просто предупреждение об известных распространенных проблемах с назначением прав. Не предполагайте, что отсутствие предупреждения означает, что ваша система в безопасности.
Обратите внимание, что предупреждение о небезопасных правах доступа к --homedir нельзя подавить в файле gpg.conf, поскольку это позволило бы атакующему установить небезопасный gpg.conf и пользоваться этим файлом для подавления сообщений о самом gpg.conf. Предупреждение о правах доступа к --homedir можно подавлять только из командной строки.
--no-mdc-warning
Подавить предупреждение о недостающей защите целостности кодом обнаружения изменений.
--require-secmem
--no-require-secmem
Отказываться работать, если GnuPG не может получить защищенную память. По умолчанию выключено (т.е работает, но с предупреждением).
--require-cross-certification
--no-require-cross-certification
При проверке подписи, сделанной подключом, гарантировать, что «обратная
подпись» перекрестной сертификации ключа имеется и действительна. Это
предохраняет от тонкой уязвимости ключей, которыми можно подписывать.
Для gpg2
по умолчанию принимается
--require-cross-certification.
--expert
--no-expert
Позволять пользователю делать определенные бессмыслицы или глупости, такие как подпись просроченного или отозванного ключа, или определенные потенциально несовместимые вещи, как ключи необычных типов. Параметр отключает также определенные предупреждения о потенциально несовместимых действиях. Как говорит название параметра, он только для экспертов. Если вы не полностью представляете себе последствия того, что он вам позволяет делать, не включайте этот режим. Выключается параметром --no-expert.
Следующий: Ввод и вывод GPG, Пред: Параметры настроек GPG, Вверх: Параметры GPG [Содержание][Указатель]
--recipient имя
-r
Шифровать для идентификатора пользователя имя. Если не указан ни этот параметр, ни --hidden-recipient, GnuPG запрашивает идентификатор пользователя, если не задан --default-recipient.
--hidden-recipient имя
-R
Шифровать для идентификатора пользователя имя, но скрыть идентификатор пользователя этого ключа. Этот параметр помогает скрыть получателя сообщения и представляет ограниченную меру противодействия анализу потока данных. Если не указан ни этот параметр, ни --recipient, GnuPG запрашивает идентификатор пользователя, если не задан --default-recipient.
--recipient-file файл
-f
Параметр сходен с параметром --recipient, но шифрование проводится
для ключа, хранящегося в заданном файле. Параметр файл должен быть
именем файла, содержащего ровно один ключ. gpg2
предполагает,
что ключ в этом файле полностью достоверен.
--hidden-recipient-file имя
-F
Параметр сходен с параметром --hidden-recipient, но шифрование
проводится для ключа, хранящегося в заданном файле. Параметр файл
должен быть именем файла, содержащего ровно один ключ. gpg2
предполагает, что ключ в этом файле полностью достоверен.
--encrypt-to имя
То же, что --recipient, но предназначен для использования в файле параметров и может использоваться с вашим собственным идентификатором пользователя в виде «encrypt-to-self». Эти ключи используются, только когда есть другие получатели, заданные параметром --recipient, или по запросу. Для этих идентификаторов пользователя проверка доверия не производится, и можно использовать даже выключенные ключи.
--hidden-encrypt-to имя
То же, что --hidden-recipient, но предназначен для использования в файле параметров и может использоваться с вашим собственным идентификатором пользователя в виде «encrypt-to-self». Эти ключи используются, только когда есть другие получатели, заданные параметром --recipient, или по запросу. Для этих идентификаторов пользователя проверка доверия не производится, и можно использовать даже выключенные ключи.
--no-encrypt-to
Выключить использование всех ключей, заданных параметрами --encrypt-to и --hidden-encrypt-to.
--group имя=значение
Вводит именованную группу, подобную синонимам в почтовых программах. Каждый раз, когда в качестве получателя указывается имя группы (-r или --recipient), оно будет заменяться на указанные значения. Несколько групп с одним именем автоматически объединяются в одну.
В качестве значений задаются идентификаторы и отпечатки ключей, но принимается любое описание ключа. Обратите внимание, что значение с пробелом внутри воспринимается как два различных значения. Кроме того, группы более высокого порядка (т.е. ссылающиеся на другие группы) не поддерживаются. При наборе в командной строке может потребоваться выделить аргумент этого параметра кавычками, чтобы командный интерпретатор не воспринимал его как несколько аргументов.
--ungroup имя
Удалить данный пункт из списка --group.
--no-groups
Удалить все пункты из списка --group.
--local-user имя
-u
Использовать имя в качестве ключа, которым подписывают. Этим параметром отменяется --default-key.
--sender mbox
У этого параметра два назначения. Параметр mbox должен представлять
либо полный идентификатор пользователя с правильным адресом электронной
почты, либо просто адрес электронной почты. При создании подписи этот
параметр указывает gpg
идентификатор пользователя ключа, которым
делается подпись, если ключ не был прямо указан с помощью идентификатора
пользователя. При проверке подписи параметр используется для ограничения
информации, выводимой реализацией TOFU, соответствующими пользоавтельскими
идентификаторами.
--try-secret-key имя
Для скрытых получателей нужно знать ключи для пробной дешифровки. Первым
всегда проверяется ключ, установленный параметром --default-key, но
часто этого не достаточно. Этот параметр позволяет указать другие ключи для
пробной дешифровки. Хотя в качестве аргумента можно передавать любое
допустимое указание на идентификатор пользователя, во избежание
неоднозначностей имеет смысл пользоваться по меньшей мере длинным
идентификатором. Обратите внимание, что при пробной дешифровке
gpg-agent
может вызывать программу ввода пароля для большого
количества ключей. Если вы хотите прекратить всякую дальнейшую пробную
дешифровку, вместо кнопки «отмена» можно нажать кнопку, закрывающую окно.
--try-all-secrets
Не обращать внимания на идентификаторы ключей, сохраненные в сообщении, а пробовать дешифровать всеми секретными ключами по очереди, чтобы найти нужный. Этот параметр переводит в режим, применяемый анонимными получателями (созданными --throw-keyids или --hidden-recipient) и может быть удобно в случае, когда зашифрованное сообщение содержит несуразный идентификатор ключа.
--skip-hidden-recipients
--no-skip-hidden-recipients
Во время расшифровки пропускать всех анонимных получателей. Этот параметр помогает в случае, когда люди пользуются скрытыми получателями, чтобы скрыть собственный ключ --encrypt-to от других. Если у отправителя много секретных ключей, это может привести к серьезным неудобствам, потому что все ключи будут перебираться, чтобы расшифровать то, что в действительности ни для одного из них не предназначено. Недостаток этого параметра состоит в том, что в настоящее время невозможно расшифровать сообщение, которое содержит настоящих анонимных получателей.
Следующий: Параметры OpenPGP, Пред: Параметры ключей, Вверх: Параметры GPG [Содержание][Указатель]
--armor
-a
Выводить в виде текста ASCII. По умолчанию вывод производится в двоичном формате OpenPGP.
--no-armor
Считать, что данные на входе поступают не в текстовом формате ASCII.
--output файл
-o файл
Записать вывод в файл. Для записи в стандартный поток вывода укажите в
качестве параметра -
.
--max-output n
Параметр назначает предельное количество байт, которые будут созданы при обработке файла. Поскольку OpenPGP поддерживает разные уровни сжатия, может оказаться, что открытый текст данного сообщения будет существенно больше, чем поступившее на вход сообщение OpenPGP. Хотя GnuPG работает с такими сообщениями правильно, часто желательно установить максимальный размер файла, который будет создан, прежде чем обработка будет приостановлена из-за ограничений, действующих в операционной системе. Исходное значение равно 0, что означает отсутствие ограничений.
--input-size-hint n
Этим параметром можно воспользоваться, чтобы указать gpg
размер
входных данных в байтах. n должно быть положительным десятичным
числом. Этот параметр полезен, только когда входные данные берутся не из
файла. gpg
пользуется этим указанием, чтобы оптимизировать свою
стратегию размещения буфера. Оно используется также в строке «PROGRESS»,
чтобы получить значение «всего», недоступное другими средствами.
--import-options параметры
Список параметров, разделенных запятыми или пробелами. Задает параметры для сервера ключей. К параметрам можно спереди приписывать no-, чтобы придать им противоположное значение. Вот эти параметры:
Разрешить импортировать подписи ключей, помеченные как «локальные». В целом это полезно только при пользовании той или иной схемой обмена таблицами ключей. По умолчанию выключено.
Возможные существующие значения доверия владельцу ключа сбрасываются при импорте ключа. В общем желательно, чтобы ранее удаленный ключ не восстанавливал автоматически величину доверия владельцу только потому, что он импортируется. С другой стороны, иногда нужно заново импортировать набор доверенных ключей, сохраняя уже присвоенные им значения доверия владельцу. Этого можно добиться с помощью этого параметра.
Во время импорта пытаться устранить повреждения, вызванные ошибкой в сервере ключей PKS (до версии 0.9.6), из-за которой повреждаются ключи с несколькими подключами. Обратите внимание, что полностью восстановить ключ таким образом не удается, потому что некоторые важные данные удаляются на сервере ключей, но вам остается хотя бы один подключ. По умолчанию выключено для обычной команды --import и включено для получения ключей с сервера командой --receive-keys.
Показать содержимое ключа в том виде, в каком он импортирован, непосредственно перед сохранением. Это можно сочетать с параметром --dry-run, чтобы просто просматривать ключи.
Полностью выполнить программу импорта, но вместо сохранения ключа в локальной таблице ключей записать его в выходной файл. Параметры экспорта export-pka и export-dane влияют на выводимые данные. Этим параметром можно пользоваться для удаления всех недействительных частей ключа без его сохранения.
Во время импорта допускать обновление существующих ключей, но не добавлять никаких новых ключей. По умолчанию выключено.
После импорта ужать (удалить все подписи, кроме самоподписи) все идентификаторы пользователя из нового ключа, которые непригодны для пользования. Сюда входят подписи, сделанные ключами, отсутствующими в таблице ключей. Это эквивалентно выполнению после импорта команды «clean» из меню --edit-key. По умолчанию выключено.
Устранять различные проблемы с ключами после импорта. Например, пересортируются подписи, удаляются дублированные подписи. По умолчанию включено.
Импортировать минимально возможный ключ. Удаляет все подписи, кроме последней самоподписи, со всех идентификаторов пользователя. Это эквивалентно выполнению после импорта команды «minimize» из меню --edit-key. По умолчанию выключено.
Импортировать ключ в режиме восстановления. Импортируются все данные, которые обычно пропускаются при импорте, в том числе все данные, специфические для GnuPG. Отменяет все параметры, которые противоречат этому.
--import-filter имя=выражение
--export-filter имя=выражение
Эти параметры определяют фильтры импорта и экспорта, которые применяются к блокам ключей непосредственно перед записью или выводом. имя определяет тип фильтра, выражение представляет выражение для оценки. Параметр можно задавать несколько раз, при этом выражения добавляются к одному и тому же имени.
Доступны типы фильтров:
Фильтр сохраняет пакет с идентификатором пользователя и зависимые от него пакеты в блоке ключа, если выражение истинно.
Фильтр опускает выбранные подключи. В настоящее время реализовано только для --export-filter.
Фильтр опускает выбранные подписи идентификаторов пользователя. Самоподписи не опускаются. В настоящее время реализовано только для --import-filter.
Синтаксис выражений см. в главе «ВЫРАЖЕНИЯ ДЛЯ ФИЛЬТРОВ». Имена свойств в выражениях зависят от типа фильтра и указаны в следующей таблице.
Доступны свойства:
Строка с идентификатором пользователя. (keep-uid)
Часть идентификатора пользователя, указывающая адрес электронной почты, или пустая строка. (keep-uid)
Номер алгоритма открытого ключа в пакете ключа или подключа. (drop-subkey)
Первый — временная метка создания открытого ключа или подключа. Второй — то же, но заданное в виде строки ИСО, напр. «2016-08-17». (drop-subkey)
Логическая величина, показывающая, является ли идентификатор пользователя первичным. (keep-uid)
Логическая величина, показывающая, истек ли срок действия идентификатора пользователя (keep-uid), ключа (drop-subkey) или подписи (drop-sig).
Логическая величина, показывающая, отозван ли идентификатор пользователя (keep-uid), ключ (drop-subkey) или подпись (drop-sig).
Логическая величина, показывающая, отключен ли первичный ключ. (не используется)
Логическая величина, показывающая, является ли ключ или подключ секретным. (drop-subkey)
Первый — временная метка создания пакета подписи. Второй — то же, но заданное в виде строки даты ИСО, напр. «2016-08-17». (drop-sig)
Номер алгоритма открытого ключа в пакете подписи. (drop-sig)
Номер алгоритма хеша в пакете подписи. (drop-sig)
--export-options параметры
Это строка с пробелом или запятой в качестве разделителя, которая задает параметры экспорта ключей. К параметрам можно приписывать спереди «no-», чтобы придать им противоположное значение. Вот эти параметры:
Разрешить экспортировать подписи ключей, помеченные как «локальные». В целом это полезно только при пользовании той или иной схемой обмена таблицами ключей. По умолчанию выключено.
Включать в экспорт атрибутные идентификаторы пользователя (фотоидентификаторы). Это полезно при экспорте ключей для последующего применения с программой OpenPGP, которая не допускает атрибутных идентификаторов пользователя. По умолчанию включено.
Включать в экспорт информацию об отзывающих, помеченную как «особо важная». По умолчанию выключено.
Экспортировать в целях резервного копирования. Экспортирует все данные, необходимые для последующего восстановления ключа или ключей в GnuPG. Отменяет все параметры, которые противоречат этому.
Ужать в экспортированном ключе идентификаторы пользователя (удалить с них все подписи), непригодные для пользования. Кроме того, не экспортировать непригодные для пользования подписи. Сюда входят подписи, сделанные ключами, отсутствующими в таблице ключей. Это эквивалентно выполнению перед экспортом команды «clean» из меню --edit-key, но локальная копия ключа не изменяется. По умолчанию выключено.
Экспортировать минимально возможный ключ. Удаляет все подписи, кроме последней самоподписи, со всех идентификаторов пользователя. Это эквивалентно выполнению перед экспортом команды «minimize» из меню --edit-key, но локальная копия ключа не изменяется. По умолчанию выключено.
Вместо вывода материала ключей выводить в списках записи PKA, пригодные для размещения в файлах зон DNS. Перед каждой записью выводится строка ORIGIN, чтобы можно было переводить записи в файлы соответствующих зон.
Вместо вывода материала ключей выводить в списках записи OpenPGP DANE, пригодные для размещения в файлах зон DNS. Перед каждой записью выводится строка ORIGIN, чтобы можно было переводить записи в файлы соответствующих зон.
--with-colons
Вывести списки ключей, разделенные двоеточием. Обратите внимание, что вывод будет в кодировке UTF-8 независимо от любых установок --display-charset. Этот формат полезен, когда GnuPG вызывается из других программ, поскольку его легко обрабатывать автоматически. Подробности формата документированы в файле doc/DETAILS дистрибутива исходных текстов GnuPG.
--fixed-list-mode
Не комбинировать первичный идентификатор пользователя с первичным ключом в режиме --with-colon; выводить даты в виде секунд с начала 1 января 1970 года. Начиная с GnuPG 2.0.10, этот режим используется всегда, таким образом, этот параметр устарел; хотя его использование никак не вредит.
--legacy-list-mode
Вернуться к режиму вывода списка открытых ключей, принятому до версий
2.1. Это влияет только на вывод, предназначенный для человека, но на не
машинный формат (т.е. --with-colons
). Обратите внимание, что старый
формат не отображает адекватно сведения для ключей на базе эллиптических
кривых.
--with-fingerprint
То же, что команда --fingerprint, но только изменяет формат данных на выходе и может применяться с другой командой.
--with-subkey-fingerprint
Если выводится отпечаток первичного ключа, этот параметр приводит к выводу отпечатков всех подключей. Этого можно также достичь, дважды задав параметр --with-fingerprint, но если пользоваться этим параметром с --keyid-format «none», выводится компактный отпечаток.
--with-icao-spelling
Выводить отпечаток фонетическим алфавитом ИКАО в дополнение к шестнадцатеричным цифрам.
--with-keygrip
Выводить в списках коды ключей. В режиме --with-colons
это неявным
образом включает секретные ключи.
--with-wkd-hash
Выводить в списках ключей идентификатор сетевого каталога ключей вместе с каждым идентификатором пользователя. Это экспериментальная функция, смысл может поменяться.
--with-secret
Выводить сведения о присутствии секретного ключа в списках открытых ключей,
производимых --with-colons
.
Следующий: Параметры совместимости, Пред: Ввод и вывод GPG, Вверх: Параметры GPG [Содержание][Указатель]
-t, --textmode
--no-textmode
Считать входные файлы текстовыми и сохранять их в канонической текстовой форме OpenPGP с завершением строки вида «CR+LF». Параметр устанавливает также признаки, необходимые для уведомления получателя о том, что зашифрованные или подписанные данные представляют текст и могут нуждаться в преобразовании концов строк к виду, принятому в локальной операционной системе. Параметр полезен при связи между двумя платформами с различными соглашениями о конце строки (между системы типа Unix и Mac, Mac и Windows и т.д.). Параметр --no-textmode выключает этот режим и принимается по умолчанию.
--force-v3-sigs
--no-force-v3-sigs
--force-v4-certs
--no-force-v4-certs
Эти параметры устарели и не учитываются начиная с GnuPG 2.1.
--force-mdc
Принудительно использовать шифрование с кодом обнаружения изменений. Он используется всегда, когда применяются новые симметричные шифры (размер блока которых превосходит 64 бита) и когда в признаках ключей получателей присутствует поддержка кода обнаружения изменений.
--disable-mdc
Отключить использование кода обнаружения изменений. Обратите внимание, что при этом зашифрованное сообщение становится уязвимо для атаки с изменением сообщения.
--disable-signer-uid
В исходном состоянии идентификатор пользователя подписавшего ключа записывается в массив данных подписи. На настоящий момент это производится, только если подписавший ключ указан в local-user с помощью адреса электронной почты. Эта информация может быть полезна проверяющему для получения ключа; см. параметр --auto-key-retrieve.
--personal-cipher-preferences строка
Задать список личных предпочтений для симметричных шифров. Список доступных
алгоритмов можно получить командой gpg2 --version
, строка
none
сбрасывает предпочтения. Это позволяет пользователю безопасно
отменить алгоритм, выбранный в предпочтениях ключа получателя, поскольку GPG
выбирает только алгоритмы, которыми могут пользоваться все
получатели. Первый шифр из этого списка будет применяться также в команде
шифрования --symmetric.
--personal-digest-preferences строка
Задать список личных предпочтений для алгоритмов хеша. Список доступных
алгоритмов можно получить командой gpg2 --version
, строка
none
сбрасывает предпочтения. Это позволяет пользователю безопасно
отменить алгоритм, выбранный в предпочтениях ключа получателя, поскольку GPG
выбирает только алгоритмы, которыми могут пользоваться все
получатели. Первый алгоритм из этого списка будет применяться также при
подписи без шифрования (напр., --clearsign или --sign).
--personal-compress-preferences строка
Задать список личных предпочтений для алгоритмов сжатия данных. Список
доступных алгоритмов можно получить командой gpg2 --version
,
строка none
сбрасывает предпочтения. Это позволяет пользователю
безопасно отменить алгоритм, выбранный в предпочтениях ключа получателя,
поскольку GPG выбирает только алгоритмы, которыми могут пользоваться все
получатели. Первый алгоритм из этого списка будет применяться также, когда
нет ключей получателя, которые нужно было бы учитывать (напр.,
--symmetric.
--s2k-cipher-algo название
Применять заданный алгоритм симметричного шифрования с паролем, если не заданы --personal-cipher-preferences и --cipher-algo. Исходное значение равно AES-128.
--s2k-digest-algo название
Применять заданный алгоритм хеша для преобразования фраз-паролей при симметричном шифровании. Исходное значение равно SHA-1.
--s2k-mode n
Определяет, как преобразуются фразы-пароли при симметричном шифровании. Если аргумент равен 0, фраза-пароль используется без изменений (что в общем и целом не рекомендуется), 1 добавляет к фразе-паролю модификатор (что не следует использовать), 3 (исходное значение) повторяет весь процесс --s2k-count раз.
--s2k-count n
Указывает, сколько циклов преобразования проходят фразы-пароли для
симметричного шифрования. Аргумент может принимать значения от 1024 до
65011712 включительно. Исходное значение поступает из
gpg-agent
. Обратите внимание, что не все значения из диапазона
1024-65011712 допустимы; если выбрано недопустимое значение, GnuPG округляет
его вверх до ближайшего допустимого. Параметр имеет смысл, только когда
значение --s2k-mode равно исходному (3).
Следующий: Эзотерические параметры GPG, Пред: Параметры OpenPGP, Вверх: Параметры GPG [Содержание][Указатель]
Эти параметры определяют, с чем совместим GnuPG. В каждый момент может действовать только один из этих параметров. Обратите внимание, что исходное значение этого параметра почти всегда правильно. См. СОВМЕСТИМОСТЬ С ДРУГИМИ ПРОГРАММАМИ OPENPGP ниже.
--gnupg
Обычный для GnuPG режим. В основном то же, что --openpgp, но с некоторыми дополнительными обходами распространенных проблем совместимости с различными версиями PGP. Это исходный режим, так что в общем параметр не нужен, но может быть полезен для отмены других параметров совместимости в файле gpg.conf.
--openpgp
Установить все параметры пакетов, шифров и хешей в строгом соответствии с OpenPGP. Сбрасывает все предыдущие параметры настройки, такие как --s2k-*, --cipher-algo, --digest-algo и --compress-algo в значения, совместимые с OpenPGP. Все обходы проблем PGP выключаются.
--rfc4880
Установить все параметры пакетов, шифров и хешей в строгом соответствии с
RFC-4880
. В настоящее время то же самое, что --openpgp.
--rfc4880bis
Включить экспериментальные функции из предлагаемых обновлений RFC-4880. Этим параметром можно пользоваться в дополнение к другим параметрам совместимости. Предупреждение: поведение может измениться в любом выпуске GnuPG, а созданные ключи или данные могут быть непригодными к пользованию с будущими версиями GnuPG.
--rfc2440
Установить все параметры пакетов, шифров и хешей в строгом соответствии с
RFC-2440
.
--pgp6
Сделать все параметры как можно более совместимыми с PGP 6. Это ограничивает вас симметричными шифрами IDEA (если установлен модуль IDEA), 3DES и CAST5, хешами MD5, SHA1 и RIPEMD160, сжатием ZIP (либо без сжатия). Этим также отключается --throw-keyids и создание подписей с помощью подписывающих подключей, поскольку PGP 6 не воспринимает подписи, сделанные подключами для подписей.
Этот параметр неявно включает --disable-mdc --escape-from-lines.
--pgp7
Сделать все параметры как можно более совместимыми с PGP 7. То же, что --pgp6, но коды контроля изменений не отключаются, а список симметричных шифров дополняется шифрами AES128, AES192, AES256 и TWOFISH.
--pgp8
Сделать все параметры как можно более совместимыми с PGP 8. PGP 8 гораздо ближе к стандарту OpenPGP, чем предыдущие версии PGP, так что параметр только выключает --throw-keyids и устанавливает --escape-from-lines. Допустимы все алгоритмы, кроме хешей SHA224, SHA384 и SHA512.
--compliance строка
Этот параметр можно применять вместо одного из параметров, указанных выше. Допустимыми значениями аргумента являются перечисленные выше параметры (без двойного дефиса) и, возможно, другие, список которых выводится, если задать в качестве аргумента «help».
Следующий: Не рекомендованные параметры, Пред: Параметры совместимости, Вверх: Параметры GPG [Содержание][Указатель]
-n
--dry-run
Не вносить никаких изменений (реализовано не полностью).
--list-only
Изменяет работу некоторых команд. То же, что --dry-run, но не всегда. Смысл этого параметра в будущем может расшириться. В настоящее время он только пропускает саму расшифровку и таким образом позволяет быстро просматривать ключи в зашифрованном сообщении.
-i
--interactive
Спрашивать перед записью поверх любых файлов.
--debug-level уровень
Выбрать уровень отладки для исследования проблем. Аргумент может быть числом либо ключевым словом:
none
Никакой отладки. Эквивалентно числам, меньшим 1.
basic
Простейшие отладочные сообщения. Эквивалентно числам между 1 и 2.
advanced
Более подробные отладочные сообщения. Эквивалентно числам между 3 и 5.
expert
Еще более подробные отладочные сообщения. Эквивалентно числам между 6 и 8.
guru
Все отладочные сообщения, какие только есть. Эквивалентно числам, большим 8. Файлы отслеживания хешей создаются, только если используется это ключевое слово.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
--debug признаки
Установить отладочные признаки. Все признаки объединяются по ИЛИ; признаки можно задавать в записи Си (напр., 0x0042) или в виде списка разделенных запятой названий признаков. Список всех поддерживаемых признаков можно получить, введя в качестве аргумента «help».
--debug-all
Установить все полезные отладочные признаки.
--debug-iolbf
Перевести стандартный поток вывода в буферный режим. Этот параметр учитывается, только когда вводится в командной строке.
--faked-system-time момент
Этот параметр полезен только для тестирования; он переводит системное время к моменту, заданному аргументом в виде количества секунд с начала 1970 года. Время можно задавать также в виде полной строки времени ИСО (напр., «20070924T154812»).
Если в конце аргумента стоит восклицательный знак, системное время будет заморожено на указанном моменте.
--enable-progress-filter
Включить вывод определенных индикаторов выполнения задачи. Параметр
позволяет оболочкам отображать ход работы, когда gpg
обрабатывает
большие файлы. Параметр слегка ухудшает быстродействие.
--status-fd n
Записывать специальные диагностические сообщения в файл с указанным дескриптором. Документацию по этим строкам см. в файле DETAILS.
--status-file файл
То же, что --status-fd, но диагностические сообщения пишутся в
файл
.
--logger-fd n
Писать отчет о ходе работы в файл с указанным дескриптором, а не стандартный поток ошибок.
--log-file файл
--logger-file файл
То же, что --logger-fd, но данные о ходе работы пишутся в
файл
. Укажите socket://, если нужно протоколировать в сокет.
--attribute-fd n
Записывать подпакеты атрибутов в файловый дескриптор n
. Это полезнее
всего при использовании с --status-fd, поскольку сообщения о
состоянии нужно отделять от различных подпакетов из потока, который
выводится в файловый дескриптор.
--attribute-file файл
То же, что --attribute-fd, но данные атрибутов пишутся в
файл
.
--comment строка
--no-comments
Использовать аргумент в качестве строки примечания к текстовым подписям и сообщениям или ключам в текстовом формате ASCII. По умолчанию примечаний нет. Параметр --comment можно повторять, чтобы получить несколько строк с примечаниями. Параметр --no-comments сбрасывает все примечания. Рекомендуется ограничивать длину одного примечания 60 символами, чтобы избежать проблем, связанных с разбиением длинных строк почтовыми программами. Обратите внимание, что строки примечаний, как и другие строки заголовка, подписью не защищаются.
--emit-version
--no-emit-version
Принудительно добавлять строку с версией в текстовом формате ASCII. Если параметр дан один раз, выводится только название программы и старший номер версии, если дважды, выводится также младший номер, если трижды, добавляется номер микроверсии, четырежды — выводится также идентификатор операционной системы. Параметр --no-emit-version (исходное значение) отключает строку версии.
--sig-notation имя=значение
--cert-notation имя=значение
-N, --set-notation имя=значение
Разместить пару «имя—значение» в подписи в качестве замечания. имя
должно состоять только из неслужебных символов или пробелов и должно
содержать символ «@» в записи имя-ключа@domain.example.com (конечно, с
подходящим именем ключа и доменом) с целью предотвратить засорение
зарезервированного пространства имен замечаний 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.
--sig-policy-url строка
--cert-policy-url строка
--set-policy-url строка
Использовать аргумент в качестве URL правил для подписей (rfc4880:5.2.3.20). Если спереди приписать восклицательный знак («!»), пакет с URL правил будет помечен как критичный. Параметр --sig-policy-url устанавливает URL правил для подписей данных. Параметр --cert-policy-url устанавливает URL правил для подписей ключей (сертификации). Параметр --set-policy-url устанавливает и то, и другое.
Здесь можно использовать те же специальные коды со знаками «%», что и для замечаний.
--sig-keyserver-url строка
Использовать аргумент строка
в качестве URL предпочтительного сервера
ключей для подписей данных. Если спереди приписать восклицательный знак
(«!»), пакет с URL сервера ключей будет помечен как критичный.
Здесь можно использовать те же специальные коды со знаками «%», что и для замечаний.
--set-filename строка
Использовать аргумент строка
в качестве имени файла, которое
сохраняется внутри сообщений. Это отменяет исходное значение (настоящее имя
файла, который зашифровывается). Пустое значение аргумента фактически
удаляет имя файла из данных на выходе.
--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
Пытаться создать файл с именем, указанным в данных. Это может быть опасно, поскольку позволяет перезаписывать файлы. По умолчанию выключено.
--cipher-algo название
Применять указанный алгоритм симметричного шифрования. Запуск программы с командой --version выдает список доступных алгоритмов. Если параметр не задан, алгоритм выбирается из предпочтений, записанных в ключе. Обычно этим параметром пользоваться не нужно, поскольку он позволяет нарушать стандарт OpenPGP. Параметр --personal-cipher-preferences позволяет добиться того же безопасным образом.
--digest-algo название
Применять указанный алгоритм хеша. Запуск программы с командой --version выдает список доступных алгоритмов. Обычно этим параметром пользоваться не нужно, поскольку он позволяет нарушать стандарт OpenPGP. Параметр --personal-digest-preferences позволяет добиться того же безопасным образом.
--compress-algo название
Применять указанный алгоритм сжатия данных. «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 название
Применять указанный алгоритм хеша при подписи ключей. Запуск программы с командой --version выдает список доступных алгоритмов. Имейте в виду, что если выбран алгоритм, который GnuPG поддерживает, а другие реализации OpenPGP — нет, то некоторые пользователи не смогут пользоваться подписями, которые вы делаете, а вполне возможно, и всем вашим ключом.
--disable-cipher-algo название
Никогда не пользоваться указанным алгоритмом симметричного шифрования. Название не проверяется, так что загруженный впоследствии алгоритм тоже будет отключаться.
--disable-pubkey-algo название
Никогда не пользоваться указанным алгоритмом шифрования с открытым ключом. Название не проверяется, так что загруженный впоследствии алгоритм тоже будет отключаться.
--throw-keyids
--no-throw-keyids
Не помещать идентификаторы ключей получателей в зашифрованные сообщения. Это помогает скрыть получателей сообщения и представляет ограниченную меру противодействия анализа потока данных2. На приемном конце это может замедлить процесс расшифровки, поскольку нужно перебирать все доступные секретные ключи. Этот параметр отменяется параметром --no-throw-keyids. Этот параметр по существу эквивалентен применению параметра --hidden-recipient для всех получателей.
--not-dash-escaped
Этот параметр изменяет вывод текстовых подписей (см. команда --clearsign) так, чтобы их можно было применять в файлах изменений (в таких
подписях изменяются строки, начинающиеся с «-», так что текст становится
непригодным для программы patch
). Такие файлы не следует посылать
по электронной почте, потому что подпись относится и ко всем пробелам и
переводам строки. Этот параметр нельзя применять, когда в файле есть строки,
начинающиеся с 5 знаков «-»; в файлах изменений таких строк не
бывает. Особая строка текстового заголовка объявляет GnuPG об этом параметре
текстовой подписи.
--escape-from-lines
--no-escape-from-lines
Поскольку некоторые почтовые программы изменяют «From » в начале строк на «>From », при создании текстовых подписей (см. команда --clearsign) неплохо обрабатывать такие строки особым образом, чтобы система почты не портила подпись. Обратите внимание, что все другие версии PGP поступают точно так же. По умолчанию включено. Выключается параметром --no-escape-from-lines.
--passphrase-repeat n
Определить, сколько раз gpg2
запрашивает повтор новой
фразы-пароля. Полезно для запоминания фразы-пароля. Исходное значение равно
1.
--passphrase-fd n
Читать фразу-пароль из файлового дескриптора n
. Из файлового
дескриптора n
будет читаться только первая строка. Если задать 0,
фраза-пароль будет считываться из стандартного потока ввода. Параметр можно
использовать, только если вводится одна фраза-пароль.
Обратите внимание, что эта фраза-пароль будет использована, только если задан параметр --batch. В GnuPG версий 1.x это не так.
--passphrase-file файл
Читать фразу-пароль из указанного файла. Из файла файл
будет читаться
только первая строка. Параметр можно использовать, только если вводится одна
фраза-пароль. Очевидно, что защищенность фразы-пароля, которая хранится в
файле, сомнительна, если этот файл могут читать другие пользователи. Не
пользуйтесь этим параметром, если можете избежать этого. Обратите внимание,
что эта фраза-пароль будет использована, только если задан параметр
--batch. В GnuPG версий 1.x это не так.
--passphrase строка
Использовать аргумент в качестве фразы-пароля. Параметр можно использовать, только если вводится одна фраза-пароль. Очевидно, что защищенность этого метода в многопользовательской системе весьма сомнительна. Не пользуйтесь этим параметром, если можете избежать этого. Обратите внимание, что эта фраза-пароль будет использована, только если задан параметр --batch. В GnuPG версий 1.x это не так.
--pinentry-mode режим
Установить режим программы ввода пароля. Допустимые значения аргумента:
Пользоваться исходным режимом, т.е. ask
.
Принудительно пользоваться программой ввода пароля.
Имитировать нажатие клавиши «отмена» программы ввода пароля.
Возвращать ошибку программы ввода пароля («программа ввода пароля отсутствует»).
Перенаправлять запросы программы ввода пароля на вызывающего. Обратите внимание, что в отличие от программы ввода пароля, запрос ввода пароля не повторяется, если пользователь ввел неверный пароль.
--command-fd n
Это замена не рекомендованного режима взаимодействия между процессами через общую память. Если задан этот параметр, ввод пользователя в ответ на запросы ожидается не с терминала, а из указанного файлового дескриптора. Параметром следует пользоваться вместе с --status-fd. Подробности см. в файле doc/DETAILS из дистрибутива исходных текстов.
--command-file файл
То же, что --command-fd, но команды читаются из указанного файла.
--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 не выбирает и не использует ключи, созданные в будущем. Этот параметр позволяет пользоваться такими ключами и тем самым действовать, как версии GnuPG до 1.0.7. Этим параметром не следует пользоваться, если только нет какой-то проблемы с часами. См. также --ignore-valid-from о проблемах с метками времени у подписей.
--ignore-crc-error
Текстовый формат ASCII, используемый OpenPGP, защищается циклической контрольной суммой от ошибок во время передачи сообщения. Иногда контрольная сумма искажается где-то в канале передачи, но само содержимое (все равно защищенное протоколом OpenPGP) остается в норме. Этот параметр позволяет GnuPG не учитывать ошибки контрольных сумм.
--ignore-mdc-error
Если задан этот параметр, сбой защиты целостности кодом обнаружения изменений становится предупреждением. Это полезно, если сообщение частично повреждено, но нужно восстановить как можно больше данных из поврежденного сообщения. Однако помните, что сбой защиты кодом обнаружения изменений может означать также, что сообщение преднамеренно изменено злоумышленником.
--allow-weak-digest-algos
Подписи, выполненные с помощью заведомо слабых алгоритмов хеша, обычно отвергаются с сообщением «недопустимый алгоритм хеша». Этот параметр разрешает проверку подписей, выполненных с помощью таких слабых алгоритмов. По умолчанию MD5 — единственный алгоритм хеша, который считается слабым. См. также параметр --weak-digest для отказа от других алгоритмов хеша.
--weak-digest название
Считать указанный алгоритм слабым. Подписи, выполненные с помощью слабых алгоритмов хеша, обычно отвергаются. Этот параметр можно вводить несколько раз, если слабыми должны считаться несколько алгоритмов. См. также параметр --allow-weak-digest-algos отмены отказа от слабых алгоритмов хеша. MD5 всегда считается слабым, так что его не нужно перечислять в явном виде.
--no-default-keyring
Не добавлять к списку таблиц ключей основные таблицы. Обратите внимание, что GnuPG не может работать совсем без таблиц ключей, так что если вы задаете этот параметр, не задавая другие таблицы ключей с помощью --keyring или --secret-keyring, то GnuPG все равно будет пользоваться основной таблицей открытых или секретных ключей.
--no-keyring
Не пользоваться никакими таблицами ключей, даже указанными в параметрах.
--skip-verify
Пропустить шаг проверки подписи. Это можно использовать для ускорения дешифровки, когда проверка подписи не требуется.
--with-key-data
Выводить списки ключей с двоеточием в качестве разделителя (как --with-colons) и выводить данные открытых ключей.
--fast-list-mode
Изменяет вывод перечисляющих команд так, чтобы они работали быстрее; это достигается тем, что некоторые части оставляются пустыми. Некоторым приложениям не нужны идентификаторы пользователя и сведения о доверии, передаваемые в списках. Точное значение этого параметра может изменяться в будущих версиях. Если вам каких-то сведений не хватает, не пользуйтесь этим параметром.
--no-literal
Не предназначено для нормального пользования. За подробностями обращайтесь к исходным текстам.
--set-filesize
Не предназначено для нормального пользования. За подробностями обращайтесь к исходным текстам.
--show-session-key
Отображать сеансовый ключ, использованный для сообщения. О параметре, устанавливающим сеансовый ключ, см. параметр --override-session-key.
Мы думаем, что передача ключей третьей стороне — это гадость; однако пользователь должен быть волен решать, следует ли сесть в тюрьму или раскрыть содержимое конкретного сообщения без раскрытия всех сообщений, когда-либо зашифрованных для того же секретного ключа.
Этот параметр можно применять также, когда вы получаете зашифрованное сообщение, в котором содержатся оскорбления, угрозы и т.п., чтобы доказать администраторам системы связи, что содержание зашифрованного сообщения неприемлемо, чтобы они могли предпринять меры против нарушителя.
--override-session-key строка
--override-session-key-fd дескриптор
Пользоваться не открытым ключом, а сеансовым ключом, переданным в первой строке, прочитанной из указанного файлового дескриптора. Формат этой строки совпадает с форматом, выводимым параметром --show-session-key. Этот параметр обычно не применяется, но удобен, когда кто-то вынуждает вас раскрыть содержимое зашифрованного сообщения; с помощью этого параметра это можно сделать, не выдавая секретного ключа. Заметьте, что --override-session-key может открыть сеансовый ключ всем локальным пользователям через глобальную таблицу процессов.
--ask-sig-expire
--no-ask-sig-expire
Когда подписываются данные, запросить срок действия. Если этот параметр не задан, принимается срок действия, установленный параметром --default-sig-expire. Выключается параметром --no-ask-sig-expire.
--default-sig-expire
Исходный срок действия подписей. Допустимые значения: «0» (срок действия не ограничен); число с последующим «d» (дни), «w» (недели), «m» (месяцы) или «y» (годы) (например, «2m» означает два месяца, «5y» означает пять лет); абсолютная дата в виде «ГГГГ-ММ-ДД». Исходное значение — «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» означает пять лет); абсолютная дата в виде «ГГГГ-ММ-ДД». Исходное значение — «0».
--default-new-key-algo строка
Параметр можно применять для изменения исходных алгоритмов генерации ключей. Обратите внимание, что алгоритм всегда можно указать напрямую с помощью усложненных команд генерации ключей. Чтобы узнать синтаксис аргумента, сверяйтесь с исходным текстом программы.
--allow-secret-key-import
Устаревший параметр, больше нигде не применяется.
--allow-multiple-messages
--no-allow-multiple-messages
Разрешить обработку многих сообщений OpenPGP в едином файле или потоке. Некоторые программы, вызывающие GPG, не готовы работать с несколькими сообщениями подряд, так что этот параметр по умолчанию выключен. Обратите внимание, что версии GPG, предшествующие 1.4.7, всегда разрешали такую обработку.
Внимание: не пользуйтесь этим параметром, если вам это не нужно в качестве временной меры!
--enable-special-filenames
Этот параметр переводит в режим, в котором имена файлов вида -&n, где n — неотрицательное десятичное число, указывают на файловый дескриптор n, а не на файл с таким именем.
--no-expensive-trust-checks
Только для экспериментов.
--preserve-permissions
Не менять права доступа к таблице секретных ключей на разрешение чтения-записи только для владельца файла. Применяйте этот параметр, только если вы хорошо знаете, что делаете.
--default-preference-list строка
Задать предпочтений. Этот список используется для новых ключей и становится исходным для команды ‘setpref’ в меню --edit-key.
--default-keyserver-url имя
Задать исходный URL сервера ключей. Этот сервер ключей будет использоваться в качестве URL сервера ключей в новых самоподписях ключей, в том числе при создании ключа и смене предпочтений.
--list-config
Вывести различные параметры внутренних настроек GnuPG. Этот параметр предназначен для внешних программ, вызывающих GnuPG для решения задач, и для обычного пользования не нужен. Подробности о том, какие параметры настроек могут перечисляться, см. в файле doc/DETAILS дистрибутива исходных текстов. --list-config используется только с --with-colons.
--list-gcrypt-config
Вывести различные параметры внутренних настроек Libgcrypt.
--gpgconf-list
Эта команда сходна с --list-config, но в целом применяется только
внутри средства gpgconf
.
--gpgconf-test
Более или менее пустое действие. Однако при этом читается файл настроек и
программа завершается с кодом ошибки, если файл настроек не позволил бы
gpg2
начать работу. Таким образом, это можно использовать для
проверки синтаксиса файла настроек.
Пред: Эзотерические параметры GPG, Вверх: Параметры GPG [Содержание][Указатель]
--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.
--always-trust
Эквивалентно --trust-model always. Не рекомендуется к употреблению.
--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.
Следующий: Примеры GPG, Пред: Параметры GPG, Вверх: Вызов GPG [Содержание][Указатель]
Есть несколько файлов настроек для управления определенными аспектами работы
gpg2
. Если не указано иное, они должны располагаться в текущем
домашнем каталоге (см. параметр --homedir).
Это обычный файл настроек, который gpg2
читает при запуске. В
него можно записывать любые допустимые параметры в длинной форме; символов
«–» перед названием параметра быть не должно, сокращать параметры
нельзя. Это исходное имя файла можно изменить в командной строке
(см. параметр gpg --options). Вам следует сохранять резервные копии
этого файла.
Обратите внимание, что на больших системах полезно помещать заранее написанные файлы в каталог /usr/local/etc/skel/.gnupg, чтобы новые учетные записи пользователей создавались с работающими настройками. Для существующих пользователей имеется небольшая программа для создания этих файлов (см. addgnupghome).
Для внутренних нужд gpg2
создает и ведет несколько других
файлов; Все они находятся в текущем домашнем каталоге (см. параметр --homedir). Эти файлы можно изменять только программой gpg2
.
Это исходный домашний каталог, который используется, если ни переменная
среды GNUPGHOME
, ни параметр --homedir не заданы.
Таблица открытых ключей. Вам следует сохранять резервные копии этого файла.
Блокировка для таблицы открытых ключей.
Таблица открытых ключей в другом формате.
Файл используется совместно с gpgsm
.
Вам следует сохранять резервные копии этого файла.
Блокировка для pubring.kbx.
Таблица секретных ключей для версий GnuPG, предшествовавших 2.1. Начиная с GnuPG 2.1, не используется.
Блокировка для таблицы секретных ключей.
Файл, указывающий на то, что переход на GnuPG 2.1 произведен.
База данных доверия. Резервных копий этого файла делать не нужно; лучше сохранять величины доверия владельцам (см. параметр --export-ownertrust).
Блокировка для базы данных доверия.
Файл, в котором сохраняется состояние внутреннего резерва случайных чисел.
Каталог, в котором gpg2
сохраняет предварительно созданные
сертификаты отзыва. Имя файла соответствует отпечатку ключа. Предлагается
делать резервные копии этих сертификатов, а если первичный секретный ключ не
сохраняется на диски, переносить их на внешнее устройство хранения. Всякий,
у кого есть доступ к этим файлам, может отозвать соответствующий
ключ. Сертификаты можно распечатать на бумаге. Для всех файлов в этом
каталоге нужно сделать резервные копии; кроме того, необходимо позаботиться
о защите этих резервных копий.
Работа также управляется несколькими переменными среды:
Используется для определения исходного домашнего каталога.
Если этот каталог задан, он используется вместо "~/.gnupg".
Эта переменная устарела; она использовалась в версиях GnuPG, предшествовавших 2.1.
Значение переменной передается через gpg-agent
в программу ввода
пароля. Оно полезно для
передачи дополнительной информации, необходимой для данной разновидности
программы ввода пароля.
Используются для установки размеров экрана.
Кроме использования в GNU, переменная применяется в версии для W32,
чтобы переопределить выбор языка, заданный в реестре. Если значение
переменной является допустимым названием доступного языка (langid),
переводы загружаются из файла
gpgdir/gnupg.nls/langid.mo
. Здесь gpgdir
означает каталог, из которого был загружен исполняемый файл gpg
.
Если файл не удалось загрузить, проводится поиск в реестре; наконец,
в случае неудачи используется встроенная система переводов сообщений
Windows.
Следующий: Автоматическая работа GPG, Пред: Настройки GPG, Вверх: Вызов GPG [Содержание][Указатель]
Вова
файл
подписать и зашифровать файл для пользователя Вова
файл
сделать текстовую подпись
файл
сделать отделенную подпись
файл
сделать отделенную подпись с помощью ключа 0x12345678
ID пользователя
показать ключи
идентификатор пользователя
показать отпечаток
файл PGP
файл подписи
[файл данных
]Проверить подпись файла, но не выводить данные, если нет запроса. Вторая
форма применяется для отделенных подписей, где файл подписи
—
отделенная подпись (в двоичном или текстовом формате), а файл
данных
— подписанные данные; если второй аргумент не задан, имя файла
данных определяется отбрасыванием расширения («.asc» или «.sig») от имени
файла подписи либо запросом имени файла у пользователя. Если применяется
также параметр --output, подписанные данные выводятся в файл,
заданный этим параметром; для записи подписанных данных в стандартный поток
вывода укажите -
.
Здесь описывается синтаксис выражений в параметрах --import-filter и --export-filter (квадратные скобки показывают необязательную часть, круглые — повторение, пробелы между элементами допустимы).
[лс] {[{признак}] ИМЯ_СВОЙСТВА оп ЗНАЧЕНИЕ [лс]}
Имя свойства ИМЯ_СВОЙСТВА может состоять только из букв, цифр и знаков
подчеркивания. В описании типа фильтра указывается, какие свойства
определены. Если вводится неопределенное свойство, оно считается равным
пустой строке. Если не указано обратное, ЗНАЧЕНИЕ всегда должно быть
непустой строкой. Экранирующие символы для значения не определены, таким
образом, оно не может содержать строк &&
и ||
, применяемых в
качестве операторов логических связок. Для снятия этого ограничения можно
воспользоваться признаком --
.
Численные значения вычисляются как long int; действует стандартная нотация
Си. лс представляет оператор логической связки: либо &&
(конъюнкция), либо ||
(дизъюнкция). В начале выражения
подразумевается конъюнкция. Конъюнкция имеет более высокий приоритет, чем
дизъюнкция. Если ЗНАЧЕНИЕ начинается с одного из символов,
используемых в оп, после оп требуется пробел.
Поддерживаются операторы (оп):
Подстрока должны соответствовать.
Подстрока не должна соответствовать.
Строка должна полностью совпадать.
Строка не должна полностью совпадать.
Численное значение должно совпадать.
Численное значение не должно совпадать.
Численное значение не должно превосходить заданное.
Численное значение должно быть меньше заданного.
Численное значение должно быть больше заданного.
Численное значение не должно быть меньше заданного.
Строка должна не больше заданной.
Строка должна быть меньше заданной.
Строка должна быть больше заданной.
Строка должна быть не меньше заданной.
Истинно, если значение не пусто (допускается отсутствие значения).
Истинно, если значение пусто (допускается отсутствие значения).
То же, что «ИМЯ_СВОЙСТВА != 0» (допускается отсутствие значения).
То же, что «ИМЯ_СВОЙСТВА == 0» (допускается отсутствие значения).
Значения параметра признак должны отделяться пробелом. Поддерживаются признаки:
ЗНАЧЕНИЕ распространяется до конца выражения.
Регистр символов при сопоставлении строк в этой части не учитывается.
Параметры фильтра соединяются в спецификации для фильтра одного и того же типа. Например, четыре параметра
--import-option keep-uid="uid =~ Alfa" --import-option keep-uid="&& uid !~ Test" --import-option keep-uid="|| uid =~ Alpha" --import-option keep-uid="uid !~ Test"
эквивалентны
--import-option \ keep-uid="uid =~ Alfa" && uid !~ Test" || uid =~ Alpha" && "uid !~ Test"
и приводят к тому, что импортируются только идентификаторы пользователя ключа, содержащие строки «Alfa» или «Alpha», но не строку «Test».
Программа возвращает 0, если все прошло успешно, 1 — если хотя бы одна подпись была неверна, другие коды ошибок при неустранимых сбоях.
Выбирайте *хороший* пароль для своей учетной записи и *хорошую* фразу-пароль для защиты своего секретного ключа. Эта фраза-пароль будет самой слабой частью всей системы. Программы перебора по словарю для таблицы секретных ключей пишутся очень легко, так что каталог «~/.gnupg/» нужно как следует защитить.
Имейте в виду, что если эта программа применяется по сети (через telnet), то *очень* легко подглядеть вашу фразу-пароль!
Если вы собираетесь проверять отделенные подписи, убедитесь, что программа знает об этом; задавайте либо имена обоих файлов в командной строке, либо указывайте на стандартный поток ввода с помощью ‘-’.
GnuPG стремится к гибкости реализации стандарта OpenPGP. В частности, GnuPG реализует множество необязательных разделов стандарта, таких как хеш SHA-512 и алгоритмы сжатия ZLIB и BZIP2. Важно понимать, что не во всех программах OpenPGP реализованы эти необязательные алгоритмы и что принудительное их использование в GnuPG с помощью параметров --cipher-algo, --digest-algo, --cert-digest-algo или --compress-algo может привести к созданию вполне соответствующего стандарту сообщения, которое, однако, получатель прочесть не сможет.
Существуют десятки вариаций программ OpenPGP, и каждая поддерживает слегка отличающийся от других набор этих необязательных алгоритмов. Например, до недавнего времени ни одна (не измененная) версия PGP не поддерживала алгоритм шифрования BLOWFISH. По умолчанию GnuPG применяет систему предпочтений из стандарта OpenPGP, которая всегда приводит к тому, что создаваемыми сообщениями могут пользоваться все получатели независимо от того, какой программой OpenPGP они пользуются. Не изменяйте эти надежные исходные настройки, если только вы не полностью уверены в том, что делаете.
Если вам совершенно необходимо изменить исходные настройки или если предпочтения для данного ключа по какой-то причине ошибочны, лучше воспользоваться параметром --pgp6, --pgp7 или --pgp8. Эти параметры безопасны, поскольку они не вводят принудительно никаких конкретных алгоритмов в нарушение OpenPGP, а только сужают список доступных алгоритмов до «надежного относительно PGP».
На более старых системах эту программу следует устанавливать с доступом setuid(root). Это необходимо для защиты страниц памяти. Защита предотвращает запись страниц (в которых могут содержаться фразы-пароли или другой важный материал) на диск. Если вы не получаете предупреждения о незащищенной памяти, то ваша операционная система поддерживает защиту без перехода в режим суперпользователя. Программа отказывается от прав суперпользователя, как только выделена защищенная память.
Заметьте также, что на некоторых системах (особенно в портативных компьютерах) есть возможность «сброса на диск» (называемого также «безопасным засыпанием»). Перед переходом в спящий режим или даже перед выключением вся память записывается на диск. Если в операционной системе не принимаются меры по защите сохраненной памяти, фразы-пароли и другой важный материал впоследствии можно восстановить с диска.
Перед тем как сообщить об ошибке, следует поискать сообщения о сходных проблемах в списке рассылки, а затем проверить, не зарегистрирована ли такая ошибка на https://bugs.gnupg.org .
Пред: Примеры GPG, Вверх: Вызов GPG [Содержание][Указатель]
gpg2
часто применяется как служебная программа для других
программ. В этих целях был определен машинный интерфейс, в котором устранены
неоднозначности. Для такой работы почти всегда требуются параметры
--status-fd и --batch.
• Программное применение GnuPG: | Программное применение GnuPG. | |
• Разовые домашние каталоги: | Разовые домашние каталоги. | |
• Быстрая манипуляция ключами: | Быстрая манипуляция ключами. | |
• Автоматическое создание ключей GPG: | Автоматическое создание ключей. |
Следующий: Разовые домашние каталоги, Вверх: Автоматическая работа GPG [Содержание][Указатель]
Если возможно, вместо обращения непосредственно к gpg2
пользуйтесь GPGME. GPGME обеспечивает стабильный независимый от рабочих
программ интерфейс для многих криптографический операций. Библиотека
поддерживает OpenPGP и S/MIME, а также позволяет взаимодействовать с
различными компонентами GnuPG.
GPGME предоставляет интерфейс Си, а также привязки для Си++, Qt и Python. Есть привязки и для других языков.
Следующий: Быстрая манипуляция ключами, Пред: Программное применение GnuPG, Вверх: Автоматическая работа GPG [Содержание][Указатель]
Иногда нужно получить результаты какой-то операции, например, импортировать ключ, чтобы исследовать его, но этот ключ не нужно добавлять к рабочей таблице ключей. В прошлых версиях GnuPG можно было указывать альтернативные файлы таблиц как открытых, так и секретных ключей. Однако в современных версиях GnuPG мы изменили порядок хранения секретных ключей, чтобы лучше защищать их материал, так что сохранить эту возможность было невозможно.
Теперь предпочтительно использовать для этого разовые домашние каталоги. Эта техника работает со всеми версиями GnuPG.
Создайте временный каталог, создайте (или скопируйте) настройки, отвечающие
вашим нуждам, укажите gpg2
на этот каталог в переменной среды
GNUPGHOME или в параметре --homedir. GPGME поддерживает это,
позволяя для каждого контекста задавать свои настройки. Выполните теперь
нужные вам операции, импортируя и экспортируя материал ключей по мере
необходимости. По завершении операций каталог можно удалить. Все рабочие
службы GnuPG, которые были запущены, обнаружат это и завершатся.
Следующий: Автоматическое создание ключей GPG, Пред: Разовые домашние каталоги, Вверх: Автоматическая работа GPG [Содержание][Указатель]
В последних версиях GnuPG есть возможность манипулировать ключами без применения интерактивной команды --edit-key. Эта возможность была добавлена главным образом для GPGME (рекомендуемой к применению, см. подраздел «Программное применение GnuPG»). Эта возможность описана в подразделе «Как управлять своими ключами».
Пред: Быстрая манипуляция ключами, Вверх: Автоматическая работа GPG [Содержание][Указатель]
Для автоматического создания ключей команду --genenerate-key можно использовать с параметром --batch. Это самый гибкий способ создания ключей, но и самый сложный. Подумайте, не подойдет ли вам быстрый способ манипуляции ключами, описанный в предыдущем подразделе, «Быстрая манипуляция ключами».
Параметры ключа либо считываются из стандартного потока ввода, либо даются в файле, указанном в командной строке. Файл параметров имеет следующий формат:
Управляющие конструкции:
Вывести текст в качестве диагностики.
Подавить действительное создание ключа (полезно для проверки синтаксиса).
Выполнить создание ключа. Обратите внимание, что неявно эта конструкция вводится перед следующим параметром Key-Type.
Записывать ключ не в исходную таблицу ключей и не в таблицу, данную в командной строке, а в указанный файл. Файл должен определяться до первой конструкции ‘%commit’, при повторном задании учитывается последняя конструкция, появившаяся перед ‘%commit’. Этот файл используется затем до тех пор, пока не появится новое имя файла (при выполнении конструкций ‘%commit’), и все ключи записываются в этот файл. Если задано новое имя файла, этот файл создается (или записывается поверх существующего).
Более защищенный от побочных эффектов способ описан в предыдущем подразделе, «Разовые домашние каталоги».
Этот параметр не влияет на работу GnuPG 2.1 и более поздних версий.
См. предыдущий подраздел, «Разовые домашние каталоги».
Этот параметр не влияет на работу GnuPG 2.1 и более поздних версий.
Параметр позволяет создавать ключи без защиты фразой-паролем. Предназначен в основном для испытаний.
Ключи создаются с помощью более быстрого и несколько менее безопасного генератора случайных чисел. Этот параметр используется для ключей, которые используются короткое время и не требуют полной криптографической защиты. Параметр действует только вместе с управляющей конструкцией ‘%no-protection’.
Общие параметры:
Открывает новый блок параметров, задавая тип первичного ключа. Алгоритм должен подходить для подписей. Это обязательный параметр. Аргументом может быть либо номер алгоритма OpenPGP, либо строка с названием алгоритма. Особое значение ‘default’ можно использовать для создания ключа с типом по умолчанию; в этом случае параметр ‘Key-Usage’ не должен быть задан, а значение ‘default’ должно использоваться и для ‘Subkey-Type’.
Заданная длина создаваемого ключа в битах. Исходное значение можно узнать, выполнив команду ‘gpg2 --gpgconf-list’.
Необязательный параметр; используется для создания запроса на подпись сертификата или сертификата для уже существующего ключа. Параметр Key-Length при этом игнорируется.
Список функций ключа с пробелом или запятой в качестве разделителя. Допустимы значения ‘encrypt’ (шифрование), ‘sign’ (подпись) и ‘auth’ (проверка подлинности). Используется для задания признаков ключа. Проверьте, пожалуйста, что алгоритм может выполнять эти функции. Обратите внимание, что OpenPGP требует, чтобы все первичные ключи могли проводить сертификацию, так что признак ‘cert’ будет установлен в любом случае. Если ‘Key-Usage’ не задан, а ‘Key-Type’ не равен ‘default’, устанавливаются все допустимые для конкретного алгоритма функции; если в качестве списка задан ‘default’, будет создан ключ для подписей (‘sign’).
Создает вторичный ключ (подключ). В настоящее время можно создавать только один подключ. См. выше ‘Key-Type’.
Заданная длина создаваемого вторичного ключа (подключа) в битах. Исходное значение можно узнать, выполнив команду ‘gpg2 --gpgconf-list’.
Список функций подключа; аналогичен ‘Key-Usage’.
Если хотите указать фразу-пароль для секретного ключа, введите ее здесь. По умолчанию для запроса фразы-пароля вызывается диалог программы ввода пароля.
Три части идентификатора пользователя. Не забудьте, что это UTF-8. Если вы не зададите хотя бы один из параметров, идентификатор пользователя не будет создан.
Задать срок действия ключа (и подключа). Это может быть либо дата в формате ИСО (e.g. "20000815T145012"), либо число дней, недель, месяцев или лет после даты создания. Допускается также особая запись «seconds=N» для указания числа секунд с момента создания. Число без буквы считается числом дней. Обратите внимание, что проверка переполнения типа, используемого в OpenPGP для меток времени, не проводится. Таким образом, лучше убедиться, что заданное значение имеет смысл. Хотя OpenPGP работает с интервалами времени, внутри GnuPG применяется абсолютное значение; таким образом, мы можем представлять годы до 2105.
Задать дату создания ключа, которая будет записана в ключе и которая входит в вычисление отпечатка. Это либо дата в виде «1986-04-26», либо полная метка времени в виде «19860426T042640». Время считается Всемирным координированным (UTC). Можно использовать также особую запись «seconds=N» для указания числа секунд от начала эпохи (время Unix). Если параметр не задан, используется текущее время.
Установить предпочтения для симметричных шифров, хеша и сжатия. Вид аргумента совпадает с аргументом подкоманды ‘setpref’ из меню --edit-key.
Добавить отзывающего для создаваемого ключа. В качестве алгоритма задается алгоритм шифрования с открытым ключом для отзывающего (т.е. RSA=1, DSA=17 и т.д.) Строка отп представляет отпечаток отзывающего ключа. Необязательный признак ‘sensitive’ помечает отзывающего как особо важную информацию. Отзывающими могут быть только ключи версии 4.
Необязательный параметр, указывающий URL предпочтительного сервера ключей для данного ключа.
Необязательный параметр, применяемый только со строками состояния KEY_CREATED и KEY_NOT_CREATED. В аргументе может быть до 100 символов и не должно быть пробелов. Это полезно для пакетной генерации ключей, чтобы связать блок параметра ключей со строкой состояния.
Вот пример создания ключа в разовом домашнем каталоге:
$ export GNUPGHOME="$(mktemp -d)" $ cat >foo <<EOF %echo Создание простого ключа OpenPGP Key-Type: DSA Key-Length: 1024 Subkey-Type: ELG-E Subkey-Length: 1024 Name-Real: Яша Испытатель Name-Comment: с дурацкой фразой-паролем Name-Email: yi@test.mil Expire-Date: 0 Passphrase: abc # Тут сохраним, чтоб можно было сказать "готово" :-) %commit %echo готово EOF $ gpg2 --batch --generate-key foo [...] $ gpg2 --list-secret-keys /tmp/tmp.0NQxB74PEf/pubring.kbx ------------------------------- sec dsa1024 2016-12-16 [SCA] 768E895903FC1C44045C8CB95EEBDB71E9E849D0 uid [абсолютно] Яша Испытатель (с дурацкой фразой-паролем) <yi@test.mil> ssb elg1024 2016-12-16 [E]
Если вы хотите создать ключ с исходными алгоритмами, можно задать следующие параметры:
%echo Создание ключа по умолчанию Key-Type: default Subkey-Type: default Name-Real: Яша Испытатель Name-Comment: с дурацкой фразой-паролем Name-Email: yi@test.mil Expire-Date: 0 Passphrase: abc # Тут сохраним, чтоб можно было сказать "готово" :-) %commit %echo готово
Следующий: Вызов SCDAEMON, Пред: Вызов GPG, Вверх: Верх [Содержание][Указатель]
gpgsm
представляет средство, подобное gpg
,
решающее задачи цифрового шифрования и подписи на базе сертификатов X.509 и
протокола CMS. Оно применяется главным образом как служебная программа для
обработки почты по S/MIME. gpgsm
реализует полнофункциональное
управление сертификатами, удовлетворяя всем правилам, определенным в
немецком проекте Sphinx.
Указатель параметров содержит список команд и параметров
GPGSM
.
• Команды GPGSM: | Список всех команд. | |
• Параметры GPGSM: | Список всех параметров. | |
• Настройки GPGSM: | Файл настроек. | |
• Примеры GPGSM: | Некоторые примеры вызова. | |
Сведения для разработчика: | ||
---|---|---|
• Автоматическая работа: | Вызов gpgsm из других программ.
| |
• Протокол GPGSM: | Протокол серверного режима. |
Следующий: Параметры GPGSM, Вверх: Вызов GPGSM [Содержание][Указатель]
Команды отличаются от параметров только тем, что допускается только одна команда.
• Общие команды GPGSM: | Команды, не связанные с конкретными функциями. | |
• Команды операций GPGSM: | Команды выбора типа операции. | |
• Управление сертификатами: | Как управлять сертификатами. |
Следующий: Команды операций GPGSM, Вверх: Команды GPGSM [Содержание][Указатель]
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help, -h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя сокращать (напр., как --hel).
--warranty
Вывести сведения о гарантиях. Эту команду нельзя сокращать (напр., как --warrant).
--dump-options
Вывести список всех имеющихся параметров и команд. Эту команду нельзя сокращать (напр., как --dump-option).
Следующий: Управление сертификатами, Пред: Общие команды GPGSM, Вверх: Команды GPGSM [Содержание][Указатель]
--encrypt
Зашифровать. Ключи, для которых шифруются данные, должны быть заданы параметром --recipient.
--decrypt
Расшифровать; форма данных на входе определяется автоматически. Это может быть двоичный формат или кодировка PEM; автоматическое распознавание кодировки base-64 не производится.
--sign
Сделать цифровую подпись. Используется либо первый ключ, найденный на щите с ключами, либо ключи, заданные параметром --local-user.
--verify
Проверить цифровую подпись. В зависимости от аргументов может проверяться также отделенная подпись.
--server
Работать в режиме сервера, ожидая команды со стандартного потока ввода.
--call-dirmngr команда [аргументы]
Имитировать программу-клиент Dirmngr с заданной командой и необязательным
списком аргументов. Вывод Dirmngr печатается в стандартном потоке
вывода. Обратите внимание, что имена файлов, передаваемые в качестве
аргументов, должны быть абсолютными (т.е. начинаться с /
), потому что
они передаются в Dirmngr буквально, а рабочий каталог Dirmngr может не
совпадать с рабочим каталогом вызвавшей программы. В настоящее время
передавать данные в Dirmngr через стандартный поток ввода невозможно. В
аргументе команда не должно быть пробелов.
Эта команда требуется для проведения определенных регламентных работ
программы Dirmngr, при которых у Dirmngr должна быть возможность обратной
связи с gpgsm
. Подробности см. в руководстве по Dirmngr.
--call-protect-tool аргументы
Определенные регламентные операции проводятся с помощью внешней программы
gpg-protect-tool
; она обычно не устанавливается в каталоге,
перечисленном в переменной PATH. Команда предоставляет простую оболочку для
доступа к этому средству. Аргументы передаются в эту команду буквально;
‘--help’ выдает список доступных операций.
Пред: Команды операций GPGSM, Вверх: Команды GPGSM [Содержание][Указатель]
--generate-key
--gen-key
Эта команда позволяет создавать запрос подписи сертификата или самоподписанный сертификат. Часто она используется с параметром --output, чтобы сохранить результат в файле. Если задан параметр --batch, при создании запроса подписи сертификата или сертификата используется файл настроек, и можно создавать несамоподписанные сертификаты.
--list-keys
-k
Перечислить все доступные сертификаты, хранящиеся в локальной базе данных ключей. Обратите внимание, что выводимые данные могут переформатироваться для лучшей читаемости человеком, а недопустимые символы заменяются на то, что можно нормально отобразить.
--list-secret-keys
-K
Перечислить все доступные сертификаты, для которых есть секретный ключ.
--list-external-keys шаблон
Перечислить сертификаты, соответствующие аргументу, из внешнего
сервера. Команда задействует службу dirmngr
.
--list-chain
То же, что --list-keys, но выводит также все ключи, составляющие цепочку.
--dump-cert
--dump-keys
Перечислить все доступные сертификаты, хранящиеся в локальной базе данных ключей, в формате, полезном главным образом для отладки.
--dump-chain
То же, что --dump-keys, но выводит также все ключи, составляющие цепочку.
--dump-secret-keys
Перечислить все доступные сертификаты, для которых есть секретный ключ, в формате, полезном главным образом для отладки.
--dump-external-keys шаблон
Перечислить сертификаты, соответствующие шаблону, из внешнего
сервера. Команда задействует службу dirmngr
. Формат, в котором
выводится список, полезен главным образом для отладки.
--keydb-clear-some-cert-flags
Это средство отладки для сброса определенных признаков в базе данных ключей,
используемой как буфер для определенных элементов состояния ключей. Особенно
полезно, когда испорчен список отозванных сертификатов или странно
работающий ответчик OCSP действительно случайно отозвал сертификат. Эта
команда не представляет проблем безопасности, потому что gpgsm
всегда гарантирует, что достоверность сертификата проверяется
непосредственно перед его применением.
--delete-keys шаблон
Удалить ключи, соответствующие шаблону. Обратите внимание, что команды для
прямого удаления секретной части ключа нет. В случае, если вам это нужно,
перед удалением ключа следует выполнить команду gpgsm
--dump-secret-keys идентификатор_ключа
, скопировать последовательность
шестнадцатеричных чисел в строке «код ключа» и удалить файл, имя которого
состоит из этой последовательности и суффикса .key
из каталога
private-keys-v1.d, находящегося в домашнем каталоге GnuPG (обычно
~/.gnupg).
--export [шаблон]
Экспортировать все сертификаты, хранящиеся на щите с ключами, указанные необязательным аргументом. Шаблон состоит из списка идентификаторов пользователя (см. как задать идентификатор пользователя). При вводе с параметром --armor перед каждым блоком выводится несколько информационных строк. Есть одно ограничение: поскольку нет общепринятого способа упаковки нескольких сертификатов в одну структуру ASN.1, двоичный вариант (без параметра --armor) работает только для экспорта одного сертификата. Одноразовые сертификаты экспортируются, только если все шаблоны представляют коды ключей или отпечатки.
--export-secret-key-p12 идентификатор ключа
Экспортировать секретный ключ и сертификат, указанный аргументом, в формате PKCS#12. При вводе с параметром --armor перед данными на выходе выводится несколько информационных строк. Обратите внимание, что формат PKCS#12 не очень защищен, и эта команда дается только на случай, если обменяться секретным ключом по-другому невозможно. (See параметр --p12-charset.)
--export-secret-key-p8 идентификатор ключа
--export-secret-key-raw идентификатор ключа
Экспортировать секретный ключ сертификата, указанного в аргументе, в
полностью незашифрованном виде. Команда ...-raw
выводит в формате
PKCS#1, команда ...-p8
выводит в формате PKCS#8. При вводе с
параметром --armor перед данными на выходе выводится несколько
информационных строк. Эти команды полезны для подготовки ключа к
использованию на сервере TLS.
--import [файлы]
Импортировать сертификаты из двоичных файлов или файлов в кодировке PEM, а также из сообщений, которые только подписаны. Этой командой можно импортировать также секретный ключ из файла PKCS#12.
--learn-card
Считать информацию о секретных ключах из электронной карты, импортировать
оттуда сертификаты. Эта команда пользуется программой gpg-agent
а
та, в свою очередь, scdaemon
.
--change-passphrase идентификатор пользователя
--passwd идентификатор пользователя
Изменить фразу-пароль секретного ключа, принадлежащего сертификату, указанному в аргументе. Обратите внимание, что изменение фразы-пароля или PIN электронной карты пока не поддерживается.
Следующий: Настройки GPGSM, Пред: Команды GPGSM, Вверх: Вызов GPGSM [Содержание][Указатель]
GPGSM
характеризуется множеством параметров для управления
деталями работы и для изменения исходных настроек.
• Параметры настроек: | Как изменять настройки. | |
• Параметры сертификатов: | Параметры, связанные с сертификатами. | |
• Ввод и вывод: | Ввод и вывод. | |
• Параметры CMS: | Как изменять создание CMS. | |
• Эзотерические параметры: | То, чего обычно делать не нужно. |
Следующий: Параметры сертификатов, Вверх: Параметры GPGSM [Содержание][Указатель]
Эти параметры применяются для изменения настроек и обычно находятся в файле параметров.
--options файл
Читает настройки из заданного файла вместо исходного файла настроек пользователя. Исходный файл настроек под названием gpgsm.conf находится в каталоге .gnupg, который находится непосредственно в домашнем каталоге пользователя.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
-v
--verbose
Выводит во время работы дополнительную информацию. Объем информации можно увеличивать, вводя параметр несколько раз, например, ‘-vv’.
--policy-file файл
Изменить исходное имя файла с правилами на заданное в аргументе.
--agent-program файл
Указать программу-агент для операций с секретными ключами. Исходное значение
определяется командой gpgconf
. Обратите внимание, что символ
конвейера («|
») применяется для регрессионного тестирования и поэтому
не может появляться в имени файла.
--dirmngr-program файл
Указать программу dirmngr
для проверок списков отозванных
сертификатов. Исходное значение — /usr/local/bin/dirmngr.
--prefer-system-dirmngr
Если общесистемный dirmngr
работает в фоновом режиме, сначала
пытаться подключиться к нему. Использовать запасной вариант на базе
конвейера, если это не удается. Под Windows этот параметр не учитывается,
поскольку всегда используется системный dirmngr
.
--disable-dirmngr
Полностью отключить пользование программой Dirmngr.
--no-autostart
Не запускать gpg-agent
и dirmngr
, когда они еще не
запущены, а их функции требуются. Этот параметр полезен главным образом на
машинах, где подключение к gpg-agent
перенаправляется на другие
машины. Если dirmngr
требуется на удаленной машине, его можно
запускать вручную с помощью gpgconf --launch dirmngr
.
--no-secmem-warning
Не выводить предупреждение, когда так называемой «защищенной памятью» не удается воспользоваться.
--log-file файл
При работе в режиме сервера дописывать весь протокол работы в заданный файл. Укажите socket://, если нужно протоколировать в сокет.
Следующий: Ввод и вывод, Пред: Параметры настроек, Вверх: Параметры GPGSM [Содержание][Указатель]
--enable-policy-checks
--disable-policy-checks
По умолчанию проверка правил включена. Этими параметрами это можно менять.
--enable-crl-checks
--disable-crl-checks
По умолчанию проверки списков отозванных сертификатов включены, и
dirmngr
используется для проверки отозванных
сертификатов. Параметр --disable-crl-checks полезнее всего, когда
сеть отключена и проверки нужно подавить.
--enable-trusted-cert-crl-check
--disable-trusted-cert-crl-check
По умолчанию списки отозванных сертификатов для доверенных корневых
сертификатов проверяются, как для любых других сертификатов. Это позволяет
удостоверяющему центру отзывать свои собственные сертификаты без
необходимости размещения всех когда-либо выданных сертификатов в списоке
отозванных сертификатов. Параметр --disable-trusted-cert-crl-check
можно использовать, чтобы отключить эту дополнительную проверку. Из-за
буферирования, проводимого в dirmngr
, заметного выигрыша в
быстродействии не будет. Обратите внимание, что это отключает также
возможные проверки доверенных корневых сертификатов по OCSP. Более выборочно
эту проверку можно отключить, добавляя ключевое слово «relax» в строку
корневого удостоверяющего центра в файле trustlist.txt.
--force-crl-refresh
Дать программе dirmngr
указание перезагружать список отозванных
сертификатов на каждом запросе. Для ускорения dirmngr
в
действительности оптимизирует это, подавляя загрузки на короткое время
(напр., 30 минут). Этот параметр полезен, чтобы гарантировать, что для
сертификатов со щита с ключами есть свежий список отозванных
сертификатов. Предлагается делать это, используя этот с параметром
--with-validation для команды перечисления ключей. Этот параметр не
следует записывать в файл настроек.
--enable-ocsp
--disable-ocsp
По умолчанию проверки по OCSP выключены. Параметром --enable-ocsp
можно включить проверки по OCSP через dirmngr
. Если проверки
списков отозванных сертификатов тоже включены, списки отозванных
сертификатов будут использованы как запасной вариант, если по какой-то
причине запрос OCSP не пройдет. Обратите внимание, что в настройках
dirmngr
тоже нужно включать запросы по OCSP (параметр
--allow-ocsp), и dirmngr
нужно соответственно
настроить. Если этого не сделать, будет выдана ошибка ‘Не
поддерживается’.
--auto-issuer-key-retrieve
Если при проверке цепочки сертификатов требуемый сертификат отсутствует,
пытаться загрузить этот сертификат из внешнего источника. Это обычно
означает, что для поиска сертификата задействуется
dirmngr
. Обратите внимание, что это может привести к «сетевому
проколу». Операторы сервера LDAP могут узнать, какие ключи вы запрашиваете,
так что оператор может узнать и ваш адрес IP, и время, когда вы проверяли
подпись, если пошлет вам сообщение, подписанное свежесозданным ключом
(которого у вас в локальной таблице ключей, естественно, не найдется).
--validation-model название
Этот параметр изменяет исходную схему проверки. Возможны значения: «shell» (исходная), «chain» (цепочная схема) и «steed» (новая упрощенная схема). Цепочная схема применяется также, если этого требует параметр в trustlist.txt или атрибут в сертификате. Однако в этом случае сначала всегда применяется исходная модель («shell»).
--ignore-cert-extension oid
Добавить oid к списку игнорируемых расширений сертификатов. Аргумент
должен представлять десятичные числа, разделенные точками, например,
2.5.29.3
. Этот параметр можно задавать несколько раз. Расширения
сертификата, совпадающие с перечисленными OID и помеченные как критичные,
будут считаться обработанными, так что сертификат не будет отбракован из-за
неизвестного критичного расширения. Пользуйтесь этим параметром с
осторожностью, потому что расширения обычно не помечаются как критичные без
причины.
Следующий: Параметры CMS, Пред: Параметры сертификатов, Вверх: Параметры GPGSM [Содержание][Указатель]
--armor
-a
Выводить данные в кодировке PEM. По умолчанию они выводятся в двоичном виде.
--base64
Выводить данные в кодировке base-64, т.е. PEM без заголовочных строк.
--assume-armor
Считать, что данные вводятся в кодировке PEM. По умолчанию кодировка детектируется автоматически, но это может дать сбой.
--assume-base64
Считать, что данные вводятся в кодировке base-64.
--assume-binary
Считать, что данные вводятся в двоичном виде.
--p12-charset кодировка
gpgsm
кодирует фразы-пароли в файлах PKCS#12 в кодировке
UTF-8. Этим параметром можно принудительно сохранять фразу-пароль в заданной
кодировке. Это полезно, если приложение, импортирующее ключ, пользуется
другой кодировкой и поэтому не сможет импортировать файл, созданный
gpgsm
. Часто используются кодировки Latin1
и
CP850
. Обратите внимание, что сама gpgsm
при импорте
автоматически определяет фразы-пароли в наиболее употребительных кодировках.
--default-key идентификатор пользователя
Задать основной ключ для подписи. Этот ключ используется, если для подписи не определен никакой другой ключ. Обратите внимание, что первый параметр --local-users также задает этот ключ, если он еще не задан; --default-key всегда переопределяет этот ключ.
--local-user идентификатор пользователя
-u идентификатор пользователя
Задать пользователей, ключами которых будет производиться подпись. Исходное значение — первый секретный ключ, находящийся в базе данных.
--recipient имя
-r
Шифровать для указанного пользователя. Идентификатор пользователя можно задавать разными способами (см. как задать идентификатор пользователя).
--output файл
-o файл
Записывать результат в файл. По умолчанию используется стандартный поток вывода.
--with-key-data
При выполнении команд --list-keys
выводить дополнительную информацию,
главным образом код ключа в строке с пометкой grp
. Эта строка
используется, например, как имя файла с секретным ключом. Подразумевает
--with-colons
.
--with-validation
При перечислении ключей проводить полную проверку достоверности для каждого ключа и выводить результат. Обычно это медленная операция, потому что подразумевает поиск по списку отозванных сертификатов и другие операции.
Когда параметр используется с командой --import, сертификат импортируется только после успешной проверки. Обратите внимание, что это не влияет на сертификаты, уже размещенные в базе данных. Таким образом, этот параметр полезен для того, чтобы просто проверять сертификаты.
--with-md5-fingerprint
При обычных перечислениях ключей выводить также отпечаток MD5 сертификата.
--with-keygrip
Выводить код ключа при обычных перечислениях ключей. Обратите внимание, что код ключа всегда выводится в режиме --with-colons.
--with-secret
Выводить сведения о присутствии секретного ключа в списках открытых ключей,
производимых --with-colons
.
Следующий: Эзотерические параметры, Пред: Ввод и вывод, Вверх: Параметры GPGSM [Содержание][Указатель]
--include-certs n
Значение аргумента, равное -2, включает все сертификаты, кроме корневого, -1 — все сертификаты, 0 — не включает никакие, 1 — только сертификаты подписавшего, все другие положительные числа включают все сертификаты до n-го, начиная с сертификата подписавшего. Исходное значение равно -2.
--cipher-algo oid
Применять для шифрования симметричный шифр с указанным идентификатором
объекта ASN.1. Для удобства вместо идентификаторов можно использовать строки
3DES
, AES
и AES256
. Исходное значение — AES
(2.16.840.1.101.3.4.1.2).
--digest-algo название
Использовать указанный алгоритм хеша. Обычно этот алгоритм определяется по соответствующему подписывающему сертификату. Этот параметр принудительно задает алгоритм, что может привести к серьезным проблемам совместимости.
Пред: Параметры CMS, Вверх: Параметры GPGSM [Содержание][Указатель]
--extra-digest-algo название
Иногда в неисправных подписях заявлен не тот алгоритм хеша, который в них
применяется. gpgsm
обрабатывает данные в один проход, поэтому для
правильного вычисления хеша программе приходится рассчитывать на то, что в
подписи применяются заявленные алгоритмы. Этот параметр позволяет указать
gpgsm
, что нужно дополнительно вычислять указанный хеш; это
немного замедляет обработку, но позволяет проверять такие неисправные
подписи. Если gpgsm
выводит такую ошибку, как «алгоритм 8 не
подключен», можно попробовать ввести этот параметр с ‘SHA256’ в
качестве аргумента.
--faked-system-time момент
Этот параметр полезен только для тестирования; он переводит системное время к моменту, заданному аргументом в виде количества секунд с начала 1970 года. Время можно задавать также в виде полной строки времени ИСО (напр., «20070924T154812»).
--with-ephemeral-keys
Включать одноразовые ключи в перечисления ключей. Обратите внимание, что они все равно включаются, если ключ для перечисления указан в виде отпечатка или кода ключа.
--debug-level уровень
Выбрать уровень отладки для исследования проблем. Аргумент может быть числом либо ключевым словом:
none
Никаких отладочных сообщений. Соответствует значениям, меньшим 1.
basic
Некоторые простые отладочные сообщения. Соответствует значениям от 1 до 2.
advanced
Более подробные отладочные сообщения. Соответствует значениям от 3 до 5.
expert
Еще более подробные сообщения. Соответствует значениям от 6 до 8.
guru
Все отладочные сообщения, какие только есть. Соответствует значениям, большим 8.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
--debug признаки
Этот параметр полезен только для отладки, его значение может меняться в
любое время без объявления; для выбора подробности отладочных сообщений
рекомендуется параметр --debug-levels
. Признаки кодируются по битам и
задаются обычным синтаксисом Си. В настоящее время определены биты:
0 (1)
данные, связанные с протоколами X.509 или OpenPGP
1 (2)
значения длинных чисел
2 (4)
криптографические операции низкого уровня
5 (32)
выделение памяти
6 (64)
буферизация
7 (128)
показывать статистику памяти
9 (512)
записывать хешируемые данные в файлы с именами dbgmd-000*
10 (1024)
отслеживать протокол Assuan
Обратите внимание, что все флаги, установленные этим параметром, могут
переустанавливаться с помощью параметра --debug-level
.
--debug-all
То же, что --debug=0xffffffff
--debug-allow-core-dump
Обычно gpgsm
в целях безопасности предотвращает вывод дампа памяти
высоким качеством программы, а также отключением вывода дампа памяти. Однако
ошибки живучи, и чтобы отловить их, иногда полезно получить дамп
памяти. Этот параметр включает дампы памяти, если только эта дрянь не
происходит еще до распознавания параметров.
--debug-no-chain-validation
Это на самом деле не параметр отладки, но полезен только как таковой. Он
позволяет gpgsm
обходить все проверки цепочек сертификатов.
--debug-ignore-expiration
Это на самом деле не параметр отладки, но он полезен только как таковой. Он
позволяет gpgsm
игнорировать все даты notAfter, это применяется в
регрессионном тестировании.
--passphrase-fd n
Читать фразу-пароль из файлового дескриптора n
. Из дескриптора
читается только первая строка. Если в качестве n
указать 0,
фраза-пароль считывается из стандартного потока ввода. Это возможно, только
если передается одна фраза-пароль.
Обратите внимание, что эта фраза-пароль используется только вместе с параметром --batch.
--pinentry-mode режим
Установить указанный режим программы ввода пароля. Допустимые значения аргумента:
Исходный режим агента (ask
).
Принудительно пользоваться программой ввода пароля.
Имитировать нажатие в программе ввода пароля кнопки отмены.
Возвратить ошибку («Нет программы ввода пароля»).
Перенаправлять запросы к программе ввода пароля на вызывающего. Обратите внимание, что в отличие от программы ввода пароля, попытки ввода не повторяются, если пользователь ввел неверный пароль.
--no-common-certs-import
Подавить импорт общих сертификатов при создании щита с ключами.
Все длинные параметры можно размещать в файле настроек без начальных символов «–».
Следующий: Примеры GPGSM, Пред: Параметры GPGSM, Вверх: Вызов GPGSM [Содержание][Указатель]
Есть несколько файлов настроек для управления определенными аспектами работы
gpgsm
. Если специально не оговорено, они располагаются в текущем
домашнем каталоге (см. параметр --homedir).
Это обычный файл настроек, который gpgsm
читает при запуске. В нем
могут быть только допустимые длинные параметры; символов «–» перед
названием параметра быть не должно, сокращать параметры нельзя. Это исходное
имя файла можно изменить в командной строке (см. параметр gpgsm --options). Для этого файла следует проводить резервное копирование.
Список допустимых правил удостоверяющих центров. В этом файле должны построчно перечисляться идентификаторы объектов правил. Пустые строки и строки, начинающиеся с «#», игнорируются. Если правило, которого нет в этом файле, не помечено в сертификате как критичное, это приводит только к предупреждению; если оно помечено как критичное, проверка подписи выдаст ошибку. Для этого файла следует проводить резервное копирование.
Например, чтобы было разрешено только правило 2.289.9.9, файл должен иметь вид:
# Allowed policies 2.289.9.9
Список корневых сертификатов, используемых для квалифицированных
сертификатов. Они определяются как сертификаты, способные создавать такие же
юридически обязывающие подписи, как подписи от руки. Примечания,
начинающиеся с «#», и пустые строки игнорируются. Строки ограничены по
длине, но это несущественно, потому что формат элементов фиксирован и
проверяется gpgsm
: строка начинается с необязательных пробелов, за
которыми следуют в точности 40 шестнадцатеричных символов, пробелы и две
строчных буквы, составляющие код страны. Дополнительные данные, разделенные
пробелами, в настоящее время не учитываются, но впоследствии могут
использоваться в других целях.
Обратите внимание, что даже если сертификат указан в этом файле, это не значит, что это доверенный сертификат; для этого сертификат должен быть указан также в trustlist.txt.
Это глобальный файл, установленный в каталоге данных (напр., /usr/local/share/gnupg/qualified.txt). GnuPG устанавливает соответствующий файл с корневыми сертификатами, применяемыми в Германии. Поскольку со временем могут выдаваться новые корневые сертификаты удостоверяющих центров, этот список тоже нужно обновлять; новые выпуски этого пакета программ должны содержать обновленный список, но ответственность за проверку этого списка все равно лежит на администраторе.
Каждый раз, когда gpgsm
пользуется сертификатом для подписи или
проверки, программа обращается к этому файлу, чтобы проверить, выпущен ли
данный сертификат одним из этих удостоверяющих центров. Если это так,
пользователя извещают, что проверенная подпись представляет юридически
обязывающую («квалифицированную») подпись. При создании подписи с помощью
такого сертификата производится дополнительный запрос, чтобы пользователь
подтвердил, что такая юридически обязывающая подпись действительно должна
быть создана.
Поскольку эта программа еще не была одобрена для применения с такими сертификатами, для указания на этот факт выводятся соответствующие уведомления.
Это текстовый файл с несколькими пунктами справки, которые используются в
программе ввода пароля pinentry
, а также большой список текстов
справки для gpg
и gpgsm
. В файле без суффикса записаны
английские тексты; для установки переведенных версий пользуйтесь файлами
help.LL.txt, где LL — код языка. В GnuPG устанавливает первоначальный
набор файлов в каталоге данных (напр.,
/usr/local/share/gnupg/gnupg/help.de.txt) и позволяет заменять любые пункты
справки из файлов, установленных в системном каталоге настроек (напр.,
/usr/local/etc/gnupg/help.de.txt). Справку по синтаксису файла см. в
установленном файле help.txt.
Сборник общих сертификатов, которые записываются во вновь создаваемые pubring.kbx. Администратор может заменять этот файл в соответствии с местными требованиями. Этот глобальный файл устанавливается в каталог данных (напр., /usr/local/share/gnupg/com-certs.pem).
Обратите внимание, что в крупных системах полезно помещать заранее написанные файлы в каталог /etc/skel/.gnupg/, чтобы новые пользователи начинали с работающими настройками. Для существующих пользователей имеется небольшая программа для создания этих файлов (см. addgnupghome).
Для внутреннего пользования gpgsm
создает и ведет несколько других
файлов; все они располагаются в текущем домашнем каталоге (см. параметр --homedir). Эти файлы можно изменять только программой gpgsm
.
Это файл базы данных, в которой хранятся сертификаты, а также сопутствующие
данные. Для отладки можно воспользоваться средством kbxutil
,
которое показывает внутреннюю структуру этого файла. Для этого файла следует
проводить резервное копирование.
Содержимое этого файла используется для сохранения внутреннего состояния генератора случайных чисел между вызовами. Этот же файл используется и другими программами этого пакета.
Если этот файл существует, gpgsm
попытается соединиться с этим
сокетом для доступа к gpg-agent
перед тем, как запускать новый
экземпляр gpg-agent
. Под Windows этот сокет (который в
действительности представляет простой файл с описанием обычного принимающего
порта TCP) является основным способом подключения к gpg-agent
.
Следующий: Автоматическая работа, Пред: Настройки GPGSM, Вверх: Вызов GPGSM [Содержание][Указатель]
$ gpgsm -er foo@test.org < открытый-текст > шифровка
Следующий: Протокол GPGSM, Пред: Примеры GPGSM, Вверх: Вызов GPGSM [Содержание][Указатель]
gpgsm
часто применяется как служебная программа в других
программах. Чтобы облегчить такое использование, был определен машинный
интерфейс, в котором исключаются неоднозначности. Скорее всего это будет
применяться с командой --server, но этим можно пользоваться также в
обычном режиме, задавая параметр --status-fd.
• Автоматическая проверка подписи: | Автоматическая проверка подписи. | |
• Создание CSR и сертификатов: | Создание CSR и сертификатов. |
Следующий: Создание CSR и сертификатов, Вверх: Автоматическая работа [Содержание][Указатель]
Очень важно понимать процессы, происходящие при проверке подписи. Проверка подписи не так проста, как это может показаться, так что тут есть сложности. В большинстве случаев требуется обращать внимание на несколько строк состояния. Вот таблица всех вариантов проверки подписанного сообщения:
Это и в самом деле значит, что подпись успешно прошла проверку, сертификаты
не повреждены. Однако есть два существенно разных случая. Во-первых,
сертификаты или сама подпись могут быть просрочены. Разумно считать такую
подпись все-таки верной, но должна выводиться дополнительная информация. В
зависимости от обстоятельств gpgsm
выдает следующие коды
состояния:
GOODSIG
, VALIDSIG
, TRUST_FULLY
EXPKEYSIG
, VALIDSIG
, TRUST_FULLY
EXPSIG
, VALIDSIG
, TRUST_FULLY
Обратите внимание, что этот случай в настоящее время не реализован.
Это значит, что подпись не прошла проверку (это указывает на ошибку при
передаче данных, ошибку в программе или подмену сообщения). gpgsm
выдает один из следующих кодовых последовательностей:
BADSIG
GOODSIG
, VALIDSIG
TRUST_NEVER
По той или иной причине подпись проверить не удалось, т.е. нельзя определить, верна она или нет. Обычно это бывает из-за отсутствия сертификата.
Пред: Автоматическая проверка подписи, Вверх: Автоматическая работа [Содержание][Указатель]
Команду --generate-key можно применять с параметром --batch для создания запроса на подпись сертификата (CSR) или сертификата X.509. Это управляется файлом параметров; формат этого файла следующий:
Управляющие конструкции:
Вывести текст в качестве диагностики.
Подавить действительное создание ключа (полезно для проверки синтаксиса).
Выполнить создание ключа. Обратите внимание, что неявно эта конструкция вводится перед следующим параметром Key-Type.
Общие параметры:
Открывает новый блок параметров, задавая тип первичного ключа. Алгоритм должен подходить для подписей. Это обязательный параметр. В качестве аргумента поддерживается только ‘rsa’.
Заданная длина создаваемого ключа в битах. Исходное значение 2048.
Необязательный параметр; используется для создания запроса на подпись сертификата или сертификата для уже существующего ключа. Параметр Key-Length при этом игнорируется.
Список функций ключа с пробелом или запятой в качестве разделителя. Допустимы значения ‘encrypt’ (шифрование), ‘sign’ (подпись) и ‘cert’ (сертификация). Используется для задания расширения keyUsage. Проверьте, пожалуйста, что алгоритм может выполнять эти функции. По умолчанию назначаются функции шифрования и подписи.
Это уникальное имя (DN) субъекта в формате RFC-2253
.
Это адрес электронной почты для altSubjectName. Это необязательный параметр, но он может появляться несколько раз, чтобы добавить к сертификату несколько адресов электронной почты.
Это имя DNS для altSubjectName. Это необязательный параметр, но он может появляться несколько раз, чтобы добавить к сертификату несколько имен DNS.
Это URI для altSubjectName. Это необязательный параметр, но он может появляться несколько раз, чтобы добавить к сертификату несколько URI.
Дополнительные параметры для создания сертификата (в отличие от запроса на подпись сертификата):
Если этот параметр задан, будет создан сертификат X.509. Аргумент должен быть шестнадцатеричной строкой, представляющей целое число произвольной длины без знака. Особое значение ‘random’ можно вводить, чтобы создавать случайный 64-битный серийный номер.
Это уникальное имя издателя в формате RFC-2253
. Если не задано, будет
использовано уникальное имя субъекта; кроме того, в сертификат будет
добавлено специальное расширение GnuPG, чтобы пометить это как независимый
сертификат.
Установить дату notBefore в сертификате. Можно использовать либо дату в виде ‘1986-04-26’ или ‘1986-04-26 12:00’, либо стандартную дату ИСО в виде ‘19860426T042640’. Время считается Всемирным координированным (UTC). Если не задано, используется текущее время.
Установить дату notAfter в сертификате. Можно использовать либо дату в виде ‘2063-04-05’ или ‘2063-04-05 17:00’, либо стандартную дату ИСО в виде ‘20630405T170000’. Время считается Всемирным координированным (UTC). Если не задано, используется текущее время.
Задает код ключа, которым подписывается сертификат. Если не задан, создается самоподписанный сертификат. Для совместимости с будущими версиями предлагается писать перед кодом ключа ‘&’.
Применить для этого сертификата или запроса на подпись сертификата заданный алгоритм хеша: ‘sha1’, ‘sha256’, ‘sha384’ или ‘sha512’; их можно указывать также прописными буквами. Исходное значение равно ‘sha256’.
Пред: Автоматическая работа, Вверх: Вызов GPGSM [Содержание][Указатель]
Описание протокола доступа к gpgsm
. Программа gpgsm
реализует и протокол Assuan, но в дополнение предоставляет нормальный
протокол командной строки, который обеспечивает все функции этого протокола
(но с помощью внутреннего связывания). Для запуска gpgsm
в
качестве сервера нужно задать параметр командной строки
--server. Дополнительные параметры служат для выбора метода связи
(т.е. имени сокета).
Мы предполагаем, что соединение уже установлено; подробности см. в руководстве по Assuan.
• GPGSM ENCRYPT: | Зашифровать сообщение. | |
• GPGSM DECRYPT: | Расшифровать сообщение. | |
• GPGSM SIGN: | Подписать сообщение. | |
• GPGSM VERIFY: | Проверить сообщение. | |
• GPGSM GENKEY: | Создать ключ. | |
• GPGSM LISTKEYS: | Показать доступные ключи. | |
• GPGSM EXPORT: | Экспорт сертификатов. | |
• GPGSM IMPORT: | Импорт сертификатов. | |
• GPGSM DELETE: | Удалить сертификаты. | |
• GPGSM GETAUDITLOG: | Извлечь аудиторский след. | |
• GPGSM GETINFO: | Сведения о процессе. | |
• GPGSM OPTION: | Параметры сеанса. |
Следующий: GPGSM DECRYPT, Вверх: Протокол GPGSM [Содержание][Указатель]
Перед шифрованием нужно задать получателя командой:
RECIPIENT идентификатор пользователя
Задать получателя шифрованного сообщения. Идентификатор пользователя должен
быть внутренним представлением ключа; сервер может принимать любой другой
способ указания. Если это достоверный и доверенный получатель, сервер
отвечает кодом OK
; в противном случае он возвращает ERR
с
причиной, по которой получатель недопустим, шифрование для этого получателя
производиться не будет. Если нужно, чтобы шифрование не производилось, если
не все получатели достоверны, об этом должна позаботиться
программа-клиент. Все команды RECIPIENT
накапливаются до команды
RESET
или до успешной команды ENCRYPT
.
INPUT FD[=n] [--armor|--base64|--binary]
Задать файловый дескриптор для зашифрованного сообщения. Очевидно, он к этому моменту должен быть открыт, сервер настраивает его со своей стороны. Если сервер возвращает ошибку, программа-клиент должна считать сеанс сорванным. Если номер дескриптора не задан, команда пользуется последним переданным в приложение файловым дескриптором. О передаче дескрипторов см. функцию assuan_sendfd in руководстве Libassuan.
Параметр --armor можно применять, чтобы указать серверу, что данные на входе представлены в формате PEM, --base64 указывает на простую кодировку base-64, --binary указывает на двоичный формат (BER). Если не задан ни один из параметров, сервер пытается определить кодировку по входным данным, но результат иногда может быть неверен.
OUTPUT FD[=n] [--armor|--base64]
Задать файловый дескриптор для вывода (т.е. зашифрованного сообщения). Очевидно, он к этому моменту должен быть открыт, сервер настраивает его со своей стороны. Если сервер возвращает ошибку, программа-клиент должна считать сеанс сорванным.
Параметр --armor можно применять, чтобы указать серверу, что данные на входе представлены в формате PEM, --base64 указывает на простую кодировку base-64. Если аргумента нет, данные выводятся в двоичном формате (BER).
Само шифрование проводится с помощью команды
ENCRYPT
Открытый текст берется из команды INPUT
, зашифрованный текст
выводится в файловый дескриптор, заданный командой OUTPUT
, получатели
берутся из всех действующих на данный момент команд RECIPIENT
. Если
при выполнении этой команды происходит сбой, программы-клиенты должны
попытаться аннулировать или пометить как неверные все выведенные
данные. Однако программа gpgsm
гарантирует, что в этом случае уже
выведенные данные не будут представлять никакой проблемы безопасности.
В общем и целом эта команда не должна давать сбоев, поскольку все необходимые проверки уже проведены при установлении получателей. Входной и выходной канал закрываются.
Следующий: GPGSM SIGN, Пред: GPGSM ENCRYPT, Вверх: Протокол GPGSM [Содержание][Указатель]
Входной и выходной файловые дескрипторы задаются, как для шифрования, но
INPUT
относится к зашифрованному тексту, а OUTPUT
—
к расшифрованному. Задавать получателей не нужно. gpgsm
автоматически удаляет все заголовки S/MIME из данных на входе, так что во
входной канал можно направлять часть MIME полностью.
Расшифровка производится с помощью команды
DECRYPT
Команда производит операцию расшифровки после некоторых проверок внутреннего
состояния (напр., что все нужные данные получены). Поскольку она задействует
gpg-agent
для расшифровки сеансового ключа, запрашивать
фразу-пароль у программы-клиента не требуется — gpg-agent
сам
запросит ее у пользователя.
Следующий: GPGSM VERIFY, Пред: GPGSM DECRYPT, Вверх: Протокол GPGSM [Содержание][Указатель]
Подпись обычно производится командами:
INPUT FD[=n] [--armor|--base64|--binary]
Это указывает gpgsm
, что подписываемые данные нужно читать из
файлового дескриптора n.
OUTPUT FD[=m] [--armor|--base64]
Записать результат в файловый дескриптор m. Если запрашивается отделенная подпись, записывается только подпись.
SIGN [--detached]
Подписать данные, заданные командой INPUT
, и записать их в канал,
заданный командой OUTPUT
. Если задан параметр --detached
,
выводить отделенную подпись.
Для подписи выбирается основной ключ или ключ, указанный в файле настроек. Для более точного управления ключами можно воспользоваться командой
SIGNER идентификатор пользователя
для задания подписывающего ключа. Идентификатор пользователя должен быть
внутренним представлением ключа; сервер может принимать любой другой способ
указания. Если это достоверный и доверенный получатель, сервер отвечает
кодом OK
; в противном случае он возвращает ERR
с причиной, по
которой ключ недопустим, подпись с помощью этого ключа производиться не
будет. Если задано правило, по которому подпись не производится, если не все
ключи достоверны, программа-клиент должна об этом позаботиться. Все команды
SIGNER
накапливаются до команды RESET
. Обратите внимание, что
команда SIGN
не сбрасывает список подписывающих, в отличие от команд
ENCRYPT
и RECIPIENT
.
Следующий: GPGSM GENKEY, Пред: GPGSM SIGN, Вверх: Протокол GPGSM [Содержание][Указатель]
Для проверки сообщения предназначена команда
VERIFY
Она проводит операцию проверки сообщения, посланного во входной канал. Результат выводится в строках состояния. Если задан выходной канал, подписанный текст выводится туда. Если подпись отделенная, сервер запросит подписанный материал, а программа-клиент должна его предоставить.
Следующий: GPGSM LISTKEYS, Пред: GPGSM VERIFY, Вверх: Протокол GPGSM [Содержание][Указатель]
Следующая команда применяется для создания новой пары ключей, сохранения
секретной части в личной среде безопасности, а открытого ключа — в базе
данных ключей. Возможно, мы добавим необязательные команды, чтобы
программа-клиент могла выбирать, пользоваться ли для хранения электронной
картой. Чтобы ограничить использование этой команды, можно использовать
параметры настроек gpgsm
.
GENKEY
Программа gpgsm
проверяет, разрешена ли эта команда, а затем
проводит запрос, чтобы получить параметры ключа — программа-клиент должна
переслать параметры ключа в собственном формате gpgsm
:
S: INQUIRE KEY_PARAM native C: D foo:fgfgfg C: D bar C: END
Обратите внимание, что при чтении строк данных от программы-клиента сервер
может выдавать информационные строки состояния. После завершения создания
ключа сервер в конце концов выдает квитанцию ERR
или
OK
. Строки состояния могут выводиться в качестве индикатора хода
работы.
Следующий: GPGSM EXPORT, Пред: GPGSM GENKEY, Вверх: Протокол GPGSM [Содержание][Указатель]
Для вывода списка ключей из внутренней базы данных или от внешнего поставщика ключей предназначена команда
LISTKEYS шаблон
Для указания нескольких образцов (при поиске выдаются ключи, соответствующие хотя бы одному из них) их нужно экранировать: пробелы нужно заменять на «+» или «%20»; это, в свою очередь, требует применения обычных правил для экранирующих символов.
LISTSECRETKEYS шаблон
Перечислить только те ключи, для которых есть секретный ключ.
На команды перечисления влияет параметр
OPTION list-mode=режим
где режим может быть равен
0
Исходный режим (обычно то же, что 1).
1
Перечислять только внутренние ключи.
2
Перечислять только внешние ключи.
3
Перечислять внутренние и внешние ключи
Обратите внимание, что параметры работают на протяжении всего сеанса.
Следующий: GPGSM IMPORT, Пред: GPGSM LISTKEYS, Вверх: Протокол GPGSM [Содержание][Указатель]
Для экспорта сертификатов предназначена команда
EXPORT [--data [--armor] [--base64]] [--] шаблон
Для указания нескольких образцов (при поиске выдаются ключи, соответствующие хотя бы одному из них) их нужно экранировать: пробелы нужно заменять на «+» или «%20»; это, в свою очередь, требует применения обычных правил для экранирующих символов.
Если параметр --data не задан, формат данных на выходе зависит от
от того, что задано командой OUTPUT
. Когда применяется кодировка PEM,
перед данными выводится несколько информационных строк.
Если параметр --data задан, назначение, заданное через
OUTPUT
, не учитывается, и данные выводятся в виде обычных строк,
начинающихся на D
. При этом задавать дополнительно файловый
дескриптор не требуется. В этом случае параметры --armor и
--base64 можно применять так же, как с командой OUTPUT
.
Следующий: GPGSM DELETE, Пред: GPGSM EXPORT, Вверх: Протокол GPGSM [Содержание][Указатель]
Для импорта сертификатов во внутреннюю базу данных ключей предназначена команда
IMPORT [--re-import]
Данные вводятся из файлового дескриптора, заданного командой
INPUT
. Сертификат проходит определенные проверки. Обратите внимание,
что этой командой можно обрабатывать также файлы PKCS#12 и импортировать
секретные ключи; для этого используется вспомогательная программа.
С параметром --re-import данные на входе считаются отпечатками (по одному на строку). Команда повторно импортирует соответствующие сертификаты, т.е. одноразовые сертификаты становятся постоянными.
Следующий: GPGSM GETAUDITLOG, Пред: GPGSM IMPORT, Вверх: Протокол GPGSM [Содержание][Указатель]
Для удаления сертификатов предназначена команда
DELKEYS шаблон
Для указания нескольких образцов (при поиске выдаются ключи, соответствующие хотя бы одному из них) их нужно экранировать: пробелы нужно заменять на «+» или «%20»; это, в свою очередь, требует применения обычных правил для экранирующих символов.
Сертификаты должны указываться без неоднозначностей, иначе программа выдает ошибку.
Следующий: GPGSM GETINFO, Пред: GPGSM DELETE, Вверх: Протокол GPGSM [Содержание][Указатель]
Эта команда предназначена для извлечения аудиторского следа.
GETAUDITLOG [--data] [--html]
Если задан параметр --data, аудиторский след выводится в виде
строк, начинающихся с D, вместо вывода в файловый дескриптор, заданный
командой OUTPUT
. Если задан параметр --html
, данные
форматируются в виде блока XHTML, составленного для включения в документ
HTML.
Следующий: GPGSM OPTION, Пред: GPGSM GETAUDITLOG, Вверх: Протокол GPGSM [Содержание][Указатель]
Это универсальная функция для вывода разного рода сведений.
GETINFO разряд
Значение аргумента определяет, какого рода данные выводятся:
version
Вывести версию программы.
pid
Вывести идентификатор процесса.
agent-check
Вывести OK, если работает программа-агент.
cmd_has_option команда параметр
Вывести OK, если в заданной команде реализован указанный параметр. Параметр должен указываться без «–» в начале.
offline
Вывести OK, если связи с сетью нет. Это может произойти в результате ввода
параметра OPTION offline=1
или при запуске gpgsm
с
параметром --disable-dirmngr.
Пред: GPGSM GETINFO, Вверх: Протокол GPGSM [Содержание][Указатель]
Стандартный обработчик параметров Assuan поддерживает параметры:
OPTION параметр[=значение]
Распознаются параметры:
putenv
Изменить среду сеанса для передачи через gpg-agent
в программу
ввода пароля. Здесь значение — строка в виде
<КЛЮЧ>[=[<СТРОКА>]]
. Если задан только <КЛЮЧ>
, переменная
среды <КЛЮЧ>
удаляется из среды сеанса, если задано <КЛЮЧ>=
,
переменной среды присваивается пустая строка, если задана <СТРОКА>
,
она присваивается переменной.
display
Установить переменную среды сеанса DISPLAY
.
ttyname
Установить переменную среды сеанса GPG_TTY
.
ttytype
Установить переменную среды сеанса TERM
.
lc-ctype
Установить переменную среды сеанса LC_CTYPE
.
lc-messages
Установить переменную среды сеанса LC_MESSAGES
.
xauthority
Установить переменную среды сеанса XAUTHORITY
.
pinentry-user-data
Установить переменную среды сеанса PINENTRY_USER_DATA
.
include-certs
Этим параметром отменяется параметр командной строки --include-certs. Значение аргумента, равное -2, включает все сертификаты, кроме корневого, -1 — все сертификаты, 0 — не включает никакие, 1 — только сертификаты подписавшего, все другие положительные числа включают все сертификаты до указанного числа, начиная с сертификата подписавшего.
list-mode
list-to-output
Если значение аргумента не равно 0, команды перечисления (см. команда gpgsm listkeys) записывают в файловый дескриптор, заданный последней
командой OUTPUT
. Если значение равно 0, запись производится через
строки данных; это исходное значение.
with-validation
Если значение аргумента не равно 0, для каждого перечисленного сертификата выводится состояние проверки. Это может приводить к получению списка отозванных сертификатов по сети или запросу пользователя о доверии к корневому сертификату. Исходное значение задается параметром командной строки (см. параметр gpgsm --with-validation).
with-secret
Если значение аргумента не равно 0, сертификаты с соответствующим секретным ключом отмечаются в выводимых списках.
validation-model
Этим параметром отменяется параметр командной строки validation-model для сеанса. (See параметр gpgsm --validation-model.)
with-key-data
Этим параметром глобально включается параметр командной строки --with-key-data. (See параметр gpgsm --with-key-data.)
enable-audit-log
Если значение аргумента не равно 0, данные для записи в аудиторский след собираются. (See команда gpgsm getauditlog.)
allow-pinentry-notify
Если задан этот параметр, в программу-клиент передаются уведомления о запуске программы ввода пароля.
with-ephemeral-keys
Если значение аргумента не равно 0, одноразовые сертификаты включаются в перечисления ключей.
no-encrypt-to
Если задан этот параметр, все ключи, заданные параметром командной строки --encrypt-to, игнорируются.
offline
Если параметр не равен 0 или не задан, всякий доступ к сети на время текущего сеанса прекращается. То же самое, что параметр командной строки --disable-dirmngr.
Следующий: Идентификаторы пользователя, Пред: Вызов GPGSM, Вверх: Верх [Содержание][Указатель]
Программа scdaemon
представляет демон (программу фонового режима)
для управления электронными картами. Обычно он вызывается программой
gpg-agent
и напрямую не применяется.
Указатель параметров содержит список команд и параметров
scdaemon
.
• Команды Scdaemon: | Список всех команд. | |
• Параметры Scdaemon: | Список всех параметров. | |
• Приложения карт: | Описание приложений карт. | |
• Настройки Scdaemon: | Файлы настроек. | |
• Примеры Scdaemon: | Некоторые примеры вызова. | |
• Протокол Scdaemon: | Протокол демона. |
Следующий: Параметры Scdaemon, Вверх: Вызов SCDAEMON [Содержание][Указатель]
Команды отличаются от параметров только тем, что в вызове допустима только одна команда (если в описании команды не указано иное).
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help, -h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя сокращать (напр., как --hel).
--dump-options
Вывести список всех имеющихся параметров и команд. Эту команду нельзя сокращать (напр., как --dump-option).
--server
Работать в режиме сервера, ожидая команды со стандартного потока ввода. В исходном режиме создается сокет и команды читаются оттуда.
--multi-server
Работать в режиме сервера, ожидая команды по стандартному потоку ввода, а
также по дополнительному сокету домена Unix. Для получения имени этого
сокета можно воспользоваться командой GETINFO
.
--daemon
Выполняться в фоновом режиме. Этот параметр требуется, чтобы предотвратить непреднамеренный перевод в фоновый режим.
Следующий: Приложения карт, Пред: Команды Scdaemon, Вверх: Вызов SCDAEMON [Содержание][Указатель]
--options файл
Читает настройки из заданного файла вместо исходного файла настроек пользователя. Исходный файл настроек под названием scdaemon.conf находится в каталоге .gnupg, который находится непосредственно в домашнем каталоге пользователя.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
-v
--verbose
Выводит во время работы дополнительную информацию. Объем информации можно увеличивать, вводя параметр несколько раз, например, ‘-vv’.
--debug-level уровень
Выбрать уровень отладки для исследования проблем. Аргумент может быть числом либо ключевым словом:
none
Никаких отладочных сообщений. Соответствует значениям, меньшим 1.
basic
Некоторые простые отладочные сообщения. Соответствует значениям от 1 до 2.
advanced
Более подробные отладочные сообщения. Соответствует значениям от 3 до 5.
expert
Еще более подробные сообщения. Соответствует значениям от 6 до 8.
guru
Все отладочные сообщения, какие только есть. Соответствует значениям, большим 8.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
Замечание: Все отладочные параметры могут изменяться и, таким образом, не должны применяться ни в каких прикладных программах. Как подсказывает название, они применяются, только как подспорье в отладке.
--debug признаки
Этот параметр полезен только для отладки, его значение может меняться в любое время без объявления. Признаки кодируются по битам и задаются обычным синтаксисом Си. В настоящее время определены биты:
0 (1)
ввод-вывод команд
1 (2)
значения длинных чисел
2 (4)
криптографические операции низкого уровня
5 (32)
выделение памяти
6 (64)
буферизация
7 (128)
показывать статистику памяти
9 (512)
записывать хешируемые данные в файлы с именами dbgmd-000*
10 (1024)
отслеживать протокол Assuan. См. также параметр --debug-assuan-log-cats.
11 (2048)
отслеживать ввод-вывод единиц данных на карте. Это может раскрыть важные данные.
12 (4096)
отслеживать вызовы некоторых функций, связанных с устройством чтения карты.
--debug-all
То же, что --debug=0xffffffff
--debug-wait n
При работе в серверном режиме подождать указанное число секунд перед входом в цикл обработки и выводить идентификатор процесса. За это время можно подключить отладчик.
--debug-ccid-driver
Включить отладочный вывод из собственного драйвера CCID для электронных карт. Если параметр задан дважды, включается также некоторое отслеживание протокола T=1. Обратите внимание, что этот параметр может раскрыть важные данные.
--debug-disable-ticker
Этот параметр выключает все периодические функции, такие как поиск новых карт.
--debug-allow-core-dump
По соображениям безопасности мы не выводим дамп памяти. В целях отладки иногда лучше это позволить. Этот параметр включает вывод дампа, а также меняет рабочий каталог на /tmp при работе в режиме --server.
--debug-log-tid
Добавляет идентификаторы процесса и потока управления в протокол работы.
--debug-assuan-log-cats категории
Изменяет действующие категории протоколирования Libassuan. Значение
аргумента представляет целое без знака в обычном синтаксисе Си. Значение 0
переключает на исходную категорию. Если параметр не задан, категории берутся
из переменной среды ASSUAN_DEBUG
. Обратите внимание, что этот
параметр действует, только если параметром --debug был установлен
признак отладки Assuan. Список категорий см. в руководстве по Libassuan.
--no-detach
Не отрывать процесс от консоли. Это полезно главным образом для отладки.
--log-file файл
Дописывать весь протокол работы в указанный файл. Это очень полезно, когда нужно понять, что же делает программа. Укажите socket://, если нужно протоколировать в сокет.
--pcsc-driver библиотека
Использовать указанную библиотеку для доступа к устройству чтения электронных карт. В настоящее время исходное значение равно libpcsclite.so. Вместо этого параметра можно создать символическую ссылку на исходное имя файла (напр., из libpcsclite.so.1).
--ctapi-driver библиотека
Использовать указанную библиотеку для доступа к устройству чтения электронных карт. В настоящее время исходное значение равно libtowitoko.so. Обратите внимание, что этот интерфейс не рекомендован к употреблению; в будущих выпусках GnuPG он может быть удален.
--disable-ccid
Выключить интегрированную поддержку устройств чтения, совместимых с CCID. Это позволяет использовать в качестве запасного варианта один из других драйверов, даже если внутренний драйвер CCID может работать с устройством чтения. Обратите внимание, что поддержка CCID есть, только если libusb присутствовала во время компиляции.
--reader-port число или строка
Этим параметром можно задавать порт терминала карты. Число 0 указывает на первое последовательное устройство; добавьте 32768 для устройств USB. Исходное значение равно 32768 (первое устройство USB). Для устройств чтения PC/SC или CCID здесь может потребоваться строка; чтобы получить список имеющихся устройств чтения, запустите программу с параметром --verbose. Тогда исходное значение соответствует первому найденному устройству чтения.
Получить список имеющихся устройств чтения CCID можно такой командой:
echo scd getinfo reader_list \ | gpg-connect-agent --decode | awk '/^D/ {print $2}' |
--card-timeout n
Если аргумент не равен 0 и никакая программа-клиент активно не пользуется
картой, через указанное количество секунд с карты снимается питание. Это
предотвращает потенциальный риск повреждения карты в определенных дешевых
устройствах чтения. Это позволяет также приложениям, которым неизвестно о
scdaemon
, получить доступ к карте. Недостаток такого выключения
состоит в том, что доступ к карте замедляется и что пользователю нужно
заново вводить пароль после следующего включения.
Обратите внимание, что в текущей версии scdaemon
карта выключается
немедленно на следующем цикле таймера при любом значении аргумента, отличном
от 0.
--enable-pinpad-varlen
Указывайте этот параметр, пожалуйста, когда устройство чтения карт поддерживает ввод данных переменной длины с кнопок для ввода пароля (по умолчанию не поддерживает). Для известных устройств чтения (перечисленных в ccid-driver.c и adpu.c) этот параметр не нужен. Обратите внимание, что если ваше устройство чтения карт не поддерживает ввод данных переменной длины, но вы хотите этим пользоваться, вам нужно указать запрос к набору кнопок на вашей карте.
--disable-pinpad
Даже если в устройстве чтения карт есть кнопки ввода пароля, не пытаться ими пользоваться.
--deny-admin
Этот параметр отключает у приложений электронных карт команды административного класса, когда это поддерживается. В настоящее время мы поддерживаем это для карт OpenPGP. Этот параметр полезен, чтобы предотвратить случайный доступ к команде административного класса, которая могла бы заблокировать карту с помощью неверных значений пароля. Обратите внимание, что в версиях GnuPG старше 2.0.11 был параметр --allow-admin, который требовался для таких административных команд. Сейчас этот параметр больше не действует, потому что административные команды по умолчанию допускаются.
--disable-application название
Этот параметр отключает указанное приложение карты. Это полезно главным образом для отладки или когда по умолчанию должно применяться приложение с более низким приоритетом.
Все длинные параметры можно размещать также в файле настроек, удалив начальные символы «–».
Следующий: Настройки Scdaemon, Пред: Параметры Scdaemon, Вверх: Вызов SCDAEMON [Содержание][Указатель]
scdaemon
поддерживает описанные ниже приложения карт.
• Карта OpenPGP: | Приложение карты OpenPGP | |
• Карта NKS: | Приложение карты Telesec NetKey | |
• Карта DINSIG: | Приложение карты DINSIG | |
• Карта PKCS#15: | Приложение карты PKCS#15 | |
• Карта Geldkarte: | Приложение карты Geldkarte | |
• SmartCard-HSM: | Приложение SmartCard-HSM | |
• Неизвестная карта: | Заглушка для неизвестного приложения |
Следующий: Карта NKS, Вверх: Приложения карт [Содержание][Указатель]
Это приложение в настоящее время применяется только программой
gpg
, но в будущем может быть полезно с
gpgsm
. Поддерживаются версии карты 1 и 2.
Спецификации этих карт можно взять в
http://g10code.com/docs/openpgp-card-1.0.pdf и
http://g10code.com/docs/openpgp-card-2.0.pdf.
Следующий: Карта DINSIG, Пред: Карта OpenPGP, Вверх: Приложения карт [Содержание][Указатель]
Это главное приложение карт Telesec, доступных в Германии. Это надмножество
немецких карт DINSIG. Карта применяется в gpgsm
.
Следующий: Карта PKCS#15, Пред: Карта NKS, Вверх: Приложения карт [Содержание][Указатель]
Это приложение, описанное в предварительном немецком стандарте DIN V 66291-1. Оно предназначено для карт, поддерживающих немецкий закон о подписи, а также его подзаконные акты (SigG и SigV).
Следующий: Карта Geldkarte, Пред: Карта DINSIG, Вверх: Приложения карт [Содержание][Указатель]
Это общий каркас для приложений электронных карт. Он применяется в
gpgsm
.
Следующий: SmartCard-HSM, Пред: Карта PKCS#15, Вверх: Приложения карт [Содержание][Указатель]
Простое приложение для отображения информации с немецкой Geldkarte. Geldkarte представляет приложение карты для небольших дебетовых счетов, которое присутствует почти на всех немецких банковских картах.
Следующий: Неизвестная карта, Пред: Карта Geldkarte, Вверх: Приложения карт [Содержание][Указатель]
Это приложение подключает поддержку чтения (без возможности записи) ключей и сертификатов, хранящихся на SmartCard-HSM.
Для создания и хранения сертификатов можно воспользоваться OpenSC или средствами OpenSCDP.
Карты SmartCard-HSM требуют устройства чтения, которое поддерживает единицы данных повышенной длины.
Пред: SmartCard-HSM, Вверх: Приложения карт [Содержание][Указатель]
Это приложение-заглушка, которая позволяет пользоваться командами протокола, даже если на карте не найдены никакие из поддерживаемых приложений. Автоматически это приложение не используется, его нужно запрашивать явным образом с помощью команды SERIALNO.
Следующий: Примеры Scdaemon, Пред: Приложения карт, Вверх: Вызов SCDAEMON [Содержание][Указатель]
Есть несколько файлов настроек для управления определенными аспектами работы
scdaemon
. Если специально не оговорено, они располагаются в
текущем домашнем каталоге (см. параметр --homedir).
Это обычный файл настроек, который gpgsm
читает при запуске. В нем
могут быть только допустимые длинные параметры; символов «–» перед
названием параметра быть не должно, сокращать параметры нельзя. Это исходное
имя файла можно изменить в командной строке (см. параметр --options).
Если этот файл существует и может выполняться, он вызывается при каждом изменении состояния устройства чтения карты. Пример такого сценария есть в дистрибутиве.
Этот файл создается программой scdaemon
, чтобы уведомлять другие
приложения об изменениях состояния устройств чтения карт. В настоящее время
вместо него рекомендуется применять scd-event.
Следующий: Протокол Scdaemon, Пред: Настройки Scdaemon, Вверх: Вызов SCDAEMON [Содержание][Указатель]
$ scdaemon --server -v
Пред: Примеры Scdaemon, Вверх: Вызов SCDAEMON [Содержание][Указатель]
Программа scdaemon
должна запускаться системой для обеспечения
доступа к электронным картам. На многопользовательской системе пользоваться
электронными картами есть смысл только для системных служб, но в этом случае
учетные записи обычных пользователей на машине не ведутся.
Программа-клиент подключается к scdaemon
по сокету с именем
/usr/local/var/run/gnupg/scdaemon/socket, информация о настройках
считывается из /usr/local/etc/gnupg/scdaemon.conf
Каждое подключение работает как один сеанс, scdaemon
обеспечивает
синхронизацию доступа к электронной карте между сеансами.
• SERIALNO Scdaemon: | Вывести серийный номер. | |
• LEARN Scdaemon: | Считать с карты всю полезную информацию. | |
• READCERT Scdaemon: | Вернуть сертификат. | |
• READKEY Scdaemon: | Вернуть открытый ключ. | |
• PKSIGN Scdaemon: | Подпись данных с помощью электронной карты. | |
• PKDECRYPT Scdaemon: | Расшифровка данных с помощью электронной карты. | |
• GETATTR Scdaemon: | Прочесть значение атрибута. | |
• SETATTR Scdaemon: | Обновить значение атрибута. | |
• WRITEKEY Scdaemon: | Записать ключ на карту. | |
• GENKEY Scdaemon: | Создать на карте новый ключ. | |
• RANDOM Scdaemon: | Вернуть случайные байты, сгенерированные на карте. | |
• PASSWD Scdaemon: | Изменить пароли. | |
• CHECKPIN Scdaemon: | Выполнить проверку. | |
• RESTART Scdaemon: | Переподключиться. | |
• APDU Scdaemon: | Отправить на карту единицу данных буквально. |
Следующий: LEARN Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
Эта команда предназначена для проверки наличия карты. Она отличается тем, что ею можно пользоваться для перезапуска карты. Большинство других команд возвращает ошибку, когда обнаруживается смена карты и, следовательно, нужно пользоваться этой функцией.
Пояснение: мы хотим, чтобы в программе-клиенте смена карт между операциями не обрабатывалась; т.е. она может считать, что все операции проводятся с одной и той же картой, если не вызывается эта функция.
SERIALNO
Вернуть серийный номер карты в ответе вида:
S SERIALNO D27600000000000000000000
Серийный номер представляет шестнадцатеричное число, на которое указывает
метка 0x5A
в файле GDO (FIX=0x2F02).
Следующий: READCERT Scdaemon, Пред: SERIALNO Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
LEARN [--force]
Считать всю полезную информацию со вставленной в настоящий момент карты. Если команда отдана без параметра --force, программа может выдать запрос вида:
INQUIRE KNOWNCARDP <шестнадцатеричный серийный номер>
Программа-клиент должна отослать END
, если обработку нужно проводить,
или CANCEL
, чтобы принудительно завершить команду с сообщением об
отмене. В ответ на эту команду выдается список строк состояния такого вида:
S KEYPAIRINFO код ключа шестнадцатеричный идентификатор
Если на карте пока не хранится ни одного сертификата, на месте кода ключа возвращается одиночный символ «X».
Следующий: READKEY Scdaemon, Пред: LEARN Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
READCERT шестнадцатеричный идентификатор сертификата|идентификатор ключа
Эта функция предназначена для чтения с карты указанного сертификата. Для
чтения с карт OpenPGP версии 2 можно пользоваться идентификатором ключа
OpenPGP.3
.
Следующий: PKSIGN Scdaemon, Пред: READCERT Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
READKEY шестнадцатеричный идентификатор сертификата
Вернуть открытый ключ данного сертификата или идентификатора ключа в виде S-выражения.
Следующий: PKDECRYPT Scdaemon, Пред: READKEY Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
Для подписи данных нужно передать их в scdaemon
командой
SETDATA шестнадцатеричная строка
Данные передаются в шестнадцатеричном виде. Сама подпись осуществляется командой
PKSIGN идентификатор ключа
Здесь идентификатор ключа дается в шестнадцатеричном
виде. Идентификаторы можно получить командой LEARN
. Если используется
не SHA-1, алгоритм задается параметром --hash:
PKSIGN --hash=алгоритм идентификатор ключа
В качестве аргумента могут быть строки sha1
, rmd160
и
md5
.
Следующий: GETATTR Scdaemon, Пред: PKSIGN Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
Данные для расшифровки передаются в scdaemon
командой
SETDATA шестнадцатеричная строка
Данные представляются в шестнадцатеричной записи. Сама расшифровка осуществляется командой
PKDECRYPT идентификатор ключа
Здесь идентификатор ключа дается в шестнадцатеричном виде.
Если карта может работать с заполнениями, перед расшифрованными данными
посылается строка состояния с информацией о заполнении. Эта строка состояния
содержит ключевое слово PADDING
с единственным определенным
значением, равным 0, которое указывает на то, что заполняющие символы
удалены.
Следующий: SETATTR Scdaemon, Пред: PKDECRYPT Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
ПРОДОЛЖЕНИЕ СЛЕДУЕТ.
Следующий: WRITEKEY Scdaemon, Пред: GETATTR Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
ПРОДОЛЖЕНИЕ СЛЕДУЕТ.
Следующий: GENKEY Scdaemon, Пред: SETATTR Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
WRITEKEY [--force] идентификатор ключа
Эта команда предназначена для сохранения секретного ключа на электронной
карте. Допустимые идентификаторы ключа зависят от выбранного в данный момент
приложения электронной карты. Сами данные ключа пересылаются по запросу
KEYDATA
и должны вводиться безо всякой защиты. Если задан параметр
--force, новый ключ будет записывается поверх старого ключа с
указанным идентификатором. Данные ключа должны быть в канонической кодировке
S-выражения.
В большинстве случаев будет запрошен пароль. Однако это зависит от текущего приложения карты.
Следующий: RANDOM Scdaemon, Пред: WRITEKEY Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
ПРОДОЛЖЕНИЕ СЛЕДУЕТ.
Следующий: PASSWD Scdaemon, Пред: GENKEY Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
ПРОДОЛЖЕНИЕ СЛЕДУЕТ.
Следующий: CHECKPIN Scdaemon, Пред: RANDOM Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
PASSWD [--reset] [--nullpin] номер вектора
Сменить пароль или сбросить счетчик попыток с указанного номера вектора проверок владельца карты. Параметром --nullpin инициализируются пароли карт TCOS (только с 6-байтным NullPIN).
Следующий: RESTART Scdaemon, Пред: PASSWD Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
CHECKPIN строка-идентификатор
Выполнить операцию проверки VERIFY
, не делая ничего другого. Это
можно использовать для инициализации буфера паролей перед длительными
операциями. Команда сильно зависит от приложения:
Выполняется простая проверка для векторов 1 и 2, чтобы при дальнейших операциях вектор 2 не запрашивался и можно было проводить облегченную проверку пароля: если в системе ввода пароля что-то не так, блокируются только обычные векторы, но не опасный вектор 3. Строка-идентификатор представляет обычный серийный номер карты в шестнадцатеричной записи; необязательная часть с отпечатком игнорируется.
Однако если строка-идентификатор содержит суффикс [CHV3]
, происходит
переход в особый режим: в этом случае административный пароль проверяется,
если и только если счетчик попыток остается равным 3.
Следующий: APDU Scdaemon, Пред: CHECKPIN Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
RESTART
Перезапустить текущее подключение; это своего рода теплый перезапуск. При этом удаляется контекст, использованный в текущем подключении, но сама карта не перезапускается.
Это применяется в gpg-agent
для повторного использования
первичного подключения по каналу ввода-вывода и может использоваться
программами-клиентами для восстановления после конфликта в последовательной
команде, т.е. для выбора другого приложения.
Пред: RESTART Scdaemon, Вверх: Протокол Scdaemon [Содержание][Указатель]
APDU [--atr] [--more] [--exlen[=n]] [шестнадцатеричная строка]
Отправить в текущее устройство чтения карт единицу данных. Эта команда обходит функции высокого уровня и посылает данные в карту напрямую. Шестнадцатеричная строка должна представлять правильную единицу данных. Если строка не задана, команды на карту не отправляются; однако команда неявно проверяет, готова ли карта к использованию.
Если задан параметр --atr, перед любыми данными в качестве сообщения о состоянии карты возвращается ATR карты в виде:
S CARD-ATR 3BFA1300FF813180450031C173C00100009000B1
С помощью параметра --more можно обрабатывать слово состояния карты
MORE_DATA
(61xx), связывая ответы в единый блок.
Если задан параметр --exlen, возвращаемые единицы данных могут удлиняться до N байт. Если N не задано, подразумевается исходное значение (в настоящее время 4096).
Следующий: Вспомогательные средства, Пред: Вызов SCDAEMON, Вверх: Верх [Содержание][Указатель]
В GnuPG есть разные способы задать идентификатор пользователя. Некоторые
допустимы только для gpg
, другие — только для gpgsm
. Вот
полный список способов указать ключ:
0x
. Идентификатором ключа сертификата X.509 являются младшие 64 бита
его отпечатка SHA-1. Идентификатор ключа — это просто сокращение, во всей
автоматической обработке нужно применять отпечаток.
При вызове gpg
можно приписывать сзади восклицательный знак («!»),
чтобы программа принудительно использовала указанный первичный или вторичный
ключ, не пытаясь определять, какой из ключей использовать.
Последние четыре строки примера дают идентификатор ключа в длинной форме, которая применяется внутри протокола OpenPGP. Длинный идентификатор ключа можно узнать с помощью параметра --with-colons.
234567C4 0F34E556E 01347A56A 0xAB123456 234AABBCC34567C4 0F323456784E56EAB 01AB3FED1347A5612 0x234AABBCC34567C4 |
0x
. Обратите внимание, что для gpgsm
можно задавать только
20-байтный вариант отпечатка (т.е. SHA-1 сертификата).
При вызове gpg
можно приписывать сзади восклицательный знак («!»),
чтобы программа принудительно использовала указанный первичный или вторичный
ключ, не пытаясь определять, какой из ключей использовать.
Идентификатор ключа лучше всего задавать с помощью отпечатка. Это исключает любые неоднозначности в случае, когда есть ключи с одинаковыми идентификаторами.
1234343434343434C434343434343434 123434343434343C3434343434343734349A3434 0E12343434343434343434EAB3484343434343434 0xE12343434343434343434EAB3484343434343434 |
Программа gpgsm
допускает также двоеточие между каждой парой
шестнадцатеричных цифр, поскольку это стандарт де-факто для представления
отпечатков X.509. Программа gpg
допускает также пользование
отпечатками SHA-1 с пробелами в качестве разделителя в том виде, в каком их
выводят команды перечисления ключей.
=Вася Пушкин <vp@test.ru> |
<vp@test.ru> |
@
в начале строки. Это поиск по подстроке,
но только по адресу электронной почты (т.е. внутри угловых скобок).
@vp |
RFC-2253
. Обратите внимание,
что строку, выводимую gpgsm --list-keys
, использовать нельзя, потому
что она была изменена и пересортирована для лучшей читаемости; пользуйтесь
--with-colons, чтобы вывести исходную (правда, с экранирующими
символами) строку RFC-2253
.
/CN=Вася Пушкин,O=Персонажи,L=Юркино,C=RU |
RFC-2253
. Строка должна
представлять корневой сертификат издателя. См. замечание выше.
#/CN=Root Cert,O=Персонажи,L=Юркино,C=RU |
RFC-2253
. См. замечание выше.
#4F03/CN=Root Cert,O=Персонажи,L=Юркино,C=RU |
gpgsm
выводит код ключа, когда задана команда
--dump-cert. Для ключей OpenPGP это пока не реализовано.
&D75F22C3F86E355877348498CDC92BD21010A480 |
Вася *Вася |
Обратите внимание, что мы изменили значение символа «#», который в старых версиях обозначал так называемые местные идентификаторы. Они больше не применяются, так что противоречия с материалами X.509 быть не должно.
Недостаток пользования форматом RFC-2253
для DN состоит в том, что
преобразовать их в исходную кодировку невозможно, однако нам это не
требуется, потому что в нашей базе данных ключей эта кодировка хранится в
качестве сопутствующих данных.
Следующий: Памятки, Пред: Идентификаторы пользователя, Вверх: Верх [Содержание][Указатель]
В GnuPG есть несколько небольших программ:
• watchgnupg: | Чтение запротоколированных данных из сокета. | |
• gpgv: | Проверка подписей OpenPGP. | |
• addgnupghome: | Создание домашних каталогов .gnupg. | |
• gpgconf: | Изменение домашних каталогов .gnupg. | |
• applygnupgdefaults: | Выполнение gpgconf для всех пользователей. | |
• gpg-preset-passphrase: | Занесение фразы-пароля в буфер. | |
• gpg-connect-agent: | Соединение с работающей программой-агентом. | |
• dirmngr-client: | Пользование программой-клиентом dirmngr. | |
• gpgparsemail: | Разбор и аннотация почтового сообщения. | |
• symcryptrun: | Вызов простого средства симметричного шифрования. | |
• gpg-zip: | Шифрование и подпись файлов в архиве. |
Следующий: gpgv, Вверх: Вспомогательные средства [Содержание][Указатель]
Большинство основных утилит способно записывать файлы протоколов своей
работы в сокет домена Unix, если это задано
настройками. watchgnupg
представляет простую программу
прослушивания такого сокета. Она обогащает выходные данные временными
метками и гарантирует, что длинные строки не перемешиваются с данными,
исходящими от других утилит. Под Windows это средство недоступно.
watchgnupg
обычно вызывается как
watchgnupg --force $(gpgconf --list-dirs socketdir)/S.log
Программа запускается в текущем терминале для прослушивания сконфигурированного сокета протоколирования (~/.gnupg/S.log или /var/run/user/UID/gnupg/S.log).
watchgnupg
воспринимает параметры:
--force
Удалить файл сокета, если тот существует.
--tcp n
Вместо чтения из локального сокета прослушивать соединения по порту TCP n.
--time-only
Не выводить дату в метке времени.
--verbose
Включить вывод дополнительной информации.
--version
Вывести версию программы и завершить работу.
--help
Показать краткую справку и завершить работу.
$ watchgnupg --force --time-only $(gpgconf --list-dirs socketdir)/S.log
Ждать соединений по локальному сокету (напр., /home/foo/.gnupg/S.log) и показывать все записи протокола работы. Для этого нужно использовать параметр log-file со всеми модулями, протоколы работы которых нужно показывать. Пример записи для файлов настроек:
log-file socket://
Если исходный сокет, заданный выше и возвращаемый командой «echo $(gpgconf –list-dirs socketdir)/S.log», нежелателен, можно указать любое произвольное имя сокета, например, socket:///home/foo/bar/mysocket. В целях отладки можно выполнять также удаленное протоколирование. Пользуйтесь этим с осторожностью, поскольку информация посылается по сети открытым текстом. Для этого в файле настроек размещается строка вида:
log-file tcp://192.168.1.1:4711
Вместо порта 4711 можно пользоваться любым другим портом; поддерживаются
только адреса IP (версий 4 и 6), имена машин не поддерживаются. Команду
watchgnupg
нужно вызывать с параметром tcp. Обратите
внимание, что под Windows для изменения исходного канала, в который
выводится протокол работы (stderr
), можно применять пункт реестра
HKCU\Software\GNU\GnuPG:DefaultLogFile. Однако это может быть полезно,
только когда пункт содержит адрес TCP для удаленной отладки.
Следующий: addgnupghome, Пред: watchgnupg, Вверх: Вспомогательные средства [Содержание][Указатель]
gpgv2
— средство проверки подписей OpenPGP.
В действительности эта программа представляет урезанную версию gpg
,
которая может только проверять подписи. Она несколько меньше, чем
полноразмерная gpg
и пользуется другим (более простым) способом
проверки того, что открытые ключи, которыми сделана подпись, достоверны. У
нее нет файлов настроек и мало параметров.
gpgv2
предполагает, что всем ключам в таблице ключей можно
доверять. Это, кроме прочего, означает, что программа не проверяет отзывы и
сроки действия ключей.
По умолчанию используется таблица ключей trustedkeys.kbx; если ее не
существует, используется таблица ключей
trustedkeys.gpg. Предполагается, что таблицы находятся в домашнем
каталоге GnuPG (исходном или заданном с помощью параметра или переменной
среды). Другую таблицу ключей (и даже несколько таблиц ключей) можно задать
параметром --keyring
.
gpgv2
принимает параметры:
--verbose
-v
Выдает больше информации во время обработки. Если задан дважды, подробно перечисляются данные, поступившие на вход.
--quiet
-q
Стараться выводить на экран как можно меньше.
--keyring файл
Добавить аргумент к списку таблиц ключей. Если аргумент начинается с тильды и косой черты, они заменяются на каталог HOME. Если имя файла не содержит косой черты, предполагается, что файл находится в домашнем каталоге (~/.gnupg, если не задан –homedir).
--output файл
-o файл
Выводить данные в указанный файл; для записи в стандартный поток вывода
укажите -
. Этот параметр можно применять, чтобы выделить подписанный
текст из текстовой или двоичной подписи; он действует и с отделенными
подписями, но в этом случае параметр в общем не полезен. Обратите внимание,
что если файл существует, то он будет перезаписан.
--status-fd n
Записывать специальные диагностические сообщения в файл с указанным дескриптором. Документацию по этим строкам см. в файле DETAILS.
--logger-fd n
Писать отчет о ходе работы в файл с указанным дескриптором, а не в стандартный поток ошибок.
--logger-file файл
То же, что --logger-fd, но отчет записывается в файл
. С
помощью socket:// можно записывать в сокет.
--ignore-time-conflict
Обычно GnuPG проверяет, что метки времени, связанные с ключами и подписями, лежат в разумных пределах. Однако иногда подпись кажется старше ключа из-за проблем с часами. Если задан этот параметр, такие проверки приводят только к предупреждениям.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
--weak-digest название
Считать указанный алгоритм слабым. Подписи, выполненные с помощью слабых алгоритмов хеша, обычно отвергаются. Этот параметр можно вводить несколько раз, если слабыми должны считаться несколько алгоритмов. MD5 всегда считается слабым, так что его не нужно перечислять в явном виде.
--enable-special-filenames
Этот параметр включает режим, в котором имена файлов в форме -&n, где n — неотрицательное десятичное число, указывают на файловый дескриптор n, а не на файл с таким именем.
Программа возвращает 0, если все прошло успешно, 1 — если хотя бы одна подпись была неверна, другие коды ошибок при неустранимых сбоях.
файл PGP
файл подписи
[файл данных
]Проверить подпись файла, но не выводить данные. Вторая форма применяется для
отделенных подписей, где файл подписи
— отделенная подпись (в
двоичном или текстовом формате), а файл данных
— подписанные данные
(если это «-», данные берутся из стандартного потока ввода); если второй
аргумент не задан, имя файла данных определяется отбрасыванием расширения
(«.asc», «.sig» или «.sign») от имени файла подписи.
Используется для определения исходного домашнего каталога.
Если задана, используется вместо ~/.gnupg.
Исходная таблица ключей с разрешенными ключами.
gpg2
(1)
Следующий: gpgconf, Пред: gpgv, Вверх: Вспомогательные средства [Содержание][Указатель]
Если GnuPG устанавливается в системе с существующими учетными записями пользователей, иногда требуется заполнить домашний каталог GnuPG существующими файлами. Часто особенно желательны некоторые первоначальные сертификаты в trustlist.txt и щите с ключами. Эта программа помогает в этом, копируя все файлы из /etc/skel/.gnupg в домашние каталоги учетных записей, заданных в командной строке. При этом запись поверх существующих домашних каталогов GnuPG не производится.
addgnupghome
вызывается от имени суперпользователя командой:
addgnupghome учетная_запись_1 учетная_запись_2 ... учетная_запись_n
Следующий: applygnupgdefaults, Пред: addgnupghome, Вверх: Вспомогательные средства [Содержание][Указатель]
Утилита gpgconf
предназначена для автоматического и относительно
безопасного чтения и модификации файлов настроек в домашнем каталоге
.gnupg. Она проектирована не для выполнения пользователем вручную, а
для автоматического запуска графическими оболочками3.
Программа gpgconf
обеспечивает доступ к настройкам одного или
более компонентов системы GnuPG. Эти компоненты более или менее
соответствуют программам, составляющим каркас GnuPG, таким как GPG, GPGSM,
Dirmngr и т.д. Но строгого соответствия нет. Не все параметры настроек
доступны через gpgconf
. Программа gpgconf
обеспечивает
обобщенный и абстрактный метод доступа к тем из наиболее важных параметров
настроек, которыми на практике можно управлять посредством такого механизма.
Программу gpgconf
можно применять для сбора и модификации
параметров, доступных для каждого из компонентов, а также для задания их
исходных значений. Программа выдает подробную информацию о типах данных,
которую можно использовать для ограничения вводимых пользователем данных, не
пытаясь вносить изменения.
Средство gpgconf
представляет служебную программу для редактора
настроек. Редактор настроек обычно является графической программой, которая
отображает текущие параметры с их исходными значениями и позволяет
пользователю вносить в параметры изменения. Эти изменения затем можно
активизировать новым вызовом gpgconf
. Программа, которая
пользуется gpgconf
таким образом, в этом разделе будет называться
пользовательской оболочкой.
• Вызов gpgconf: | Список всех команд и параметров. | |
• Формат: | Соглашения о формате, общие для всех команд. | |
• Перечисление компонентов: | Список всех компонентов gpgconf. | |
• Проверка программ: | Проверка всех известных gpgconf программ. | |
• Перечисление параметров: | Список всех параметров компонента. | |
• Изменение параметров: | Изменение параметров компонента. | |
• Список глобальных параметров: | Перечислить все глобальные параметры. | |
• Запрос версий: | Получить и сравнить версии программ. | |
• Файлы gpgconf: | Какими файлами пользуется gpgconf. |
Следующий: Формат, Вверх: gpgconf [Содержание][Указатель]
Должна быть задана одна из команд:
--list-components
Перечислить все компоненты. Эта команда выполняется, если ни одна команда не указана.
--check-programs
Перечислить все доступные служебные программы и проверить, можно ли их вызывать.
--list-options компонент
Перечислить все параметры указанного компонента.
--change-options компонент
Изменить параметры указанного компонента.
--check-options компонент
Проверить параметры указанного компонента.
--apply-profile файл
Применить настройки, перечисленные в указанном файле, к файлам
конфигурации. Если в аргументе файл нет суффикса и символов «/»,
сначала производится попытка считать файл с суффиксом .prf
из
каталога данных (gpgconf --list-dirs datadir
); в случае неудачи имя
файла воспринимается буквально. Названия компонентов в квадратных скобках
делят настройки на группы. В каждой группе указывается параметр, который
должен перейти в соответствующий файл настроек.
--apply-defaults
Записать во все файлы настроек значения, взятые из глобального файла настроек (обычно это /etc/gnupg/gpgconf.conf).
--list-dirs [имена]
Перечислить каталоги, которыми пользуется gpgconf
. Перечисляется
по одному каталогу в строке, каждая строка состоит из списка с двоеточием в
качестве разделителя, в котором первое поле представляет тип каталога
(например, sysconfdir
), а второе — каталог с процентом в качестве
экранирующего символа. Выводятся также имена сокетов для gpg-agent
и dirmngr
, хотя это и не каталоги. Обратите внимание, что имена
сокетов и строки homedir
представляют исходные значения, их можно
изменять параметрами командной строки. Если заданы имена, выводятся
только имена каталогов или файлов, указанные в списке имен, без экранирующих
символов.
--list-config [имя_файла]
Вывести глобальный файл настроек в формате с двоеточием в качестве разделителя. Если задано имя файла, работать с ним вместо глобального файла настроек.
--check-config [имя_файла]
Провести проверку синтаксиса глобального файла настроек. Если задано имя файла, работать с ним вместо исходного глобального файла настроек.
--query-swdb пакет [версия]
Возвращает текущую версию указанного пакета, а если задана строка
версия, показывает, доступно ли обновление. Сам файл с версией
программы автоматически получается по сети и проверяется программой
dirmngr
; при этом установлен порог, чтобы это не происходило
слишком часто, и по умолчанию это делается только через Tor. Чтобы
принудительно обновить этот файл, можно воспользоваться командой:
gpg-connect-agent --dirmngr 'loadswdb --force' /bye
--reload [компонент]
Перезагрузить все или заданный компонент. В основном это эквивалентно посылке компоненту сигнала SIGHUP. Компоненты, которые не поддерживают перезагрузку, игнорируются. Если компонент не задан или задано «all», перезагружаются все компоненты, работающие в фоновом режиме.
--launch [компонент]
Если указанный компонент еще не работает, запустить его. Компонент должен
поддерживать работу в фоновом режиме. Обычно команда не требуется, поскольку
система запускает эти процессы по мере необходимости. Однако внешняя
программа, использующая напрямую gpg-agent
или dirmngr
,
может воспользоваться этой командой, чтобы гарантировать, что они
запущены. Если в качестве аргумента компонент задано «all»,
запускаются все компоненты, работающие в фоновом режиме.
--kill [компонент]
Завершить работу заданного компонента. Это поддерживают компоненты
gpg-agent
и scdaemon
. Компоненты, которые этого не
поддерживают, игнорируются. Если в качестве аргумента компонент задано
«all», завершаются все компоненты, работающие в фоновом режиме. Обратите
внимание, что на настоящий момент для scdaemon
завершение
эквивалентно перезагрузке.
--create-socketdir
Создать каталог для сокетов в /run/user или /var/run/user. Эта команда нужна, только если применяется отличный от исходного домашний каталог, а сокеты должны находиться в /run. В исходном домашнем каталоге GnuPG создает каталог на ходу.
--remove-socketdir
Удалить каталог, созданный командой --create-socketdir.
Можно использовать параметры:
-o файл
--output файл
Выводить данные в указанный файл. По умолчанию вывод производится в стандартный поток вывода.
-v
--verbose
Выводить при работе дополнительную информацию, а именно, численные значения дополняются описаниями для человека.
-q
--quiet
Стараться выводить на экран как можно меньше.
-n
--dry-run
Ничего не менять. Пока это реализовано только для --change-options
и
может использоваться в целях отладки.
-r
--runtime
Используется только с --change-options
. Если один из измененных
параметров можно изменить в фоновом процессе, отправить процессу сигнал о
перезагрузке файла настроек после изменений.
Это значит, что изменения вступят в силу немедленно, насколько это возможно. В противном случае они вступят в силу после следующего запуска соответствующих служебных программ
Следующий: Перечисление компонентов, Пред: Вызов gpgconf, Вверх: gpgconf [Содержание][Указатель]
Некоторые строки в данных на выходе gpgconf
содержат список полей,
разделенных двоеточием. Установлены следующие соглашения:
gpgconf
завершающие символы перевода строки и возврата каретки.
gpgconf
.
gpgconf
могут добавлять поля к концу списка. Новые
поля всегда будут отделяться от старых двоеточием. Пользовательская
программа должна быть готова считывать последнее известное ей поле до конца
строки или до двоеточия.
Для данных поля определено несколько типов:
В некоторых полях содержатся строки, в которых не используются никакие экранирующие символы. Такие поля описываются как буквальные. Эти поля никогда не содержат двоеточия (по очевидным причинам). Для извлечения содержимого этих полей не нужна никакая обработка экранирующих символов. Такие поля применяются для облегчения синтаксического анализа данных, когда известно, что в них никогда не могут появиться никакие специальные символы.
В некоторых полях содержатся строки, которые описываются как
экранированные процентом. Из таких строк нужно удалять экранирующие
символы перед представлением их пользователю. В этих строках все
последовательности %XY
заменяются байтом, представляющим
шестнадцатеричное число XY
. X
и Y
должны входить в
множество 0-9a-f
.
В некоторых полях содержатся строки, которые описываются как переводимые. Такие строки переводятся на действующий язык и форматируются в действующей кодировке.
Такие поля содержат неотрицательное число. Это число всегда находится в пределах 32 бит без знака. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат число со знаком. Это число всегда находится в пределах 32 бит со знаком. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат логическую величину. Это число, равное 0 или 1. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат аргумент параметра. Формат аргумента зависит от параметра и нескольких признаков:
В простейшем случае параметр вообще не требует аргумента (тип
0
). Тогда аргумент представляет беззнаковое число, которое указывает,
сколько раз задан параметр. Если не установлен признак список
,
аргумент может быть равен только 1. У параметров без аргументов не могут
быть установлены признаки исходное
и необязательный аргумент
.
Если параметр сопровождается числовым аргументом (доп-тип равен
2
или 3
) и может задаваться только один раз (признак
список
не установлен), то аргумент параметра либо пуст (допустимо,
только когда аргумент не обязателен), либо является числом. Число — это
строка, которая начинается с необязательного знака минуса, за которым
следует одна или более цифр. Число должно умещаться в целую переменную
(беззнаковую или со знаком, в зависимости от значения доп-тип).
Если параметр сопровождается числовым аргументом и может задаваться более одного раза, то аргумент параметра либо пуст, либо представляет список описанных выше чисел, разделенных запятыми.
Если параметр сопровождается аргументом-строкой (доп-тип равен 1) и
может задаваться только один раз (признак список
не установлен), то
аргумент параметра либо пуст (допустимо, только когда аргумент не
обязателен), либо начинается с символа двойной кавычки ("
), за
которым следует экранированная процентом строка, представляющая значение
аргумента. Обратите внимание, что открывающая кавычка есть, а закрывающей —
нет. Символ двойной кавычки нужен только для того, чтобы отсутствие
аргумента можно было отличать от пустой строки.
Если параметр сопровождается аргументом-строкой и может задаваться более одного раза, то аргумент параметра либо пуст, либо представляет список вышеописанных строковых аргументов, разделенных запятыми.
Действующий язык и кодировка в настоящее время определяются по переменным
среды программы gpgconf
.
Следующий: Проверка программ, Пред: Формат, Вверх: gpgconf [Содержание][Указатель]
Команда --list-components
перечисляет компоненты, которые можно
настраивать программой gpgconf
. Обычно один компонент
соответствует одной программе, относящейся к GnuPG, и содержит параметры
файла настроек этой программы, которые можно изменять при посредстве
gpgconf
. Однако это не обязательно. Компонент может представлять
также группу избранных параметров нескольких программ или содержать чисто
умозрительные параметры, которые не соответствуют изменению в точности
одного параметра в одном файле настроек.
Компонент представляет набор параметров настройки, связанных друг с другом по смыслу. Более того, несколько изменений в компоненте можно выполнять как атомарную операцию. Пользовательская оболочка может, например, предоставлять меню с одним пунктом на каждый компонент или окно с листом-вкладкой на каждый компонент.
Команда --list-components
перечисляет все доступные компоненты по
одному в строке вида:
имя:описание:имя программы:
В этом поле содержится именная метка компонента. Она используется для
указания компонента во всяком обмене с gpgconf
. Именную метку
следует использовать буквально. Таким образом, в ее формате нет
никаких экранирующих символов.
Это строка, в которой содержится предназначенное для человека описание компонента. Оно может отображаться в пользовательской оболочке в информационных целях. Оно экранировано процентом и переводимо.
Это строка, в которой содержится абсолютный путь до файла программы. Строку можно применять для однозначного вызова этой программы. Она экранирована процентом.
Пример:
$ gpgconf --list-components gpg:GPG для OpenPGP:/usr/local/bin/gpg2: gpg-agent:Агент GPG:/usr/local/bin/gpg-agent: scdaemon:Демон криптографических карт:/usr/local/bin/scdaemon: gpgsm:GPG для S/MIME:/usr/local/bin/gpgsm: dirmngr:Управление каталогами:/usr/local/bin/dirmngr:
Следующий: Перечисление параметров, Пред: Перечисление компонентов, Вверх: gpgconf [Содержание][Указатель]
Команда --check-programs
аналогична --list-components
, но
работает со служебными программами, а не компонентами. Она запускает каждую
программу, чтобы проверить, что та установлена и может выполняться. При этом
проводится также проверка синтаксиса всех параметров файла настройки этой
программы.
Команда --check-programs
перечисляет все доступные программы, по
одному в строке вида:
имя:описание:имя
программы:доступность:норма:файл
настроек:строка:ошибка:
В этом поле содержится именая метка программы, аналогичная имени компонента. Именную метку следует использовать буквально. Таким образом, в ее формате нет никаких экранирующих символов. Это поле может быть пустым, чтобы указать на то, что строка является продолжением описания ошибок, относящихся к последнему имени. В этом случае имя программы и описание тоже будут пустыми.
Это строка, в которой содержится предназначенное для человека описание компонента. Оно может отображаться в пользовательской оболочке в информационных целях. Оно экранировано процентом и переводимо.
Это строка, в которой содержится абсолютный путь до файла программы. Строку можно применять для однозначного вызова этой программы. Она экранирована процентом.
Это логическая величина, указывающая на то, что программа установлена и что ее можно выполнять.
Это логическая величина, указывающая на то, что файл настроек программы не содержит синтаксических ошибок.
Если в файле настроек обнаружена ошибка (на которую указывает значение 0 в
поле норма
), то в этом поле находится имя файла с ошибкой. Оно
экранировано процентом.
Если в файле настроек обнаружена ошибка, в этом поле находится номер строки с ошибкой. Это беззнаковое число.
Если в файле настроек обнаружена ошибка, в этом поле находится номер текст с описанием ошибки. Эта строка экранирована процентом и переводима.
В следующем примере dirmngr
не запускается, а в файле настроек
scdaemon
ошибка.
$ gpgconf --check-programs gpg:GPG для OpenPGP:/usr/local/bin/gpg2:1:1: gpg-agent:Агент GPG:/usr/local/bin/gpg-agent:1:1: scdaemon:Демон криптографических карт:/usr/local/bin/scdaemon:1:0: gpgsm:GPG для S/MIME:/usr/local/bin/gpgsm:1:1: dirmngr:Управление каталогами:/usr/local/bin/dirmngr:0:0:
Команда --check-options компонент
проверяет файл настроек
так же, как это делает --check-programs
, но только для заданного
компонента.
Следующий: Изменение параметров, Пред: Проверка программ, Вверх: gpgconf [Содержание][Указатель]
Каждый компонент содержит один или более параметров. Параметры могут объединяться в группы, чтобы пользовательская оболочка могла подсказывать пользователю, какие параметры связаны друг с другом.
Команда --list-options компонент
перечисляет все параметры
(и группы, в которые они входят) заданного компонента по одному в
строке. Компонент должен задаваться именем, которое выводится командой
--list-components
.
Каждая группа и каждый параметр выводятся в отдельной строке. Сначала идут все параметры, не входящие ни в одну из групп. Затем идет строка с описанием группы. После этого идут все параметры, входящие в эту группу. Дальше идет следующая группа и так далее. Групп может и не быть (в этом случае перечисление завершается выводом последнего параметра, не входящего ни в одну из групп).
Строки имеют вид:
имя:признаки:уровень:описание:тип:доп-тип:имя
аргумента:исходное:исх.арг:значение
В этом поле содержится именная метка группы или параметра. Она используется
для указания группы или параметра во всяком обмене с
gpgconf
. Именную метку следует использовать
буквально. Таким образом, в ее формате нет никаких экранирующих
символов.
Поле содержит беззнаковое число. Его величина представляет побитовое ИЛИ следующих признаков:
группа (1)
Если установлен этот признак, строка описывает группу, а не параметр.
Следующие значения признаков определены только для параметров (то есть если
признак группа
не установлен).
необязательный аргумент (2)
Если признак установлен, аргумент не обязателен. Признак никогда не
устанавливается, если тип равен 0
(параметр без аргумента).
список (4)
Если этот признак установлен, параметр можно задавать несколько раз.
без перезапуска (8)
Если этот признак установлен, параметр можно менять во время работы программы.
исходное (16)
Если этот признак установлен, у параметра есть исходное значение.
рабочее исходное (32)
Если этот признак установлен, у параметра есть исходное значение во время
работы программы. Этот признак и исходное
взаимно исключают друг
друга.
безаргументный (64)
Если этот признак установлен вместе с признаком необязательный
аргумент
, то параметр имеет особый смысл, если не сопровождается
аргументом.
константа (128)
Если этот признак установлен, gpgconf
игнорирует запросы на
изменение этого параметра. Пользовательские оболочки должны отражать
невозможность изменения. Обратите внимание, что файлы настроек все равно
можно править вручную.
Это поле определено для параметров и для групп. Оно содержит беззнаковое число, указывающее уровень опыта, под которым следует отображать эту группу или параметр. Определены следующие уровни опыта:
простейший (0)
Элемент следует предлагать пользователю всегда.
усложненный (1)
Элемент можно предлагать опытным пользователям.
экспертный (2)
Элемент следует предлагать только экспертам.
невидимый (3)
В обычных ситуациях элемент отображать не следует — даже для экспертов.
внутренний (4)
Этот элемент предназначен только для внутреннего пользования. Игнорируйте его.
Уровень группы всегда является минимальным уровнем всех входящих в нее параметров.
Это поле определено для параметров и групп. Это строка, содержащая описание элемента, предназначенное для человека. Она может отображаться в пользовательской оболочке в информационных целях. Она экранирована процентом и переводима.
Это поле определено только для параметров. Оно содержит беззнаковое число, которое определяет тип аргумента (и существует ли он). Определены типы:
Простые типы:
пустой (0)
Аргумент недопустим.
строка (1)
Аргумент — неформатированная строка.
int32 (2)
Аргумент — число со знаком.
uint32 (3)
Аргумент — беззнаковое число.
Сложные типы:
путь в файловой системе (32)
Это строка, в которой записан путь до файла. Файл не обязательно существует.
сервер LDAP (33)
Это строка, в которой описан сервер LDAP в виде:
имя сервера:порт:имя пользователя:пароль:база
поиска
отпечаток ключа (34)
Это строка с 40-значным отпечатком, определяющим сертификат.
открытый ключ (35)
Это строка, которая задает сертификат идентификатором пользователя, идентификатором ключа или отпечатком.
секретный ключ (36)
Это строка, которая задает сертификат с секретным ключом идентификатором пользователя, идентификатором ключа или отпечатком.
список группы (37)
Это строка, которая задает список группы, как при использовании
параметра --group gpg
. Список состоит из имени, знака
равенства и разделенных пробелом значений.
В дальнейшем будут добавляться новые типы. О том, как обрабатывать неизвестные типы, см. в описании доп-тип.
Это поле идентично полю тип, но в нем допустимы значения только от
0
до 31
. Пользовательская оболочка должна представлять
пользователю параметр в формате, указанном в поле тип. Но если
аргумент данного типа не поддерживается оболочкой, она может представить его
в более общем простом типе, указанном в поле доп-тип. Пользовательская
оболочка должна поддерживать все определенные здесь простые типы, чтобы
можно было отображать все параметры. В дальнейшем будут добавляться новые
простые типы. Если пользовательская оболочка встречает основной тип, который
она не поддерживает, она должна сообщить об ошибке и отменить операцию.
Это поле определено только для параметров с типом аргумента тип,
отличным от 0
. В этом случае оно может содержать экранированную
процентом строку, которая переводима и в которой указано краткое имя
аргумента. Поле также может быть пустым, это значит, что краткое имя не
известно.
Это поле определено только для параметров, для которых установлен признак
исходное
или рабочее исходное
. Если установлен признак
исходное
, формат поля соответствует аргументу параметра
(см. Формат). Если исходное значение пусто, то оно считается
неизвестным. В противном случае содержимое поля указывает исходное значение
этого параметра. Если установлен признак рабочее исходное
, то поле
либо пусто, либо определяет значение параметра, когда он не задан.
Это поле определено только для параметров, для которых установлен признак
необязательный аргумент
. Если не установлен признак
безаргументный
, его формат соответствует параметру
(см. Формат). Если исходное значение пусто, то оно считается
неизвестным. В противном случае поле определяет исходное значение аргумента
этого параметра. Если признак безаргументный
установлен, то поле либо
пусто, либо определяет значение аргумента параметра, когда он не задан.
Это поле определено только для параметров. Его формат соответствует аргументу параметра. Если оно пусто, то параметр в явном виде в текущих настройках не указан и действуют исходные значения (если они есть). В противном случае он содержит текущее значение параметра. Обратите внимание, что это поле имеет смысл и в том случае, если у самого параметра настоящего аргумента нет (в этом случае в поле указано, сколько раз параметр появляется в строке).
Следующий: Список глобальных параметров, Пред: Перечисление параметров, Вверх: gpgconf [Содержание][Указатель]
Команда --change-options компонент
пытается изменить
параметры заданного компонента на указанные. В качестве аргумента задается
строка из поля имя в списке, который выводит команда
--list-components. В стандартный поток ввода надо подавать
изменяемые параметры в формате:
имя:признаки:новое значение
Имя параметра, который нужно изменить. Это должна быть строка из поля имя в списке, который выводит команда --list-components.
Поле содержит беззнаковое число. Его величина представляет побитовое ИЛИ следующих признаков:
исходное (16)
Если этот признак не установлен, параметр удаляется и вместо него используется исходное значение (если оно есть).
Новое значение параметра. Это поле определено, только если не установлен
признак исходный
. Формат соответствует аргументу
параметра. Если поле пусто, используется исходное значение (это допустимо,
только если аргумент для этого параметра не обязателен). В противном случае
параметру будет присвоено заданное значение.
Команда выводит то же, что и --check-options
, для измененного файла
настроек.
Примеры:
Установить параметр force, который имеет тип пустой (0)
:
$ echo 'force:0:1' | gpgconf --change-options dirmngr
Сбросить параметр force:
$ echo 'force:16:' | gpgconf --change-options dirmngr
Параметр --runtime может влиять на то, когда изменения вступают в силу.
Следующий: Запрос версий, Пред: Изменение параметров, Вверх: gpgconf [Содержание][Указатель]
Иногда программе полезно заглянуть в файл глобальных настроек gpgconf.conf. Данные организованы по записям, с двоеточием в качестве разделителя; первое поле идентифицирует тип записи:
k
Это означает запись ключа для начала определения нового набора правил пользователя или группы. Формат записи ключа таков:
k:пользователь:группа:
Это пользовательское поле ключа, оно экранировано процентом. Подробности см. в определении формата gpgconf.conf.
Это поле группы ключа, оно экранировано процентом.
r
Описывает правило. Все записи правил до очередной записи ключа составляют набор правил для этого ключа. Формат записи правила таков:
r:::компонент:параметр:признак:значение:
Эта часть содержит компонент. Это простая строка.
Эта часть содержит параметр. Это простая строка.
Эта часть задает признаки. В каждом правиле может быть только один признак, но параметру можно присвоить несколько признаков, вводя в разных строках один и тот же компонент и параметр. Это простая строка.
Это необязательное значение параметра. Это экранированная процентом строка с одним знаком кавычек, чтобы обозначить строку. Знак кавычек нужен, только чтобы отличать отсутствие значения от пустой строки.
Незнакомые типы записей следует игнорировать. Обратите внимание, что в
gpgconf
преднамеренно не вводится функция изменения глобального
файла настроек.
Следующий: Файлы gpgconf, Пред: Список глобальных параметров, Вверх: gpgconf [Содержание][Указатель]
Проект GnuPG предоставляет сервер для запроса текущих версий пакетов
программ, относящихся к GnuPG. Для доступа к это базе данных в сети можно
применять gpgconf
. Чтобы обеспечить возможность работы без сети,
при выполнении этой операции dirmngr
получает файл из
https://versions.gnupg.org
, проверяя подпись этого файла и сохраняя
его в домашнем каталоге GnuPG. Если gpgconf
вызывается, когда
работает dirmngr
, первый может запросить у последнего обновление
этого файла перед тем, как использовать его.
Команда --query-swdb возвращает сведения по заданному пакету в формате с двоеточиями в качестве ограничителей:
Это имя запрошенного пакета. Обратите внимание, что «gnupg» является
специальным именем, которое заменяется на конкретный пакет, реализующий эту
версию GnuPG. Для этого имени также не требуется указывать версию, потому
что gpgconf
в этом случае берет версию самого себя.
Установленная в настоящий момент версия или пустая строка. Значение берется
из аргумента командной строки, но если оно не задано, его может заполнять
gpg
.
Статус пакета согласно таблице:
-
Нет сведений — либо потому, что не указана текущая версия, либо из-за ошибки.
?
Данное имя в сетевой базе данных отсутствует.
u
Есть более новая версия программы.
c
Установлена самая последняя версия.
n
Установленная версия новее последнего выпуска.
Если значение больше нуля, доступно важное обновление. Пустая строка считается нулем.
Возвращает код ошибки gpg-error
для диагностики.
Возвращает дату файла с номерами версий в стандартном формате ИСО
(ггггммддTччммсс
). Дату dirmngr
извлекает из подписи файла.
Дата, когда файл был получен, в формате ИСО. Может использоваться для оценки свежести данных.
Возвращает строку из файла с версией заданной программы.
Возвращает дату выпуска в формате ИСО.
Возвращает размер пакета в байтах в виде десятичного числа.
Возвращает SHA-2 пакета в шестнадцатеричном виде.
В будущем могут быть добавлены новые поля.
Пред: Запрос версий, Вверх: gpgconf [Содержание][Указатель]
Если этот файл существует, он обрабатывается как файл глобальных настроек. Прокомментированный пример можно найти в каталоге examples дистрибутива.
Файл с текущими версиями программ. Создается из сетевого источника
программой dirmngr
по мере необходимости.
Следующий: gpg-preset-passphrase, Пред: gpgconf, Вверх: Вспомогательные средства [Содержание][Указатель]
Программа представляет обертку gpgconf
для выполнения команды
--apply-defaults
для всех настоящих пользователей, у которых есть
домашний каталог GnuPG. Программа может быть полезна администраторам для
обновления файлов настроек GnuPG для всех пользователей после изменения
/etc/gnupg/gpgconf.conf. Это позволяет устанавливать определенные
правила для всех пользователей. Обратите внимание, что это не является
надежным способом заставить пользователя применять определенные
настройки. Пользователь всегда может отредактировать файлы настроек напрямую
и обойти gpgconf.
Команда applygnupgdefaults
вызывается от имени суперпользователя:
applygnupgdefaults
Следующий: gpg-connect-agent, Пред: applygnupgdefaults, Вверх: Вспомогательные средства [Содержание][Указатель]
Программа gpg-preset-passphrase
представляет утилиту для
заполнения внутреннего буфера работающего gpg-agent
фразами-паролями. Она полезна главным образом для машин, администрируемых по
сети, на которых обычное средство ввода пароля pinentry
применяться не может и фразы-пароли к ключам задаются при загрузке машины.
Срок действия фраз-паролей, заданных этой программой, не истекает, если не
введен параметр --forget, явным образом очищающий буфер, или если
не перезапускается программа gpg-agent
(сигналом SIGHUP). Обратите
внимание, что максимальное время хранения в буфере, задаваемое параметром
--max-cache-ttl, все так же учитывается. Задание фраз-паролей
должно быть разрешено при запуске gpg-agent
параметром
--allow-preset-passphrase.
• Вызов gpg-preset-passphrase: | Список всех команд и параметров. |
Вверх: gpg-preset-passphrase [Содержание][Указатель]
gpg-preset-passphrase
вызывается так:
gpg-preset-passphrase [параметры] [команда] идентификатор буфера
Идентификатор буфера представляет либо 40-символьный шестнадцатеричный
код ключа, идентифицирующей ключ, для которого нужно установить или сбросить
фразу-пароль. Код ключа можно узнать с помощью команды gpgsm
--dump-secret-keys
. В качестве идентификатора буфера можно также применять
произвольную строку, которая идентифицирует фразу-пароль; предлагается
приписывать в начале такой строки имя программы (напр., foo:12346
).
Должна быть задана одна из команд:
--preset
Установить фразу-пароль. Обычно этим вы и будете пользоваться. При этом
gpg-preset-passphrase
будет читать фразу-пароль из стандартного
потока ввода.
--forget
Сбросить фразу-пароль для указанного идентификатора буфера.
Можно пользоваться следующими дополнительными параметрами:
-v
--verbose
Выводить во время работы дополнительные сведения.
-P строка
--passphrase строка
Вместо чтения фразы-пароля из стандартного потока ввода использовать в качестве фразы-пароля аргумент. Обратите внимание, что это делает фразу-пароль видимой для других пользователей.
Следующий: dirmngr-client, Пред: gpg-preset-passphrase, Вверх: Вспомогательные средства [Содержание][Указатель]
Программа gpg-connect-agent
представляет утилиту для связи с
работающим gpg-agent
. Она полезна для проверки команд, выполнение
которых gpg-agent
обеспечивает по протоколу Assuan. Она может быть
также полезна для написания простых программ-сценариев. Программа читает из
стандартного потока ввода и печатает результаты в стандартный поток вывода.
Это очень похоже на выполнение gpg-agent
в режиме сервера, но
здесь мы подключаемся к работающему экземпляру.
• Вызов gpg-connect-agent: | Список всех параметров. | |
• Управление gpg-connect-agent: | Команды управления. |
Следующий: Управление gpg-connect-agent, Вверх: gpg-connect-agent [Содержание][Указатель]
gpg-connect-agent
вызывается так:
gpg-connect-agent [параметры] [команды]
Можно использовать параметры:
-v
--verbose
Выводить во время работы дополнительные сведения.
-q
--quiet
Стараться выводить на экран как можно меньше.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
--agent-program файл
Указать программу-агент для запуска, если она еще не выполняется. Исходное
значение определяется вызовом gpgconf
с параметром
--list-dirs. Обратите внимание, что символ конвейера («|
»)
применяется для регрессионного тестирования и поэтому не может появляться в
имени файла.
--dirmngr-program файл
Указать программу диспетчера каталогов (клиент сервера ключей), которая будет запущена, если она еще не выполняется. Это влияет на работу, только когда задан параметр --dirmngr.
--dirmngr
Соединяться с работающим диспетчером каталогов (клиентом сервера ключей)
вместо gpg-agent
. Если dirmngr
не работает, запустить
его.
-S
--raw-socket имя
Подключиться к заданному сокету, предполагая, что это сервер типа Assuan. Не проводить никаких особых инициализаций и проверок среды. Таким образом можно напрямую подключаться к любому серверу сокетов типа Assuan.
-E
--exec
Использовать остальную часть командной строки как программу и аргументы и
вызвать ее как сервер Assuan. Вот как это делается с gpgsm
:
gpg-connect-agent --exec gpgsm --server
Обратите внимание, что в этом случае нельзя использовать параметры в командной строке.
--no-ext-connect
При вызове с -S или --exec команда
gpg-connect-agent
подключается к серверу Assuan в расширенном
режиме, чтобы можно было передавать дескрипторы. Этот параметр переводит ее
в старый режим.
--no-autostart
Не запускать gpg-agent
и dirmngr
, если они еще не
запущены.
-r файл
--run файл
Выполнить при запуске команды из указанного файла, а затем перейти к обычному режиму ввода. Обратите внимание, что команды, переданные в командной строке, выполняются после этого файла.
-s
--subst
Выполнить при запуске команду /subst
.
--hex
Выводить строки данных в шестнадцатеричном формате и текстовом представлении неуправляющих символов.
--decode
Декодировать строки данных. Это удаляет экранирующие проценты, но строки всегда начинаются с «D» и пробела.
Пред: Вызов gpg-connect-agent, Вверх: gpg-connect-agent [Содержание][Указатель]
При чтении команд Assuan gpg-agent
допускает также несколько
специальных команд для управления работой. Эти управляющие команды
начинаются с косой черты (/
).
/echo аргументы
Просто вывести аргументы.
/let имя значение
Присвоить переменой имя заданное значение. Переменные заменяются
на свои значения в данных на входе, только если была введена команда
/subst
. На переменную указывает знак доллара, имя переменной может
включаться также в необязательные фигурные скобки. Ограничения на имена
идентичны ограничениям в стандартном командном интерпретаторе
Борна. Проверки пока нет, но она может быть введена в будущем. Внутри
фигурных скобок в начале и в конце пробелы недопустимы.
Если переменная не найдена, программа ищет ее в среде и в случае успеха копирует в таблицу переменных.
Можно вызывать функции переменных: за именем функции должен следовать по меньшей мере один пробел и по меньшей мере один аргумент. Определены следующие функции:
get
Возвращает значение, описанное аргументом. Доступны аргументы:
cwd
Текущий рабочий каталог.
homedir
Домашний каталог GnuPG.
sysconfdir
Каталог системных настроек GnuPG.
bindir
Каталог исполняемых файлов GnuPG.
libdir
Каталог библиотек GnuPG.
libexecdir
Каталог библиотек исполняемых файлов GnuPG.
datadir
Каталог данных GnuPG.
serverpid
Идентификатор процесса текущего сервера. Чтобы получить осмысленное
значение, перед этим нужно вызвать команду /serverpid
.
unescape аргументы
Удалить экранирующие символы в стиле Си из аргументов. Обратите внимание,
что \0
и \x00
неявным образом завершают строку. В качестве
преобразуемой строки берутся все аргументы направо от пробела,
ограничивающего имя функции.
unpercent аргументы
unpercent+ аргументы
Удалить экранирующие пробелы из аргументов. Обратите внимание, что
%00
неявным образом завершает строку. В качестве преобразуемой строки
берутся все аргументы направо от пробела, ограничивающего имя
функции. unpercent+
переводит также знаки плюса в пробелы.
percent аргументы
percent+ аргументы
Экранировать аргументы символом процента. Экранируются символы табуляции,
конца страницы, конца строки, перевода каретки, а также
двоеточия. percent+
переводит также пробелы в знаки плюса.
errcode аргумент
errsource аргумент
errstring аргумент
Считать аргумент целым числом и прочесть его с помощью
strtol
. Возвратить код ошибки gpg-error
, источник ошибки или
форматированную строку с кодом и источником ошибки.
+
-
*
/
%
Прочесть все аргументы в виде целых чисел типа long
с помощью
strtol
и применить эту операцию. Деление на ноль дает пустую строку.
!
|
&
Прочесть все аргументы в виде целых чисел типа long
с помощью
strtol
и применить логическую операцию НЕ, ИЛИ или И. Оператор НЕ
действует только на последний аргумент.
/definq имя переменная
Использовать содержимое указанной переменной для запросов с указанным
именем. Если в качестве имени задана звездочка (*
), это соответствует
любым запросам.
/definqfile имя файл
Использовать содержимое указанного файла для запросов с указанным
именем. Если в качестве имени задана звездочка (*
), это соответствует
любым запросам.
/definqprog имя программа
Выполнять указанную программу для запросов с указанным именем, передавая всю строку в качестве аргументов командной строки.
/datafile имя
Записывать все строки данных из сервера в указанный файл. Файл открывается для записи и создается, если не существует. Из существующего файла данные удаляются. Данные записываются в файл в полностью декодированном виде. Если в качестве имени задан «-», данные записываются в стандартный поток вывода. Файл остается открытым до тех пор, пока не будет задан новый файл или эта команда не будет введена без аргумента.
/showdef
Вывести все определения
/cleardef
Сбросить все определения
/sendfd файл режим
Открыть указанный файл в заданном режиме (который должен быть допустимой
строкой режима fopen
) и выслать файловый дескриптор серверу. За этим
обычно следует команда, подобная INPUT FD
, чтобы установить источник
ввода для других команд.
/recvfd
Пока не реализовано.
/open переменная файл [режим]
Открыть указанный файл и присвоить файловый дескриптор указанной переменной. Внимание: это экспериментальная команда, в будущих версиях она может поменяться.
/close fd
Закрыть данный файловый дескриптор. Внимание: это экспериментальная команда, в будущих версиях она может поменяться.
/showopen
Показать список открытых файлов.
/serverpid
Отправить на сервер команду Assuan GETINFO pid
и сохранить
возвращенный идентификатор процесса для внутренних нужд.
/sleep
Заснуть на секунду.
/hex
/nohex
То же, что параметр командной строки --hex.
/decode
/nodecode
То же, что параметр командной строки --decode.
/subst
/nosubst
Включить и выключить подстановку переменных. В исходном состоянии выключена, если не задан параметр командной строки --subst. Если /subst включается один раз, из начала входных строк удаляются пробелы, чтобы их было легче читать.
/while условие
/end
С помощью этих команд вводятся циклы. Все строки между while
и
соответствующим end
выполняются, пока результат вычисления условия
равен ненулевому числу, строке true
или строке yes
. Числа
определяются функцией strtol
. Пример:
/subst /let i 3 /while $i /echo счетчик цикла равен $i /let i ${- $i 1} /end
/if условие
/end
С помощью этих команд вводится условное выполнение. Все строки между
if
и соответствующим end
выполняются, если результат
вычисления условия равен ненулевому числу, строке true
или строке
yes
. Числа определяются функцией strtol
.
/run файл
Выполнить команды из указанного файла.
/bye
Разорвать соединение и выйти из программы.
/help
Вывести список доступных управляющих команд.
Следующий: gpgparsemail, Пред: gpg-connect-agent, Вверх: Вспомогательные средства [Содержание][Указатель]
Программа dirmngr-client
представляет простое средство обращения к
работающему dirmngr
и проверки, отозван ли сертификат — либо
перечислением в соответствующем списке отозванных сертификатов, либо по
протоколу OCSP. Если dirmngr
не работает, будут запускаться новые
экземпляры, но в целом это не хорошо, потому что связано с огромной потерей
производительности.
Обычно это средство запускают с помощью командной строки
dirmngr-client сертификат
или
dirmngr-client <сертификат
Где сертификат содержит закодированные по DER (двоичные) сертификаты X.509, которые нужно проверить. Командой возвращается значение:
0
Рассматриваемый сертификат достоверен, т.е. есть действительный список отозванных сертификатов, в котором он не перечислен, или запрос по OCSP показал, что сертификат достоверен.
1
Сертификат отозван
2 (и другие значения)
При проверке сертификата отзыва произошла ошибка. Сообщение с более подробной информацией выводится в стандартный поток ошибок. Скорее всего, это отсутствующий или просроченный список отозванных сертификатов или проблема с сетью.
dirmngr-client
можно вызывать со следующими параметрами:
--version
Вывести версию программы и лицензионные сведения. Эту команду нельзя сокращать (напр., как --versio).
--help, -h
Вывести подсказку по наиболее полезным параметрам командной строки. Эту команду нельзя сокращать (напр., как --hel).
--quiet, -q
Сократить вывод, подавив все информационные сообщения.
-v
--verbose
Выводить во время работы дополнительную информацию. Уровень подробности можно повышать, вводя параметр несколько раз, например, ‘-vv’.
--pem
Считать, что данный сертификат поступает в формате PEM (текстовом).
--ocsp
Проводить проверку по протоколу OCSP, не учитывая никаких списков отозванных сертификатов.
--force-default-responder
При проверке по протоколу OCSP принудительно пользоваться исходным ответчиком OCSP. Не пользоваться ответчиком, заданным в сертификате.
--ping
Проверить, работает ли демон dirmngr
.
--cache-cert
Поместить данный сертификат в буфер работающего dirmngr
. Это
полезно в основном для отладки.
--validate
Проверить данный сертификат с помощью внутренней процедуры
dirmngr
. Это полезно в основном для отладки.
--load-crl
Команда ожидает список имен файлов, хранящих списки отозванных сертификатов
в кодировке DER. С параметром --url ожидаются URL вместо имен
файлов, они будут загружаться прямо из заданного адреса. Все списки
отозванных сертификатов будут проверяться и загружаться в буфер
dirmngr
.
--lookup
Взять оставшиеся аргументы и выполнить команду поиска над каждым из них. Результаты кодируются в base-64 (без заголовочных строк). Этим можно пользоваться для извлечения сертификатов с сервера. Однако формат данных на выходе не очень удобен, когда возвращается более одного сертификата.
--url
-u
Задать URL в качестве аргумента в командах lookup
и
load-crl
.
--local
-l
Ограничить команду lookup
поиском в локальном буфере.
--squid-mode
Выполнить dirmngr-client
в режиме вспомогательной программы для
параметра Squid external_acl_type.
Следующий: symcryptrun, Пред: dirmngr-client, Вверх: Вспомогательные средства [Содержание][Указатель]
gpgparsemail
представляет утилиту, в настоящее время полезную
только для отладки. Для справки вызывайте ее с параметром --help
.
Следующий: gpg-zip, Пред: gpgparsemail, Вверх: Вспомогательные средства [Содержание][Указатель]
Иногда уже применяются простые средства шифрования, которые может быть
желательно интегрировать в каркас GnuPG. Протоколы и методы шифрования могут
быть нестандартны или даже недостаточно документированы, так что сделать из
них полноценное средство шифрования с таким интерфейсом, как у
gpg
, нереально. Программа symcryptrun
решает эту задачу:
она работает, вызывая внешний модуль шифрования-расшифровки и передает
фразу-пароль для ключа с помощью механизма на базе обычной программы ввода
пароля pinentry
при посредстве gpg-agent
.
Обратите внимание, что symcryptrun
доступна, только когда GnuPG
настроен с параметром ‘--enable-symcryptrun’ во время сборки.
• Вызов symcryptrun: | Список всех команд и параметров. |
Вверх: symcryptrun [Содержание][Указатель]
symcryptrun
вызывается так:
symcryptrun --class класс --program программа --keyfile файл ключа [--decrypt | --encrypt] [входной файл]
Для шифрования открытый текст должен передаваться по стандартному потоку ввода или через аргумент входной файл, а зашифрованный текст будет выводиться в стандартный поток вывода. Для расшифровки — наоборот.
Аргумент класс описывает соглашения вызова внешнего средства. В настоящее время это должен быть ‘confucius’. Аргумент программа представляет полное имя этого внешнего средства.
Для класса ‘confucius’ параметр --keyfile обязателен; он задает имя файла, содержащего секретный ключ, который может быть защищен фразой-паролем. Подробности соглашений вызова см. в исходном тексте программы.
Обратите внимание, что на момент вызова symcryptrun
должен
работать gpg-agent
.
Можно пользоваться следующими дополнительными параметрами:
-v
--verbose
Выводить во время работы дополнительные сведения.
-q
--quiet
Стараться выводить на экран как можно меньше.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
--log-file файл
Дописывать протокол работы в указанный файл. Укажите socket://, если нужно протоколировать в сокет. По умолчанию эта информация выводится в стандартный поток ошибок.
Возможные коды выхода symcryptrun
:
0
Успех.
1
Произошла ошибка.
2
Не получена верная фраза-пароль.
3
Операция отменена пользователем.
Пред: symcryptrun, Вверх: Вспомогательные средства [Содержание][Указатель]
gpg-zip
шифрует и подписывает файлы в архив. Это gpg-ованный архив
того же формата, что используется программой PGP Zip.
gpg-zip
вызывается так:
gpg-zip [параметры] имя_файла1 [имя_файла2, ...] каталог [каталог2, ...]
gpg-zip
распознает параметры:
--encrypt
-e
Зашифровать данные. Этот параметр можно комбинировать с --symmetric (чтобы вывод можно было расшифровывать секретным ключом или фразой-паролем).
--decrypt
-d
Расшифровать данные.
--symmetric
-c
Зашифровать симметричным шифром с помощью фразы-пароля. Исходный
симметричный шифр — CAST5, но можно выбрать другой параметром
--cipher-algo команды gpg
.
--sign
-s
Сделать подпись. См. gpg
.
--recipient пользователь
-r пользователь
Зашифровать для заданного идентификатора пользователя. См. gpg
.
--local-user пользователь
-u пользователь
Подписать с помощью заданного ключа. См. gpg
.
--list-archive
Вывести оглавление указанного архива.
--output файл
-o файл
Выводить данные в указанный файл.
--gpg команда
Пользоваться вместо gpg
указанной командой.
--gpg-args аргументы
Передать в gpg
указанные параметры.
--tar команда
Пользоваться вместо tar
указанной командой.
--tar-args аргументы
Передать в tar
указанные параметры.
--version
Вывести версию программы и завершить работу.
--help
Показать краткую справку и завершить работу.
Программа возвращает 0, если все в норме, в противном случае 1.
Несколько примеров:
Зашифровать содержимое каталога mydocs для пользователя Вова в файл test1:
gpg-zip --encrypt --output test1 --gpg-args -r Вова mydocs
Вывести оглавление архива test1:
gpg-zip --list-archive test1
Следующий: Заметки о системах, Пред: Вспомогательные средства, Вверх: Верх [Содержание][Указатель]
Здесь собраны небольшие памятки.
• Как создать сертификат сервера: | Создание сертификата TLS для сервера. |
Вверх: Памятки [Содержание][Указатель]
Здесь вкратце описывается, как создать сертификат сервера. Эта процедура действительно использовалась для получения сертификата, который использовался на реальном сервере, из удостоверяющего центра. Она проверялась только на этом удостоверяющем центре, но с другими центрами тоже проблем быть не должно.
Начнем с создания запроса на подпись сертификата X.509. Файл настроек не нужен, можно просто ввести:
$ gpgsm --generate-key >example.com.cert-req.pem Выберите тип ключа: (1) RSA (2) Имеющийся ключ (3) Имеющийся на карте ключ Ваш выбор? 1 |
Я выбрал создание ключа RSA. Другой вариант — воспользоваться уже существующим ключом, выбрав 2 и введя так называемый код ключа. Этот код вам покажет команда ‘gpgsm --dump-secret-key идентификатор пользователя’. Если выбрать 3, программа выведет другое меню для создания сертификата непосредственно из ключа, хранящегося на электронной карте.
Продолжим:
Какой размер ключа Вам необходим? (2048) Запрошенный размер ключа - 2048 бит |
Нажав «Enter», вы создадите обычный ключ RSA размером 2048 бит. Ключи меньшей длины для нынешнего Интернета слишком слабы. Если выбрать более длинный (более сильный) ключ, у сервера будет больше работы.
Возможные действия для ключа RSA: (1) подпись, шифрование (2) подпись (3) шифрование Ваш выбор? 1 |
Если выбрать «подпись», ключ можно будет применять в механизмах обмена ключами Диффи-Хеллмана (DHE и ECDHE) в TLS, что предпочтительно, поскольку предлагает секретность в прямом направлении. Если выбрать «шифрование», ключ можно будет применять для механизмов обмена ключами RSA, которые до сих пор кое-где обычны. Если выбрать и то, и другое, можно будет пользоваться всеми механизмами обмена.
Теперь введем данные:
Введите имя субъекта X.509: CN=example.com |
Это самая важная величина для сертификата сервера. Введите здесь каноническое имя своей серверной машины. Имена других виртуальных серверов можно добавить позднее.
Введите адреса электронной почты (завершите пустой строкой): > |
В сертификате TLS эти адреса не нужны, и удостоверяющий центр все равно проигнорировал бы их. Просто нажмите «Enter».
Если вы хотели бы создать клиентский сертификат для шифрования электронной почты, здесь можно было бы ввести свой адрес (напр., yi@test.mil). Можно вводить сколько угодно адресов, однако удостоверяющий центр может их не принять или отклонить весь запрос.
Введите имена DNS (необязательно; завершите пустой строкой): > example.com > www.example.com > |
Здесь я ввел имена служб, которые в действительности предоставляет машина. Среди них почти всегда должно быть и каноническое имя. Браузеры будут принимать сертификат для любого из этих имен. Как обычно, удостоверяющий центр должен одобрить все эти имена.
Введите URI: (необязательно; завершите пустой строкой): > |
Можно вводить произвольные URI; для сертификата сервера они не имеют смысла.
Создать самозаверенный сертификат? (y/N) |
Поскольку мы создаем запрос на подпись сертификата, а не полный сертификат, здесь мы отвечаем отрицательно.
Итак, мы ввели все нужные данные, и программа gpgsm
покажет, что
она собрала, и спросит, нужно ли создавать запрос на подпись сертификата:
Используются параметры: Key-Type: RSA Key-Length: 2048 Key-Usage: sign, encrypt Name-DN: CN=example.com Name-DNS: example.com Name-DNS: www.example.com Продолжить создание? (y/N) y |
Теперь gpgsm
приступит к созданию запроса. Поскольку это сопряжено
с созданием ключа RSA, это может занять некоторое время. За это время вас
трижды попросят ввести фразу-пароль для защиты создаваемого секретного ключа
в вашей системе. Будет появляться окно, в котором вас будут просить ввести
его. Первые два запроса — для новой фразы-пароля и повторения его; третий
нужен, чтобы создать запрос подписи сертификата.
По завершении вы должны увидеть сообщение:
Готово. Данный запрос теперь следует передать в удостоверяющий центр. |
Теперь заглянем в созданный запрос на подпись сертификата:
$ cat example.com.cert-req.pem -----BEGIN CERTIFICATE REQUEST----- MIIClTCCAX0CAQAwFjEUMBIGA1UEAxMLZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDP1QEcbTvOLLCX4gAoOzH9AW7jNOMj7OSOL0uW h2bCdkK5YVpnX212Z6COTC3ZG0pJiCeGt1TbbDJUlTa4syQ6JXavjK66N8ASZsyC Rwcl0m6hbXp541t1dbgt2VgeGk25okWw3j+brw6zxLD2TnthJxOatID0lDIG47HW GqzZmA6WHbIBIONmGnReIHTpPAPCDm92vUkpKG1xLPszuRmsQbwEl870W/FHrsvm DPvVUUSdIvTV9NuRt7/WY6G4nPp9QlIuTf1ESPzIuIE91gKPdrRCAx0yuT708S1n xCv3ETQ/bKPoAQ67eE3mPBqkcVwv9SE/2/36Lz06kAizRgs5AgMBAAGgOjA4Bgkq hkiG9w0BCQ4xKzApMCcGA1UdEQQgMB6CC2V4YW1wbGUuY29tgg93d3cuZXhhbXBs ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAEWD0Qqz4OENLYp6yyO/KqF0ig9FDsLN b5/R+qhms5qlhdB5+Dh+j693Sj0UgbcNKc6JT86IuBqEBZmRCJuXRoKoo5aMS1cJ hXga7N9IA3qb4VBUzBWvlL92U2Iptr/cEbikFlYZF2Zv3PBv8RfopVlI3OLbKV9D bJJTt/6kuoydXKo/Vx4G0DFzIKNdFdJk86o/Ziz8NOs9JjZxw9H9VY5sHKFM5LKk VcLwnnLRlNjBGB+9VK/Tze575eG0cJomTp7UGIB+1xzIQVAhUZOizRDv9tHDeaK3 k+tUhV0kuJcYHucpJycDSrP/uAY5zuVJ0rs2QSjdnav62YrRgEsxJrU= -----END CERTIFICATE REQUEST----- $ |
Теперь можете войти в свою учетную запись на сайте удостоверяющего центра,
выбрать Сертификаты Сервера - Новый
, отметить подписать
корневым сертификатом 3 класса
, вставить приведенный выше блок в текстовое
поле и нажать Отправить
.
Если все хорошо, будет показан сертификат. Теперь выполните
$ gpgsm --import |
и вставьте в терминале сертификат со страницы удостоверяющего центра, а затем нажмите Ctrl-D.
-----BEGIN CERTIFICATE----- MIIEIjCCAgqgAwIBAgIBTDANBgkqhkiG9w0BAQQFADBUMRQwEgYDVQQKEwtDQWNl [...] rUTFlNElRXCwIl0YcJkIaYYqWf7+A/aqYJCi8+51usZwMy3Jsq3hJ6MA3h1BgwZs Rtct3tIX -----END CERTIFICATE----- gpgsm: не найден сертификат издателя: #/CN=CAcert Class 3 Ro[...] gpgsm: сертификат импортирован gpgsm: всего обработано: 1 gpgsm: импортировано: 1 |
Программа gpgsm
говорит вам, что сертификат импортирован. Теперь
он связан с ключом, которым вы пользовались при создании
сертификата. Корневой сертификат найден не был, так что вам может
понадобиться импортировать его с сайта удостоверяющего центра.
Чтобы просмотреть содержимое своего сертификата, можно ввести:
$ gpgsm -K example.com /home/foo/.gnupg/pubring.kbx --------------------------- S/N: 4C Issuer: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.[...] Subject: /CN=example.com aka: (dns-name example.com) aka: (dns-name www.example.com) validity: 2015-07-01 16:20:51 through 2016-07-01 16:20:51 key type: 2048 bit RSA key usage: digitalSignature keyEncipherment ext key usage: clientAuth (suggested), serverAuth (suggested), [...] fingerprint: 0F:9C:27:B2:DA:05:5F:CB:33:D8:19:E9:65:B9:4F:BD:B1:98:CC:57 |
Я ввел параметр -K, чтобы перечислить только сертификаты, для которых есть секретный ключ. Если вместо -K ввести --dump-secret-keys, будет выведено больше подробностей.
Чтобы пользоваться сертификатом, надо его установить на своем сервере. Серверные программы обычно работают с файлом PKCS\#12, в котором записан ключ и сертификат. Такой файл создается командой:
$ gpgsm --export-secret-key-p12 -a >example.com-cert.pem |
Будет запрошена фраза-пароль, а также новая фраза-пароль для защиты файла PKCS\#12. Теперь в файле записан сертификат и секретный ключ:
$ cat example-cert.pem Issuer ...: /CN=CAcert Class 3 Root/OU=http:\x2f\x2fwww.CA[...] Serial ...: 4C Subject ..: /CN=example.com aka ..: (dns-name example.com) aka ..: (dns-name www.example.com) -----BEGIN PKCS12----- MIIHlwIBAzCCB5AGCSqGSIb37QdHAaCCB4EEggd9MIIHeTk1BJ8GCSqGSIb3DQEu [...много других строк...] -----END PKCS12----- $ |
Скопируйте этот файл безопасным образом на сервер, установите его там, а затем удалите этот файл. Этот файл можно экспортировать снова в любое время, пока доступна база данных секретных ключей GnuPG.
Следующий: Отладка, Пред: Памятки, Вверх: Верх [Содержание][Указатель]
GnuPG разработана на системах GNU/Linux и заведомо работает почти на всех свободных операционных системах. На настоящий момент, видимо, должны поддерживаться все современные системы POSIX, однако есть, вероятно, множество небольших огрех, которые нам сначала нужно устранить. Основные проблемные области:
Есть одно исключение: системы на базе интерфейса Microsoft Windows (называемые здесь W32) до некоторой степени будут поддерживаться.
• Заметки по W32: | Заметки по Microsoft Windows |
Вверх: Заметки о системах [Содержание][Указатель]
Текущие ограничения:
gpgconf
не создает резервных копий, так что в случае неполадок ваш
файл настроек может быть утерян.
watchgnupg
недоступна. Ведение протокола работы через
сокеты невозможно.
scdaemon
пока не поддерживается.
Следующий: Copying, Пред: Заметки о системах, Вверх: Верх [Содержание][Указатель]
Всякий знает, что программа часто не делает то, что нужно; стало быть, необходимо отыскивать проблемы. Мы называем это отладкой.
Большинство проблем представляет просто проблемы настройки и пользователя, тем не менее они самые докучливые и портят много крови. Здесь мы пытаемся дать некоторые наставления о том, как идентифицировать и решать возникающие проблемы.
• Средства отладки: | Описание некоторых полезных средств. | |
• Заметки по отладке: | Разные подсказки по отладке. | |
• Общие проблемы: | Часто возникающие проблемы. | |
• Архитектурные детали: | Как все это работает внутри. |
Следующий: Заметки по отладке, Вверх: Отладка [Содержание][Указатель]
В дистрибутив GnuPG входит пара средств, полезных для отыскания и решения проблем.
• kbxutil: | Инспектирование файла щита с ключами. |
Вверх: Средства отладки [Содержание][Указатель]
Щит с ключами — это формат хранения открытых ключей вместе с индексами и сопутствующей информацией. Обычно используется pubring.kbx из каталога .gnupg. Он содержит все сертификаты X.509, а также ключи OpenPGP4.
При вызове обычным образом, например,
‘kbxutil ~/.gnupg/pubring.kbx’
программа перечисляет все записи (т.н. blobs) вместе с сопутствующей информацией в формате, предназначенном для чтения человеком.
Для просмотра статистики данного щита с ключами набираем
‘kbxutil --stats ~/.gnupg/pubring.kbx’
и видим что-то вроде:
Total number of blobs: 99 header: 1 empty: 0 openpgp: 0 x509: 98 non flagged: 81 secret flagged: 0 ephemeral flagged: 17
В этом примере мы видим, что на щите с ключами нет никаких ключей OpenPGP,
но есть 98 сертификатов X.509, а также всего 17 ключей или сертификатов,
которые помечены как одноразовые, это значит, что они только временно
сохраняются на щите с ключами и не будут показаны обычными командами
gpgsm
или gpg
. 81 сертификат хранится обычным образом и
напрямую доступен из gpgsm
.
Чтобы найти продублированные сертификаты и блоки ключей в файле щита с ключами (таких не должно быть, но иногда что-то бывает не так), набираем
‘kbxutil --find-dups ~/.gnupg/pubring.kbx’
Следующий: Общие проблемы, Пред: Средства отладки, Вверх: Отладка [Содержание][Указатель]
Если применяется URL с циклическим переключением серверов ключей (напр., subkeys.gnupg.org), узнать, какой же сервер использован, нелегко. Часто помогает параметр отладки серверов ключей:
gpg --keyserver-options debug=1 -v --refresh-key 1E42B367
Обратите внимание, что данные на выходе зависят от обслуживающей программы и могут изменяться от версии к версии.
При разработке протокол работы под WindowsCE лучше всего писать с помощью
удаленной отладки в файл tcp://<адрес IP>:<порт>. Командой
watchgnupg
можно пользоваться на удаленной машине, чтобы
прослушивать данный порт (см. параметр watchgnupg --tcp). Для полевых
испытаний лучше пользоваться средством ведения протокола, реализуемом в
драйвере gpgcedev
(часть libassuan); это включается, когда в
качестве имени файла протокола задано GPG2: (см. параметр --log-file).
Следующий: Архитектурные детали, Пред: Заметки по отладке, Вверх: Отладка [Содержание][Указатель]
dirmngr
Скорее всего, в gpgsm
работает параметр enable-ocsp, но в
dirmngr
не включена функция OCSP параметром allow-ocsp в
файле dirmngr.conf.
В подавляющем большинстве случаев это вызвано тем, что переменная среды
GPG_TTY
не установлена правильно. Убедитесь, что она указывает на
настоящее устройство терминала, а не просто на ‘/dev/tty’;
т.е. установка ‘GPG_TTY=tty’ явно неправильна; вам нужно
‘GPG_TTY=`tty`’ — обратите внимание на знаки ‘`’. Также убедитесь,
что эта переменная среды экспортируется, т.е. ее установка должна
сопровождаться ‘export GPG_TTY’ (если это оболочка типа
Борна). GPG_TTY
нужно устанавливать даже для графических программ
ввода пароля. О том, как это делать, см. в разделе по установке
gpg-agent
.
В SSH нет способа указать программе gpg-agent
, какой терминал или
дисплей X Window используется. Так что при удаленном входе на машину, на
которой работает gpg-agent
с поддержкой SSH, программа ввода
пароля обращается к тому дисплею, с которого запущен
gpg-agent
. Чтобы решить эту проблему, можно отдать команду
echo UPDATESTARTUPTTY | gpg-connect-agent
Тогда в следующий раз программа ввода пароля появится на вашем дисплее или экране. Однако сначала нужно прервать выполнение работающей программы ввода пароля, потому что одновременно может выполняться только одна такая программа. Если вы планируете пользоваться SSH на новом дисплее, нужно отдать вышеуказанную команду перед вызовом SSH или любой другой службы, которая пользуется SSH.
Может случиться, что вы с помощью gpgsm
создали запрос на подпись
сертификата, но еще не получили и не импортировали сертификат
удостоверяющего центра. Однако вам может понадобиться немедленно
экспортировать секретный ключ на другую машину, чтобы там импортировать
его. Для этого есть одна хитрость, но нужно знать приблизительное время,
когда вы создали запрос на подпись сертификата. Командой
ls -ltr ~/.gnupg/private-keys-v1.d
вы получите список всех секретных ключей под управлением
gpg-agent
. Выберите ключ, который лучше всего соответствует
времени создания, и выполните команду
/usr/local/libexec/gpg-protect-tool --p12-export \ ~/.gnupg/private-keys-v1.d/foo >foo.p12 |
(подставьте свой путь до программы gpg-protect-tool
). Здесь
foo — имя файла с ключом, который вы выбрали (у него должен быть
суффикс .key). Программа ввода пароля запросит текущую фразу-пароль
для ключа и новую фразу-пароль для защиты файла PKCS#12.
Для импорта созданного файла на новой машине введите команду:
/usr/local/libexec/gpg-protect-tool --p12-import --store foo.p12 |
Будет запрошена фраза-пароль PKCS#12 и новая фраза-пароль для защиты импортированного секретного ключа в новом месте.
Обратите внимание, что простого способа связать существующие сертификаты с сохраненными секретными ключами не существует, потому что одни секретные ключи сохранены для использования с SSH или в других целях, и у них соответствующего сертификата нет.
Обычная проблема состоит в том, что в корневом сертификате отсутствует
обязательный атрибут basicConstraints, таким образом, gpgsm
отклоняет этот сертификат. Сообщение об ошибке, указывающее на «no value»
(нет значения) является признаком такого сертификата. Чтобы все равно
принять такой сертификат, можно воспользоваться признаком relax
в
файле trustlist.txt. Обратите внимание, что отпечаток и сам этот
признак можно добавить в trustlist.txt только вручную.
Подпись с ошибкой. Обойти проблему можно с помощью параметра --extra-digest-algo SHA256. Число N представляет внутренний идентификатор алгоритма; к примеру, 8 означает SHA-256.
При работе версии gpg
для W32 под Wine можно получить такие
сообщения об ошибках:
gpg: fatal: WriteConsole failed: Access denied
Это можно решить командой wineconsole
.
Некоторые операции, такие как --generate-key, в целях повышения
безопасности обязательно требуют прямой связи с консолью (например, чтобы
предотвратить появление фразы-пароля на экране). Таким образом, вместо
wine
надо пользоваться командой wineconsole
, которая
запустит консоль, в которой реализованы эти дополнительные особенности.
gpg
–search-key показывает странные ключи?
Для повышения быстродействия серверы ключей не проверяют ключи так, как это
делает gpg
. Может случиться, что в списке ключей, доступных на
серверах, будут показаны ключи с неправильными идентификаторами пользователя
или с идентификаторами пользователя из других ключей. Но если попробовать
импортировать такой ключ, плохие ключи или плохие идентификаторы
пользователя импортированы не будут. Это немного досадно, но мы не можем
ничего с этим поделать, пока не получим с сервера сами ключи.
Пред: Общие проблемы, Вверх: Отладка [Содержание][Указатель]
• Взаимодействие компонентов: | Как связаны компоненты. | |
• GnuPG-1 и GnuPG-2: | Связь между GnuPG 1.4 и 2.x. |
Следующий: GnuPG-1 и GnuPG-2, Вверх: Архитектурные детали [Содержание][Указатель]
Пред: Взаимодействие компонентов, Вверх: Архитектурные детали [Содержание][Указатель]
Вот небольшая иллюстрация, показывающая, как различные версии GnuPG пользуются электронной картой:
Следующий: Соразработчики, Пред: Отладка, Вверх: Верх [Содержание][Указатель]
Copyright © 2007 Free Software Foundation, Inc. https://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program–to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers’ and authors’ protection, the GPL clearly explains that there is no warranty for this free software. For both users’ and authors’ sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work’s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to forbid circumvention of technological measures.
You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation’s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party’s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor’s “contributor version”.
A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient’s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
one line to give the program's name and a brief idea of what it does. Copyright (C) year name of author This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, см. https://www.gnu.org/licenses/.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
program Copyright (C) year name of author This program comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’. This is free software, and you are welcome to redistribute it under certain conditions; type ‘show c’ for details.
The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of the General Public License. Of course, your program’s commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, см. https://www.gnu.org/licenses/.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read https://www.gnu.org/philosophy/why-not-lgpl.html.
Следующий: Термины и сокращения, Пред: Copying, Вверх: Верх [Содержание][Указатель]
Проект GnuPG выражает благодарность множеству людей, которые внесли в него свой вклад. С ними связано большинство достижений проекта. Все упущения в этом списке непреднамеренны. Свяжитесь, пожалуйста, с разработчиком, если вы или какой-то ваш вклад здесь не указан.
Девид Шоу, Метью Скала, Майкл Рот, Никлас Гернеус, Нильс Ельмерейх, Реми Гиомар, Стефан Беллон, Тимо Шульц и Вернер Кох писали программы. Биргер Лангер, Дениэл Ресэр, Докинакис Теофанис, Эдмунд Гримли Эванс, Гаэль Кери, Грегори Стейк, Наги Ференц Ласло, Иво Тиммерманс, Хакобо Таррио Баррейро, Януш Александр Урбанович, Джеди Лин, Йоуни Хильтунен, Лаурентиу Буздуган, Магда Прочазкова, Майкл Анкерт, Майкл Майер, Марко д’Итри, Нилгун Белма Бугунер, Педро Мораис, Теди Гериянто, Тьяго Юнг Бауэрман, Рафаэль Каэтано дос Сантос, Тоомас Сооме, Урко Луса, Вальтер Кох, Иида Ёсияки подготавливали официальные переводы. Майк Эшли написал и обновляет «Справочник по приватности GNU». Девид Скрайбнер является текущим редактором «Вопросов и ответов». Лоренцо Каппеллетти работает над сайтом.
Новая модульная архитектура gnupg 1.9, а также часть, реализующая X.509/CMS, разработана в проекте Ägypten. Прямой вклад в этот проект внесли: Бернард Герцог, который провел обширное тестирование и выловил множество ошибок. Бернард Рейтер, который следил за тем, чтобы мы вписывались в сроки и спецификации. Он провел обширное тестирование и внес множество предложений. Жан-Оливер Вагнер следил за тем, чтобы мы вписывались в сроки и спецификации. Он провел обширное тестирование и внес множество предложений. Карл-Гейнц Циммер и Марк Муц были вынуждены бороться со всеми ошибками и заблуждениями, работая над интеграцией с KDE. Маркус Бринкман расширял GPGME, вычищал программы Assuan, а также исправлял ошибки тут и там. Мориц Шульте взял на себя поддержку Libgcrypt и развил ее до стабильной и полезной библиотеки. Стефен Гансен провел работу над написанием dirmngr, затруднявшуюся плохо определенными протоколами. Томас Кестер провел обширное тестирование и выловил множество ошибок. Вернер Кох проектировал систему и написал большинство программ.
Следующие граждане оказали огромную помощь, предлагая усовершенствования, тестируя, исправляя ошибки, предоставляя ресурсы и выполняя другую важную работу: Адам Митчелл, Альберт Чин, Алек Габиг, Аллен Кларк, Ананд Кумрия, Андреас Гаумер, Энтони Малкей, Ариэль Т. Гленн, Боб Метьюс, Бодо Меллер, Брендан О’Ди, Бренно де Винтер, Браейн М. Карлсон, Брайен Мор, Брайен Уорнер, Брайен Фуллертон, Каски Л. Диксон, Кес ван дер Гринд, Шарль Левер, Чип Сальценберг, Крис Адамс, Кристиан Биэр, Кристиан Курц, Кристиан фон Рок, Кристофер Оливер, Кристиан Ректенвальд, Дан Уиншип, Даниэль Эйзенбуд, Даниэль Кэнинг, Дейв Дикстра, Девид К. Ними, Девид Чемпион, Девит Элмент, Девид Геллинен, Давид Голленберг, Девид Метог, Давид Р. Бергштейн, Детлеф Ланнерт, Дмитри, Дирк Латтерман, Дирк Мейер, Дисастри, Дуглас Келверт, Эд Борас, Эдмунд Гримли Эванс, Эдвин Воудт, Энцо Микеланджели, Эрнст Молитор, Фабио Коатти, Феликс фон Лейтнер, фиш стикъц, Флориан Веймер, Франческо Поторти, Френк Донахью, Френк Гекербах, Френк Стаджано, Френк Тобин, Габриэл Розенкеттер, Гаэль Кери, Джин Картер, Джофф Китинг, Георг Шварц, Джампаоло Томассони, Жильбер Фернандеш, Грег Луис, Грег Троксел, Грегори Стейк, Грегени Бартон, Гаральд Денкер, Хольгер Бауст, Гендрик Бушкамп, Хольгер Шуриг, Хольгер Смолински, Хольгер Трапп, Хью Дениэл, Нью Ли, Иэн Маккеллар, Иво Тиммерманс, Ян Крюгер, Ян Нигусман, Януш А. Урбанович, Джеймс Труп, Жан-Лу Галли, Джефф Лонг, Джеффри фон Ронне, Дженс Бачем, Йерун К. ван Гельдерен, Дж. Горацио МГ младший, Майкл Эшли, Джим Бауэр, Джим Смолл, Иоахим Бейкс, Джо Ретт, Джон А. Мартин, Джони Тевессен, Йорг Шиллинг, Джос Бекус, Джозеф Уолтон, Жуан Ф. Коданьон, Цзюнь Курияма, Кахиль Д. Джаллад, Карл Фогель, Карстен Тюгесен, Кацухиро Кондоу, Кацу Ямамото, Кит Клейтон, Кевин Райд, Клаус Сингфогель, Курт Гарлофф, Ларс Келлогг-Стедмен, Л. Сассаман, М. Тейлор, Марсель Вальдфогель, Марко д’Итри, Марко Паррон, Маркус Бринкман, Марк Адлер, Марк Эльбрехт, Марк Петти, Маркус Фридль, Мартин Калерт, Мартин Гамильтон, Мартин Шульте, Метт Крей, Метью Скала, Метью Уилкокс, Матиас Ульрихс, Макс Валянский, Михаэль Энгельс, Михаэль Фишер ф. Моллард, Майкл Рот, Михаил Соболев, Михаил Токарев, Николас Грейнер, Майк Макэван, Нил Г. Уолфильд, Нельсон Г. Ф. Биб, Нибе Ютака, Никлас Гернеус, Нимрод Цимерман, Н. Дж. Дой, Оливер Гакерт, Оскари Яскелайнен, Паскаль Шефферс, Поль Д. Смит, Пер Кедерквист, Фил Бленделл, Филипп Лалиберт, Петер Фалес, Петер Гутман, Питер Маршал, Питер Велчев, Петр Круковецки, Кинь-Лонь, Ральф Гиллен, Рет, Рейнхард Ворбст, Реми Гиомар, Рубен Самнер, Ричард Аутбридж, Роберт Джуп, Родди Стречен, Роджер Сондерман, Роланд Розенфельд, Роман Павлик, Росс Гольдер, Райен Мелейтер, Сэм Робертс, Сами Тольванен, Син Макленнан, Себастьян Клемке, Серж Мунгофен, СЛ Баур, Стефан Беллон, доктор Стефан Далибор, Стефан Карман, Стефан Келлер, Стефен Ульрих, Стефен Цан, Стивен Беккер, Стивен Мердок, Сусанна Шульц, Тед Кебин, Тьяго Юнг Бауэрман, Теймен Клок, Томас Ресслер, Тим Муни, Тимо Шульц, Тодд Фирлинг, Тогава Сатоси, Том Шпиндлер, Том Зеруча, Томас Фаст, Томми Комулайнен, Томас Клауснер, Томаш Козловский, Томас Миккельсен, Ульф Меллер, Урко Луса, Винсент П. Броман, Фолькер Кветшке, У. Льюис, Вальтер Гофман, Вальтер Кох, Уэйн Чапески, Уим Вандепутте, Уинона Браун, Иида Ёсияки, Ёсихиро Кадзики и Герлинда Клаэс.
Эти программы не могли бы быть написаны без предшествующей работы, которую провели Крис Уэджвуд, Жан-Лу Галли, Йон Каллас, Марк Адлер, Мартин Хеллман, Поль Кендалл, Филипп Р. Циммерман, Петер Гутман, Филипп А. Нельсон, Тахер эль Гамаль, Торбьерн Гранлунд, Уитфильд Диффи, некоторые неизвестные математики АНБ и все те, чьим упорным трудом были созданы полные свободные операционные системы.
Наконец, мы хотели бы поблагодарить каждого, кто пользуется этими программами, присылает отчеты об ошибках и вообще напоминает нам, для чего мы, собственно, ведем эту работу.
Следующий: Указатель параметров, Пред: Соразработчики, Вверх: Верх [Содержание][Указатель]
Authority Revocation List (список отозванных центров) технически идентичен спискам отозванных сертификатов (CRL), но используется удостоверяющими центрами, а не конечными пользователями сертификатов.
Схема проверки для X.509, в которой дата создания подписи используется как дата, с которой начинается проверка; затем проверяется, был ли каждый сертификат выпущен в тех временных пределах, когда издающий сертификат был достоверен. Это позволяет проверять подписи после того, как срок действия сертификата удостоверяющего центра истек. Проверка также включает проверку статуса сертификата по сети. Цепочная модель требуется по немецкому закону об электронной подписи. См. также схема оболочки.
Cryptographic Message Standard (Стандарт криптографического
сообщения) описывает формат сообщений для шифрования и цифровой подписи. Он
тесно связан с форматом сертификатов X.509. CMS раньше был известен под
названием PKCS#7
и описывается в RFC3369
.
Certificate Revocation List (список отозванных сертификатов) представляет список сертификатов, отозванных издателем.
Certificate Signing Request (запрос на подпись сертификата) представляет сообщение, отправляемое в удостоверяющий центр, чтобы просить его выдать новый сертификат. Формат данных в таком запросе называется PCKS#10.
Формат данных, используемый для построения инфраструктуры открытых ключей и для обмена зашифрованными и подписанными сообщениями. В отличие от X.509, в OpenPGP входит формат сообщений, но не оговаривается конкретная инфраструктура открытых ключей. Однако на протоколе OpenPGP может быть построена любого рода инфраструктура открытых ключей.
Этот термин применяется в GnuPG для 20-байтного хеша, используемого для идентификации определенного ключа без ссылки на конкретный протокол. Он используется внутри для доступа к секретному ключу. Обычно он показывается и вводится в виде 40-значной форматированной шестнадцатеричной строки.
Online Certificate Status Protocol (сетевой протокол состояния
сертификатов) применяется в качестве альтернативы спискам отозванных
сертификатов. Он описан в RFC 2560
.
Personal Security Environment (личная среда безопасности) обозначает базу данных для хранения секретных ключей. Это либо электронная карта, либо совокупность файлов на диске; последнее часто называется Soft-PSE.
Стандартная схема проверки сертификатов в X.509. На момент проверки все сертификаты должны быть достоверными и не просроченными. См. также цепочная схема.
Описание инфраструктуры открытых ключей, применяемой со Стандартом
криптографического сообщения (CMS). Например, оно определяется в
RFC3280
.
Следующий: Указатель среды, Пред: Термины и сокращения, Вверх: Верх [Содержание][Указатель]
Jump to: | A B C D E F G H I K L M N O P Q R S T U V W X Y |
---|
Jump to: | A B C D E F G H I K L M N O P Q R S T U V W X Y |
---|
Следующий: Указатель, Пред: Указатель параметров, Вверх: Верх [Содержание][Указатель]
Jump to: | .
~
A C D G H L O P Q R S T X |
---|
Jump to: | .
~
A C D G H L O P Q R S T X |
---|
Пред: Указатель среды, Вверх: Верх [Содержание][Указатель]
Jump to: | G R S П С |
---|
Jump to: | G R S П С |
---|
Для оболочек могло бы быть полезно
средство gpgconf
, поскольку оно позволяет редактировать этот файл
настроек с помощью строк, экранированных процентом.
С помощью достаточно простых психологических методов любой, кто смог расшифровать сообщение, может проверить, является ли одним из других получателей тот, на кого падает подозрение.
Обратите внимание, что в настоящее время блокирование не проводится, так что одновременного доступа из разных программ следует избегать. Некоторые меры против повреждений из-за одновременного доступа предпринимаются, но результаты могут быть непредсказуемы, а некоторые изменения могут быть потеряны. Схема без состояния затрудняет обеспечение чего-то большего.
Правда, ключи OpenPGP не реализованы, gpg
все еще
пользуется файлом pubring.gpg.