The BAT! Voyager + GnuPG + GPGShell


На днях сталкнулся с проблеммой использования OpenPGP при переписке.
Проблемма заключалась в следующем: Почтовую программу я предпочитаю всегда носить с собой, как и все письма, а из существующих на сегодня программ работать мне комвортно пока только с The BAT.

Встроенная криптосистема в BAT повергла меня в ужас, так как использует такие алгоритмы, что возникает вопрос :"Зачем их вообще использовать?".

И я решил подключить к BAT'у внешний модуль шифрования. Из всех существующих мой выбор пал на GnuPG v1.4.7? как наиболее компактной, и менее придирчивой к различным параметрам, так как планировалось создать связку без проблемм работающую на любых компьютерах, где не всегда есть возможность получить права
администратора.

Рассмотрим попорядку


Voyager определяет наличие GnuPG по переменной операционной среды Windows имеющей имя Path.



Решение


В первую очередь необходимо определиться с буквой диска, для этого можно либо написать свою программу, как сделал я, либо воспользоваться готовым средством Pstar от компании Pegtop — http://www.pegtop.net/.

При добавлении новой программы обратите внимание на возможность передачи ей параметров, в частности параметр %pdrive% — Имя текущего диска.

Для всего остального мы будем использовать командную строку Windows – cmd.exe. {Это не страшно :)}

И так в каталоге с Voyager создаём текстовый файл, и переименовывает его в Bat.Bat. Этот файл будет запускаться программой PStart.

Pstart ставить на сьёмный носитель

Выбираем пункт ADD NEW выбираем нашь бат файл, и в графе Command Line Parametrs указываем %pdrive%.

C Pstart закончили, идём дальше...


Создаём в каталоге с батом папку PGP. В неё ложим GPGshell ну или любой шелл для GnuPG.

Тестировалось только на GPGshell v3.63
GPGshell v3.63 — http://www.jumaros.de/rsoft/index.html

Далее создаём подкаталог в каталоге GnuPG. То есть структура примерно такая Voyager\PGP\GnuPG В него копируем Файлы установленного GnuPG GPGshell тоже лучше вначале установить в на другой диск и уже потом копировать его, это поможет избежать неприятностей в дальнейшем!
*То есть при каких-то нюансах связка программ просто не запустится, что избавит от проблемм если прийдётся эксплуатировать её на других не подготовленных машинах.

С файлами закончили, возвращаемся к нашему любимому BAT.bat


Его следует открыть блокнотом, и прописать следующие строки

set pdrive=%1%
set GnuPG=\voyager\PGP\GnuPG
set path=%path%;%pdrive%%GnuPG%
start voyager.exe


Рассмотрим подробно..


!! первым символом должен идти \ так как имя диска заканчивает с: !!

В переменную Path прописывается путь, правда только на текущую сессию, так что проблем с переменными потом не будет :), как и неоставит следов в системе {Тут надо учесть что в системе остануться записи в реестре...}

start voyager.exe Запускает сам Voyager Желающие могут написать
start voyager.exe /HIGH

Следующая часть для тех, кто хочет реализовать поддержку IDEA?
Сама IDEA нужна если общаетесь с теми кто пользуется встроенной криптосистемой BAT, правда не вакт, что она будет поддерживать ваши ключи созданные в GnuPG!

cd %pdrive%%GnuPG%

%pdrive%

Echo load-extension %pdrive%%GnuPG%\idea.dll > gpg.conf
Вывод строки, содержащей путь к файлу "load-extension Диск\Путь\idea.dll"

Не забудьте скачать архив и распокавать его в папку Voyager\PGP\GnuPG
Ссылка на архив — http://www.gnupg.org/(en)/faq/why-not-idea.html

Далее указываем домашнюю директорию, для GnuPG? для поиска ключей, да и GPGShell её любит! :)

REG ADD HKCU\Software\GNU\GnuPG /v HomeDir /t REG_EXPAND_SZ /d %pdrive%%GnuPG% /f

Русский язык это приятно, даже в GnuPG? его и включим!
REG ADD HKCU\Software\GNU\GnuPG /v Lang /t REG_EXPAND_SZ /d ru /f

Последний ключь /f отвечает за выдачу запросов на перезапись, если раздел реестра уже существует.

Запись производиться в Ключь Curret User, так, что прав Администратора не надо!

Это можно сделать простейшим рег файлом:

Regedit 4
[-HKEY_CURRENT_USER\Software\GNU]

Или же опять использовать *.bat файл, но эти файлы необходимо будет запускать после выхода из Voyager и уже в ручную.

Так же не забудьте запустить утилиту Reg2Ini.exe входящую в состав GPGShell, она перенесёт все настройки в ini файл, и GPGShell не будет в дальнейшем лезть в реестр!

Ещё может понадобиться файл richtx32.ocx это для работы некоторых функций вывода в GPGShell, ну уж скачаете где нибудь, хотя можно и без него, основная функциональность не страдает!

Запускает Pstar, выбирает BAT.bat {Можете его переименовать и заменить иконку!}
После чего пускается сам Voyager, заходим в Инструменты->OpenPGP->Выбор версии.

"Если всё зделали правильно, GnuPG будет активной, её и выбираем!"

Далее туда же только в Инструменты->OpenPGP->Настройки OpenPGP.
Выбираем в качестве управления ключами приложение GPGkeys.exe, Кстати он не меняет автоматически диск, так что каждый раз его менять прийдётся ручками, это недостаток самого Voyagera!

Далее Инструменты->OpenPGP->Управление ключами OpenPGP, и дальше уже работаем!
В общем разберётесь!

Все программы из пакета GPGShell будут работать только если их запустить через GPGkeys.exe! Так как переменаая Path только наследуется!

Использовать этот материал в не комерческих целях, со ссылками на сайл "www.pgpru.com", и автора FatalAid[link1]

С уважением FatalAid[link1].

Ссылки
[link1] http://www.pgpru.com/proekt/poljzovateli?profile=FatalAid