Материал из Tkabber Wiki
Сделать: Написать что-нибудь умное про настройку шифрования в Ткаббере (правда, это попахивает практикой). Типа что скачать и прочее. Да, так и сделаем, а в Практике и/или ФАКе воткнём на сюда ссылку
Содержание
- 1 Проблемы с gpgme/tclgpgme
- 2 Порты gpgme под Windows
- 3 Новый проект tclgpg
- 4 Работа tclgpg под Windows
Проблемы с gpgme/tclgpgme
Некоторые сухие факты:
- Шифрование в Ткаббере реализовано при помощи библиотеки gpgme ("GPG Made Easy"), которая цепляется к Ткабберу при помощи биндингов для тикля — пакета tclgpgme.
- tclgpgme является в настоящее время "мёртвым" проектом:
- у него нет мейнтейнера.
- он делался под версии gpgme 0.3.x, а эта библиотека уже минимум один раз меняла API и сейчас имеет версию 1.3.x, поэтому tclgpgme невозможно использовать с новыми версиями этой библиотеки (то есть он устарел и физически).
- несмотря на то, что существуют порты gpgme под Windows, они основаны на версиях 1.x.x, и портов этой библиотеки версий 0.3.x, по-видимому, нет; поэтому tclgpgme нельзя использовать под Windows.
Порты gpgme под Windows
Новый проект tclgpg
Камрад maxbritov в своём ЖЖ написал рассказку про это дело ссылка на удалённый дневник внезапно найденная копия. Так как эта статья была написана очень давно, и кое-что в ней не соответствует действительности, то мы сочли необходимым её обновить:
Долгое время пользователи Ткаббера, желающие использовать GnuPG для шифрования и подписи сообщений в сети Jabber, использовали устаревший tclgpgme, который требовал старую библиотеку gpgme 0.3 Наличие двух библиотек gpgme 0.3 и gpgme 1.x довольно избыточно. С осени 2008 года у нас есть возможность отказаться от tclgpgme и использовать tclgpg.
Библиотека tclgpg написана Сергеем Голованем, являющимся уже долгое время основным разработчиком Ткаббера. Поддерживается в Ткаббере, начиная с версии 0.11.1
Взять tclgpg можно пока только из svn-репозитория проекта:
svn checkout http://tclgpg.googlecode.com/svn/trunk/ tclgpg
Сборка: Заходим в папку tclgpg, выполняем autoconf
, после чего
стандартное: ./configure --help
, читаем, выполняем ./configure
с нужными
нам параметрами.
Примечание: При выполнении ./configure
конфигуратор может изругаться на
отсутствие определений конфигурации тикля: "Can't find Tcl configuration
definitions". Это означает, что вам нужно указать путь к файлу конфигурации
тикля tclConfig.sh. Для этого необходимо поставить девелоперский пакет тикля
tcl-8.x-dev, где x означает младший номер версии — 4, 5 или 6 — какой вы
используете. Затем этот путь нужно указать в качестве параметра
--with-tcl=/usr/share/tcltk/tcl8.5/
. Если вам понадобятся файлы заголовков
тикля, на их файл указываем так: --with-tclinclude=/usr/include/tcl8.5/
.
Далее не менее стандартное make
Установка для общего случая :)
# make install
Перенос файлов вручную в 64-битной системе, как пример очередного изврата в нестандартной ситуации:
mkdir /usr/lib64/tcl8.5/gpg1.0 # <= вот эта строчка, интересно, зачем?
cp pkgIndex.tcl /usr/lib64/gpg1.0/
cp tclgpg.tcl /usr/lib64/gpg1.0/
cp libgpg1.0.so /usr/lib64/gpg1.0/
Проверка:
$ tclsh
% package require gpg 1.0
1.0
% exit
Если выскочит ошибка — я не виноват :) Если всё нормально, то Ткаббер сможет найти и задействовать tclgpg.
Да, это понадобится тем, у кого майнтейнеры дистрибутива любят поспать. Таким мазохизмом не надо заниматься, к примеру, в Debian и Gentoo
В svn-версии Tkabber поддержка tclgpgme прекращена!
В завершение рассказки стоит добавить, что, по слухам, tclgpg можно заставить работать и под Windows:
<Mellon> кто-нить [сие](http://code.google.com/p/tclgpg/) в винде прикручивал?
<kostix> Mellon: оно там работает. если не собирать сишный хелпер
(он ещё не спортирован, нет времени), и gpg брать официальный, а не от gpg4win,
в котором ребята что-то накосячили с консолью.
По сведениям бойцов невидимого фронта, tclgpg под виндами собирается, но работает из рук вон плохо: при включённой подписи Ткаббер сразу же виснет, а если её не включать и оставить одно шифрование, то более-менее работает, хотя есть траблы при расшифровке больших сообщений. Подробнее — в записной книжке бойца.
Работа tclgpg под Windows
- Скачиваем tclgpg отсюда. Хотя из всего множества файлов понадобятся только tclgpg.tcl и pkgIndex.tcl.in. Необходим также установленный в системе GnuPG 1.4.9.
- Переименовываем pkgIndex.tcl.in в pkgIndex.tcl.
- В файле pkgIndex.tcl заменяем @PACKAGE_VERSION@ на 1.0, а @PKG_LIB_FILE@ на tclgpg.tcl.
- Кладём папку tclgpg в директорий C:\Program Files\Tcl\lib — путь приведён в качестве примера, это место, куда у вас поставился тикль.
- Запускаем Ткаббер и видим, что появилось меню шифрования и значки для подписи и шифрования.
Наблюдаются некоторые проблемы в работе Ткаббера (зависания), необходимо проверить, виноват ли в этом tclgpg. Работа с GnuPG 2.0.11 ещё не проверялась, но там есть дополнительное требование — наличие gpg-agent'а.