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