Эта команда создает новый файл exam.sig, содержащий только подписи.
Декодирование.
Для декодирования файла и/или проверки его подписи используется команда:
pgp входной_файл [-o выходной_файл]
По умолчанию предполагается, что входной файл имеет расширение .pgp. Выходной файл является необязательным параметром и будет содержать декодированный файл. Если выходной файл не указан, декодированный файл будет сохранен в файле входной_файл без расширения .pgp.
Однако, после декодирования файла нам необходимо указать стандартный выход для декодированного файла. Это достигается использованием опции -m:
pgp -m файл
Существует еще одна возможность — использовать каналы ввода и вывода с опцией -f:
pgp -fs идентификатор < входной_файл > выходной_файл
Еще одним интересным сценарием является декодирование подписанного сообщения, посланного нам кем-нибудь, с сохранением подписи, например для кодирования его еще раз для того, чтобы послать его кому-нибудь еще. Чтобы это сделать, нужно использовать опцию -d:
pgp -d exam
Здесь мы берем файл exam.pgp и декодируем его, но при этом оставляем оригинальную подпись в файле. Теперь можно переходить к кодированию его открытым ключом того человека, который после получения может проверить аутентичность исходного сообщения.
Обработка текстовых файлов.
Часто PGP используется для кодирования электронной почты, которая чаще всего представляет собой текст. Проблема текстовых файлов заключается в том, что на разных машинах текст представляется по-разному; например в MS-DOS все строки заканчиваются символами возврата каретки и перевода строки, в Линуксе только перевод строки, в Macintosh только возврат каретки... и т.д. Чтобы избежать несовместимости платформ, нам необходимо сказать PGP, что мы хотим закодировать текстовый файл, а не бинарный файл, с тем, чтобы после разархивирования его можно было адаптировать к особенностям платформы получателя. Для кодирования текстового файла для e-mail используется опция -t. Например:
pgp -sta текстовый_файл идентификатор
"Отпечатки (fingerprints)".
Отпечаток является последовательностью из 16 бит, которая идентифицирует ключ уникальным образом. Можно проверить, принадлежит ли имеющийся у вас ключ именно тому человеку, сравнив каждый из 16 бит вместо всех 1024 байт, которые составляют ключ.
Для просмотра отпечатка ключа используется команда:
pgp -kvc идентификатор [кольцо]
Использование PGP в командной строке.
PGP имеет опции, которые особенно полезны при использовании PGP в командной строке в автоматизирующих скриптах.
+batchmode
При использовании этой опции PGP не будет спрашивать ничего сверх крайне необходимого. Используйте эту опцию для автоматической проверки подписи. При отсутствии подписи в файле возвращается код ошибки 1; если файл подписан и подпись правильна, то возвращается 0.
pgp +batchmode файл
force
Использование этой опции одобряет любую операцию по переписыванию файла или удалению ключа.
pgp +force –kr marcos
В командной строке желательно обойтись без запросов паролей при кодировании файла. Например, чтобы избежать вопросов во время кодирования мы может просто обойти это, задав переменную окружения PGPPASS.
Здесь приведен пример:
PGPPASS="пароль"
export PGPPASS
pgp –s file.txt marcos
Еще одним способом передачи пароля PGP в неинтерактивном режиме является использование опции -z.
Как здесь:
pgp –sta exams.txt angel -z "пароль"
Еще одна полезная операция в командной строке — это изменение "разговорчивости" PGP при помощи опции +verbose. Она задает тихий режим - то есть отсутствие информационных сообщений, только сообщения об ошибках:
pgp file.pgp +verbose=0
Интеграция в почтовые клиенты.
Интеграция PGP в почтовые клиенты для автоматического кодирования, декодирования и подписи проста и почти не зависит от используемого почтового клиента.
В качестве примера я расскажу про интеграцию PGP в Pine. Надеюсь, читатель использует именно этот почтовый клиент.
Хотя я буду описывать работу PGP с Pine, основные принципы применимы ко всем другим клиентам. Конфигурация, конечно, будет отличаться для каждой почтовой программы.
Для автоматической декодировки почты перед чтением необходим фильтр для обработки сообщения и вывода его на экран. Кроме этого, можно создать макрос, который объединит декодирование и вывод на экран.
В случае Pine, у него есть опция для определения фильтров, которые выполняются до вывода сообщения на экран. Эта опция называется "display-filters" и находится в конфигурационном меню Pine. В эту опцию мы добавим новый фильтр, который выглядит так:
_BEGINNING("------BEGIN PGP MESSAGE------")
_ /usr/local/bin/pgp