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


2.2 Сводка параметров

ПАраметры можно применять либо в командной строке, либо, отбросив начальные символы «–», в файле конфиругации.

--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, в большинстве случаев правильно.

--grab
--no-grab

Велеть команде ввода пароля перехватывать клавиатуру и мышь. Этот параметр следует использовать с серверами X для избежания атак подслушивания по X. Любое применение параметра --grab отменяет предшествующий параметр --no-grab. Исходное состояние — --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.

--listen-backlog n

Установить размер очереди соединений. Исходное значение — 64.

--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.

--auto-expand-secmem n

Разрешить Libgcrypt расширять защищенную память по требованию. Необязанельное значение n представляет собой неотрицательное целое, указывающее количество байт, на которое каждый раз приращается область защищенной памяти. Это значение округляется вверх до кратного 32 KiB; допустимы обычные префиксы в стиле Си. При сильной нагрузке на gpg-agent со многими одновременными соединениями этот параметр позволяет избежать ошибки при подписи или расшифровании, возникающие из-за нехватки защищенной памяти.

--s2k-count n

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

Чтобы увидеть текущее количество итераций и миллисекунд, требуемых для работы S2K, воспользуйтесь командами:

gpg-connect-agent 'GETINFO s2k_count' /bye
gpg-connect-agent 'GETINFO s2k_time' /bye

Чтобы вывести величину, получаемую автокалибровкой, выполните:

gpg-connect-agent 'GETINFO s2k_count_cal' /bye

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