Главная > HOWTO > Настройка шифрования GPG в Psi

Настройка шифрования GPG в Psi

Введение.

В Jabber-клиенте Psi предусмотрена возможность настройки шифрования GnuPG для всех сообщений между клиентами собеседников. Это рекомендуется сделать всем, кто пользуется Psi и передаёт (или получает) конфиденциальную информацию по протоколу XMPP (Jabber), т.к. администраторы Jabber-серверов могут настроить запись логов всех сообщений, отправляемых или получаемых пользователями. После включения шифрования, в логи сервера ничего не запишется, т.к. шифрование осуществляется по типу клиент (открытый ключ для отправки) — клиент (закрытый ключ для получения). Шифрование GnuPG является полностью свободным и может использоваться на любых компьютерах.

Настройка шифрования в оригинальной версии Psi.

Оригинальная версия — это версия, которую можно скачать с официального сайта программы. Последней стабильной версией, на момент написания статьи, являлась 0.12.

  1. Заходим на официальный сайт Psi и скачиваем дистрибутив программы для свой операционной системы (поддерживаются Windows, Linux и Mas OS).
  2. Если у Вас ОС Microsoft Windows любой версии, то нужно скачать и установить систему шифрования и управления ключами GnuPG — GPG4Win с официального сайта. Скачивайте Light версию 1.1.4 (это последняя стабильная версия на момент написания статьи) или новее. P.S. Если у Вас Linux, то скачивать ничего не нужно, т.к. свободная реализация GPG уже имеется в Вашем дистибутиве.
  3. Сначала устанавливаем GPG4Win, запустив скачанный файл вида gpg4win-light-1.1.4.exe на исполнение. Внимание! Установить GPG4Win необходимо строго в папку по умолчанию: C:\Program Files\GNU\GnuPG, где C:\ — системный диск, на котором установлена ОС Windows.
  4. Настраиваем GPG4Win:
    1. Нажимаем «Пуск» — «(Все) Программы» — «GnuPG For Windows» — «GPA«.
    2. В открывшемся окне, предлагающем сгенерировать новую ключевую пару, нажимаем «Generate key now«. Запустится мастер, который сделает несколько шагов:
      1. В поле «Your name» вводите своё имя латинскими буквами (можно ник) и жмите «Forward«.
      2. В «Your Email Address» вводите свой JID (Jabber ID вида имя@jabber-сервер, например, имя@jabber.ru, имя@jabber.org и т.п.).
      3. В «Passphrase» и «Repeat Passphrase» нужно придумать и ввести собственный пароль. Пароль будет спрашиваться каджый раз при подключении к Jabber-серверу.
      4. Делаем («Create Backup copy«) или отказываемся делать («Do it later«) резервную копию ключа шифрования GPG. Лучше сделать копию ключей и поместить на сменный носитель.
      5. Жмём «Apply» и ждём примерно 1-2 минуты (зависит от мощности центрального процессора и сложности пароля) до окончания генерации ключевой пары. По окончании, если Вы выбрали создание резервной копии, то можете её сохранить на сменном носителе.
    3. После успешного создания новой ключевой пары, в окне «GNU Privacy Assistant«, Вы увидите свой ключ. Теперь нужно получить его открытый ключ чтобы в дальнейшем передать собеседникам в Psi. Выделите его щелчком левой кнопки мыши и нажмите на панели инструментов кнопку «Export» и сохраните ключ с любым именем, но с расширением asc.
    4. Передайте свой открытый ключ, сохранённый на этапе 3, собеседникам, с которыми Вы хотите общаться по защищённому каналу в Psi любым способом (через электронную почту, jabber, icq и т.д.).
    5. Импортируйте ключ собеседника, который сгенерировал его таким же способом (пункты 4.1 — 4.3) кнопкой «Import» и указанием файла с открытым ключом собеседника.
    6. Если ключ собеседника также появился в списке, жмите «File» — «Quit» для выхода из оболочки.
  5. Устанавливаем и запускаем программу Psi, скачанную на 1 шаге (если она ещё не установлена), подключаем уже имеющуюся учётную запись для того JID, для которого мы создали ключевую пару.
  6. Открываем настройки аккаунта через меню Пси (находится внизу окна с эмблемой программы) — «Аккаунты» — выбираем имя своего аккаунта и жмём кнопку «Изменить» (эти же настройки откроются автоматически после выбора опции «Использовать имеющуюся учётную запись» во время первого запуска), переходим на страницу «Подробности» и жмём кнопку «Выбрать ключ…«. Выбираем из списка свой закрытый ключ и жмём OK. Если будет запрошен пароль для этого ключа, то вводим. Теперь для этой учётной записи ключ шифрования задан.
  7. Подключаемся к Jabber-серверу и вводим пароль на свой закрытый ключ GnuPG (пароль будет спрашиваться при каждом подключении).
  8. Выбираем в своём ростере (списке контактов) собеседника, с которым нужно настроить защищённый канал, жмём по нему правой кнопкой мыши и выбираем «Присвоить ключ OpenPGP«. Если появится предупреждение, то жмём на «Выбрать ключ вручную» (обычно предупреждений быть не должно). Выбираем из списка открытый ключ собеседника, который был импортирован на этапе 4.5 данного HOWTO и жмём «OK«.
  9. Открываем окно беседы с этим собеседником и жмём кнопку с замком «Переключить шифрование» (находится возле кнопки для вставки смайликов в сообщение) и отправляем любое сообщение собеседнику. После этого в беседе появится сообщение «Шифрование включено». Теперь вся беседа с этим человеком зашифрована и никто её не сможет расшифровать и прочитать. Внимание! После каждого перезапуска клиента Psi кнопку «Переключить шифрование» нужно нажимать повторно, т.к. она почему-то отключается.

Настройка шифрования в Psi Portable.

Psi Portable — это особая сборка программы Psi для запуска со сменных накопителей. Все файлы программы, ключи шифрования, настройки и журнал сообщений хранятся на сменном носителе. Подробнее об этой версии можно прочитать здесь.

  1. Выполняем шаги 2 — 4 (с подпунктами) из «Настройка шифрования в оригинальной Psi».
  2. В Windows 2000/XP/2003 заходим в папку C:\Documents and Settings\{ИМЯ}\Application Data\gnupg, где {ИМЯ} — это имя учётной записи пользователя компьютера, а C:\ — диск, на котором установлена ОС Windows и копируем всё её содержимое в PsiData\gpg\ Portable-версии.
  3. В Windows Vista и Windows 7 нажимаем «Пуск» — «Выполнить» и вводим «%APPDATA%\gnupg» (без кавычек). Копируем всё содержимое в PsiData\gpg\ Portable-версии.
  4. Выполняем шаги 6 — 9 из «Настройка шифрования в оригинальной Psi».
Категории:HOWTO Метки:,
  1. adelnatoli
    26 апреля 2011 в 16:14 | #1

    сделал портабельную psi сгенерировал ключ , но когда делаешь выбрать ключ в psi ни чего не находит

  2. 26 апреля 2011 в 17:12 | #2

    @adelnatoli
    Вам необходимо скопировать содержимое каталога %APPDATA%\gpg\ в PsiData\gpg\ Portable-версии. После этого Вы сможете выбрать свой ключ из списка.

  3. s3w3
    6 июля 2011 в 19:24 | #3

    @V1TSK
    не gpg а PGP (!!!) ключи копировать в PsiData\pgp

  4. 16 июля 2011 в 11:49 | #4

    @s3w3
    Нет, Вы не правы. PGP и GPG — это немного разные вещи. GNU Privacy Guard, GnuPG, GPG — свободная альтернатива набору криптографического ПО PGP, выпущенная под лицензией General Public License.

    Подробнее на Википедии: PGP и GPG.

  5. Ppingry
    1 февраля 2012 в 19:36 | #5

    Сделал все по HOWTO на двух машинах, на одной стороне включил шифрование, на другой — нет. Все равно ходят себе как ни в чем не бывало, хотя по идее должна билеберда приходить. Кстати, если таки заработает — голосовой траф у пис тоже закриптуется?

  6. 1 февраля 2012 в 20:52 | #6

    Ppingry :

    Сделал все по HOWTO на двух машинах, на одной стороне включил шифрование, на другой — нет. Все равно ходят себе как ни в чем не бывало, хотя по идее должна билеберда приходить.

    Шифрование должно поддерживаться обеими сторонами, иначе будет отправляться обычный текст. Даже после включения на обеих сторонах увидеть работу (нечитаемый текст) можно лишь проанализировав логи XMPP-сервера, либо включив XMPP-консоль отладки.

    Ppingry :

    Кстати, если таки заработает — голосовой траф у пис тоже закриптуется?

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

  7. vova
    8 мая 2012 в 21:11 | #7

    подскажите как быть если в окне чата не показывает ни смаилики ни замок

  8. 9 мая 2012 в 19:08 | #8

    @vova
    Если смайлы анимированные, то они отображаться не будут. Чтобы отображался символ шифрования с обеих сторон должны быть получены зашифрованные сообщения. Если хотя бы одна сторона не использует шифрование, значок отображаться также не будет.

  9. vova
    10 мая 2012 в 16:34 | #9

    дело в том что на другом компе такая же история была, я чтото ковырнул в настройках ПСИ и замок появился, только вот не помню что именно 🙁

  10. marat
    18 декабря 2012 в 15:01 | #10

    Здравстуйте! Я скачал и установил GPG4Win как было написано здесь, после успешно добавил ключевую пару, сделал экспорт и импорт, после запустил psi подключил имеющуюся учётную запись для того JID, для которого создал ключевую пару, но в аккаунте когда пытаюсь выбрать ключ, в списке мой ключ ОТСУТСТВУЕТ! Подскажите в чём может быть проблема. у меня виндос7.

  11. 18 декабря 2012 в 15:17 | #11

    @marat
    Путь к установленному GnuPG должен быть прописан в системной или пользовательской переменной окружения %PATH%. После этого Psi его увидит.

  12. user
    18 декабря 2012 в 15:22 | #12

    @V1TSK
    а как это сделать?

  13. 18 декабря 2012 в 15:32 | #13

    user :

    @V1TSK
    а как это сделать?

    Раньше программа установки GnuPG делала это автоматически. Вручную можно сделать так: нажмите правой кнопкой по Мой компьютер — Свойства — страница Дополнительно — кнопка Переменные среды — найдите в списке PATH, выделите её и нажмите Изменить, далее через точку с запятой пропишите путь к установленному GnuPG без закрывающего слэша на конце. Внимание! В конце строки точка с запятой не ставится! Теперь нажмите OK во всех окнах.

    Переменные среды вступят в силу при следующем входе в систему, поэтому нужно завершить сеанс и снова войти в систему.

  14. user
    18 декабря 2012 в 15:36 | #14

    @V1TSK
    спс!

  15. user
    18 декабря 2012 в 15:49 | #15

    @V1TSK
    изменил путь переменной: C:\Program Files (x86)\GNU\GnuPG\pub, верно?

  16. 18 декабря 2012 в 15:56 | #16

    user :

    @V1TSK
    изменил путь переменной: C:\Program Files (x86)\GNU\GnuPG\pub, верно?

    Не нужно было удалять всё, что там написано. Нужно было поставить точку с запятой (;) и дописать путь к установленному GnuPG. В указанном каталоге должен находиться файл gpg.exe, который ищет и использует Psi.

  17. user
    19 декабря 2012 в 08:24 | #17

    @V1TSK
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

  18. 21 декабря 2012 в 18:00 | #18

    user :

    @V1TSK
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

    Откройте консоль Windows (ПускВыполнитьcmd.exe) и пропишите:

    gpg --list-keys

    Будет ли выдан список установленных ключей?

  19. Валерий
    5 мая 2013 в 04:36 | #19

    Запускаю GPG создать ключ,имя, сервер,создать копию и выдаёт ошибку прекращена работа программы»pinentry.exe» подскажите что это?

  20. 13 мая 2013 в 17:45 | #20

    @Валерий
    Попробуйте более новую или более старую версию GnuPG.

  21. Aol
    19 июня 2013 в 21:27 | #21

    Люди!
    ВНИМАНИЕ!
    Помогите пожалуйста. Как прикрутить OTR к Psi 0.14 ??

  22. 21 июня 2013 в 21:07 | #22

    Aol :

    Как прикрутить OTR к Psi 0.14 ??

    Только накладывать патчи от третьих сторон. Штатно OTR не поддерживается (и не будет, т.к. автор считает GPG достаточным). В большинстве популярных дистрибутивов GNU/Linux например есть пакет psi-otr, который устанавливает уже пропатченную версию Psi.

  23. SeniorEgor
    6 декабря 2013 в 12:06 | #23

    V1TSK :

    user :
    @V1TSK
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

    Откройте консоль Windows (ПускВыполнитьcmd.exe) и пропишите:
    1gpg --list-keys
    Будет ли выдан список установленных ключей?

    У меня таким образом виден, а в PSI захожу, все ровно не видит ни чего.
    В пользовательской переменной окружения %PATH% все прописано как нужно.
    Что не так?

  24. 8 декабря 2013 в 12:12 | #24

    SeniorEgor :

    У меня таким образом виден, а в PSI захожу, все ровно не видит ни чего.
    В пользовательской переменной окружения %PATH% все прописано как нужно.
    Что не так?

    Посмотрите в отладочном журнале что ему конкретно не нравится. Есть альтернативный способ — поместить файлы gpg.exe, gpgkeys_curl.exe, gpgkeys_finger.exe, gpgkeys_hkp.exe, gpgkeys_ldap.exe, gpgsplit.exe, gpgv.exe и iconv.dll прямо в каталог установки Psi.

  25. sanger
    3 апреля 2015 в 14:40 | #25

    The recipient or server understands the request but is refusing to process it because it does not meet criteria defined by the recipient or server (e.g., a local policy regarding acceptable words in messages).
    Unable to decrypt

    вот такая хня

  26. 4 апреля 2015 в 19:35 | #26

    @sanger
    К описанному в статье это не имеет никакого отношения. Скорее всего, XMPP сервер, к которому вы подключаетесь, настроен некорректно. Обратитесь к его администраторам.

  27. krakov
    29 января 2016 в 00:05 | #27

    Проблема следующая. Убунту 12.04 psi + 0.16 — не активна кнопка выбрать ключ во вкладке подробности в настройках аккаунта. Ключи были созданы, они отображаются в плагине gpg-manager, но присвоить ключ не могу никому, правой кнопкой мыши на контакт нажимаю а там нет функции присвоить ключ… на винде все работает по описанию

  28. 30 января 2016 в 20:08 | #28

    @krakov
    Ключи отображаются в выводе следующих команд?

    gpg --list-keys
    gpg --list-secret-keys

    Если да, то проблема в Psi+ и нужно писать им в баг-трекер.

  29. feat
    7 марта 2016 в 09:05 | #29

    Здравствуйте! Помогите пожалуйста решить проблему. Итак:
    задача настроить шифрование gpg в Psi+
    По порядку: Операционка Win7 64, прога gpg4win — 2.3.0, psi-plus-0.16.469-all-in-one-setup.

    Делаю все по инструкции ставлю gpg4win в каталог как указанно C:\Program Files (х86)\GNU\GnuPG, проверяю системные переменные path путь к файлу прописявается правильно. Запускаю kleopatra генерирую новый ключ, делаю экспорт (кстати вычислил что kleo нужно обязательно закрыть и запустить заново, тогда Psi+ ключи видит без проблем). Ставлю Psi+ в каталог C:\Program Files\Psi+, создаю аккуант на сервере у которого нет проблем с сертификатами. Плагин gpu… включаю. Ключ присваиваю. Тоже самое делаю на др.компе. Обмениваюсь и присваиваю откр.ключи.
    И вот дальше пытаюсь никак не могу включить значек шифрованное соединение, он су….ка тупо не активный. Че за ху….. не знаю уже 20 раз все удалил и заново поставил. Никак. Подскажите плииз наверника решение какое то простое. Буду безгранично благодарен

  30. feat
    7 марта 2016 в 11:20 | #30

    при входе в Psi+ не запрашивает пароль ключа.

  31. 7 марта 2016 в 15:41 | #31

    feat :

    Ставлю Psi+ в каталог C:\Program Files\Psi+, создаю аккуант на сервере у которого нет проблем с сертификатами. Плагин gpu… включаю. Ключ присваиваю. Тоже самое делаю на др.компе.

    Он вообще видит ключи? Старый оригинальный Psi, ЕМНИП, мог работать только с gpg старой версии (GPG 1.0), который сейчас уже не поддерживается.

    feat :

    при входе в Psi+ не запрашивает пароль ключа.

    В настройках аккаунта Psi он задан?

  32. ИВан
    21 сентября 2016 в 23:56 | #32

    очень часто вылетает запрос фразы пароля к ключу …pinentry.exe….ввожу ключ до меня доходят сообщения с шифрованием..но раньше было так- один раз ввел и все… а сейчас через каждые 20 минут..приходится заново вводить..как решить проблему?

  33. 23 сентября 2016 в 01:14 | #33

    @ИВан
    Это нормально. По умолчанию gpg-agent кэширует пароль закрытого ключа на 20 минут. Если нужно больше, в конфиге пропишите другое значение.

Представьтесь, пожалуйста! Если ваш комментарий предполагает ответ, мы ответим на него в ближайшее время. Адрес электронной почты должен быть действительным.


Внимание! Запрещено публиковать любые ссылки в тексте комментария, иначе он сразу же будет помечен как нежелательный и не будет опубликован на сайте.