Следующий: 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 |
Следующий: GENKEY агента, Пред: PKDECRYPT агента, Вверх: Протокол агента [Содержание][Указатель]