Интеграция в почтовые клиенты.

Интеграция в почтовые клиенты.

Интеграция PGP в почтовые клиенты для автоматического кодирования, декодирования и подписи проста и почти не зависит от используемого почтового клиента.

В качестве примера я расскажу про интеграцию PGP в Pine. Надеюсь, читатель использует именно этот почтовый клиент.

Хотя я буду описывать работу PGP с Pine, основные принципы применимы ко всем другим клиентам. Конфигурация, конечно, будет отличаться для каждой почтовой программы.

Для автоматической декодировки почты перед чтением необходим фильтр для обработки сообщения и вывода его на экран. Кроме этого, можно создать макрос, который объединит декодирование и вывод на экран.

В случае Pine, у него есть опция для определения фильтров, которые выполняются до вывода сообщения на экран. Эта опция называется "display-filters" и находится в конфигурационном меню Pine. В эту опцию мы добавим новый фильтр, который выглядит так:

_BEGINNING("------BEGIN PGP MESSAGE------")

_ /usr/local/bin/pgp

Каждое закодированное PGP сообщение заключается двумя определенными строчками - "------ BEGIN PGP MESSAGE ------" и "------ END PGP MESSAGE ------" – с тем, чтобы если вы захотите узнать, имеет ли сообщение в теле закодированный текст, то достаточно найти одну из указанных выше строчек. Фильтр, определенный в Pine, делает именно это. Перед отображением самого сообщения он проверяет тело сообщения на наличие

строки "------ BEGIN PGP MESSAGE ------" с тем лишь ограничением, что она должна быть в начале какой-либо строки. Если он находит ее, он выполняет программу: /usr/local/bin/pgp

Затем, если в теле действительно есть закодированное сообщение, будет выполнено декодирование PGP. У вас спросят пароль и вы сможете прочитать сообщение. Если вы хотите еще больше автоматизировать этот процесс, уменьшив время, необходимое на то, чтобы каждый раз указывать пароль, то вам потребуется определить переменную среды PGPPASS или использовать опцию -z  как было показано выше.

Теперь нам требуется только задать фильтр, который закодирует наше сообщение с открытыми ключами получателей из нашего открытого кольца до отправки сообщения.

Pine помогает нам еще раз, в нем есть конфигурационная опция "sending-filters".  Ниже приведен фильтр, который надо задать для этой опции:

/usr/local/bin/pgp -etaf_RECIPIENTS

После написания сообщения и нажатия CTRL-Х для отправки, Pine спросит нас, хотим ли мы послать его сразу, без применения заданных фильтров. Чтобы послать сообщение без кодирования, просто ответьте утвердительно, но если вы хотите послать сообщение закодированным, то нажмите CTRL-N или CTRL-Р, далее вам предложат список всех заданных фильтров. В нашем случае это будет только фильтр PGP, приведенный выше.