to post messages and comments.

Забавно, facebok предлагает пользователям указывать в профилях OpenPGP ключи.
Идея, конечно, хорошая. Только ключ без подписей друзьяшек это всё равно не слишком хорошо.

Вот что за блядство.. и как жить? gpg4win под win7 впадает в кому при генерации ключа..
Всякие сторонние проги, использующие gpg4win, спокойно работают..
Печаль.

Если на W7 сработал шифровальщик можно попробовать вынуть данные из теневой копии утилитой shadowexplorer.com

"Защита системы" включена для диска c: после установки по-умолчанию а сталобыть для него создаються теневые копии кажды раз при создании точки восстановления.

Удачи

если верить http://xmpp.org/extensions/xep-0027.html, то "All program output is US-ASCII armored output with the headers removed. ", думаю, а как же тогда декриптовать? Выше реализовал через отрезание лишнего, base64 декодирование и скармливание в сыром виде. Работает. Стало интересно, как бы сделать красиво, посмотрел код Pidgin-GPG
static char* str_armor(const char* unarmored)
{
	char* header = "-----BEGIN PGP SIGNATURE-----\n\n";
	char* footer = "\n-----END PGP SIGNATURE-----";

	char* buffer = malloc(strlen(header)+strlen(footer)+strlen(unarmored)+1);
	strcpy(buffer, header);
	strcat(buffer, unarmored);
	strcat(buffer, footer);
	return buffer;
}

///_\\\

Ну шо, поцоны, на приём работает:

(defun jabber-chat-print-encrypted (xml-data who mode)
"Decrypts and prints encrypted message"
(let ((foundp nil))
(dolist (x (jabber-xml-node-children xml-data))
(when (and (listp x) (eq (jabber-xml-node-name x) 'x)
(string= (jabber-xml-get-xmlns x) "jabber:x:encrypted"))
(setq foundp t)

(when (eql mode :insert)
(let* ((enc-b64-multi (car (split-string (caddr x) "\n=")))
(enc-b64 (replace-regexp-in-string "\n" "" enc-b64-multi))
(enc (base64-decode-string enc-b64))
(context (epg-make-context epa-protocol))
(dec (epg-decrypt-string context enc)))
(insert "\n"
(jabber-propertize
"encrypted message: " 'face 'jabber-chat-prompt-system)
(format "%s" (jabber-unhex dec)))))))
foundp))

Немного переусложнённо, но блин, спасибо XEP-ам

Чтобы постоянно не спрашивал пароли — gpg-agent в помощь

Пока как-то так:
(add-to-list 'jabber-chat-printers 'jabber-chat-print-encrypted)
(defun jabber-chat-print-encrypted (xml-data who mode)
"Print encrypted part of the message "
(message "detect encrypted")
(let ((foundp nil))
(dolist (x (jabber-xml-node-children xml-data))
(when (and (listp x) (eq (jabber-xml-node-name x) 'x)
(string= (jabber-xml-get-xmlns x) "jabber:x:encrypted"))
(setq foundp t)

(when (eql mode :insert)
(let ((enc (caddr x)))
(insert "\n"
(jabber-propertize
"encrypted message: " 'face 'jabber-chat-prompt-system)
(format "%s" enc))))))
foundp))

осталось декриптануть

"Я не использую GPG, ведь это GNU! Я боюсь бэкдоров Столлмана! Вот вдруг я напишу закрытую софтину, отправлю её по почте, её перехватит Столлман, расшифрует и откроет под GPL?"

Какое-то некоторое время назад у меня начал выпадать pinentry c EOF сразу после запуска, если до этого был запущен gpg-agent так, что приходилось агент килять, или не запускать вовсе.
Гугль рыл периодически в попытках починить эту хунту, но победы было не видать.

В общем, если у вас агент запускается из профайла шелла, то, может быть и вы (были) знакомы с ситуацией.

И вот, как-то раз вдумчиво-рандомно перебирая ключи запуска агента, наткнулся на решение. Запускать его при выше приведенном условии нужно с ключом "--keep-display", если целиком, то сценарий запуска выглядит так:
==========================================
#! /bin/bash

if [ -x /usr/bin/gpg-agent ]; then
if test -f $HOME/.gpg-agent-info && kill -0 $(cut -d: -f 2 $HOME/.gpg-agent-info) 2>/dev/null; then
GPG_AGENT_INFO="$(cat $HOME/.gpg-agent-info)"
export GPG_AGENT_INFO
else
eval $(gpg-agent --daemon --write-env-file --keep-display)
fi

GPG_TTY=$(tty)
export GPG_TTY
fi
==========================================
Должен работать не зависимо от того, какую сессию вы открываете (консольную/иксовую).

второтег ваше GnuPG: $ gpg --status-fd=2 --with-colons --list-key 0xC1FD909980E93558
tru::1:1329980317:1340784000:3:1:5
[GNUPG:] KEYEXPIRED 1301268553
[GNUPG:] SIGEXPIRED
[GNUPG:] KEYEXPIRED 1301268692
[GNUPG:] SIGEXPIRED
[GNUPG:] KEYEXPIRED 1301268765
[GNUPG:] SIGEXPIRED
[GNUPG:] KEYEXPIRED 1327569550
[GNUPG:] SIGEXPIRED
pub:m:4096:1:C1FD909980E93558:1269731806:::m:::scESC:
uid:m::::1269732147::0AF6178A9BEF82384B674328F508041544285B57::Sergey Alirzaev:
uid:m::::1269732052::7FBC3A4E2228A8E9272D8F0807CE3738DA49D56C::Sergey Alirzaev <[email protected]>:
uid:m::::1289125715::7F4BF5C22948604DF87C82D3EDA1B6D5932E2FA4::L29Ah (nickname) <[email protected]>:
sub:e:2048:1:7D63BDBF0C75325D:1269732232:1301268232:::::e:
sub:e:2048:1:A5093A206D76B712:1269732553:1301268553:::::s:
sub:e:2048:1:96F9755ACFA0E141:1269732692:1301268692:::::s:
sub:e:2048:1:9FA29E82E4C6B7F3:1269732765:1301268765:::::s:
sub:e:2048:1:520FA1607B41CEF1:1296033550:1327569550:::::s:
sub:e:2048:1:DCA0D2F21C3FB74A:1296033701:1327569701:::::e:
sub:m:2048:1:BAA8F81A80DCB494:1313363864:1344899864:::::s:
sub:m:2048:1:46460D46AB768765:1313364027:1344900027:::::e:

Фикс ткабберопроблем с криптой:
# Этот патч запрещено применять к транку проекта tclgpg и использовать разработчиками проекта tkabber иначе как для тестирования, покуда на сервисе juick не существует поста, в котором содержится текст "Я — хуй, Лавашик — няша.", подписанный ключом с отпечатком "A82E B67F D166 CD53 A147 C71D 57F2 4B33 72BC D0EC". Остальные условия распространения и использования текста соответствуют лицензии "as-is".
# RTFhttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489225
--- tclgpg.tcl 2012-02-11 23:14:06.000000000 +0400
+++ tclgpg.tcl 2012-02-11 23:25:22.000000000 +0400
@@ -1455,16 +1455,6 @@
FinishWithError $channels $commands "Decryption failed"
return
}
— KEYEXPIRED {
— switch — $operation {
— "" —
— verify {}
— default {
— FinishWithError $channels $commands "Key expired"
— return
— }
— }
— }
KEYREVOKED {
switch — $operation {
"" —

[email protected]:~$ gpg --fingerprint [email protected]
pub   4096R/C2858267 2012-02-07
      Отпечаток ключа = F1A4 4672 DBE5 0D74 6E3D  E362 171C 7AC5 C285 8267
uid                  Lesha Lomalkin <[email protected]>
sub   4096R/9201604F 2012-02-07

[email protected]:~$ wget http://f.lomalkin.ru/gpg.key -O - 2>/dev/null | gpg
pub  4096R/C2858267 2012-02-07 Lesha Lomalkin <[email protected]>
sub  4096R/9201604F 2012-02-07
[email protected]:~$ wget http://f.lomalkin.ru/gpg.key -O - 2>/dev/null | md5sum
cc401e681dec52b9ac89d98b7235e07b  -

l29ahZl29ah-home ~ ‰ gpg --delete-key 0C75325D
gpg: there is a secret key for public key "0C75325D"!
gpg: use option "--delete-secret-keys" to delete it first.
l29ahZl29ah-home ~ ‰ gpg --delete-secret-keys 0C75325D
gpg: key "0C75325D" not found: Unknown system error
gpg: 0C75325D: delete key failed: Unknown system error

WTF?

to @wasd:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

hQIMA4Qy04qJWYpYAQ/9HwLsk2xrcLL8bE19xMNlajIbBFvd0uwpx2K/oxrd4f8/
aKos9XOr5obmEpg821ihIU/D1Yfm6zy6q0sR1pfxyuclbneMXN0TXY7cgQXV9IDH
Er9HYO2ZdUOlKyP7l86+G3H3ejBdoprHC7okRF3cKIJd0dJ56aCcq1iDYt0UxpcM
tiE6T9L3WSp0dGSufLiPg/b5A5UB7Ir04BLz3/DnVKIeXScyt4lXZk6U68ETI2GP
lzJFwpsVg9Ky9kg7owBkmVb9ztXz6lBaVgH7AQkbWqZq2y4Kl/VRYdUdgKBHSfBE
uN6EM+0F9Ftc8LPjI2GmFVd8C8uHWN/Maj1wbf68fumN+TF9COmrph5xaSvidHvR
6m1b1tGj+Mve6eFxmaCKdZy8HIzZqoW6tIgjp4QO7dWx2LgZ0Bgcj4guI9tfonMN
t49dLJZgbQG/ASInAsg9CMNpEuFWmEkKDxdMoLcYbATCSzQpEKHD4EnySKuf8jb7
EZh0XfzlQBWKPDH60cxFxFwfErqyOGFN/cMhK2B0kUFRcfyt/wqAP4yEkc6+UQEY
38fY3XvwaIusPtVdtGmxPuRS7DSdFs4/b/TfJDfDuXbXkxzXgyCtG58qs2ZYoS4r
tYMwfaPT/hHDy36mq9zgs+m1kedJ5AKbtraZRvT15Dexg3VkPtYN9nBMe2+aqRXS
6QFr+GNnWLH9EVElqx3kkC++xJduvotTfntA60pxpaOpTeTz45ViLYUZF9hXqv4H
mnkUKkiPRPjB9LvN+nNHpysVSH4y31IxZrT8GaUuL7nojEpQr1hk78JD3EajQdF/
SaCox7OtFEhWG+gqYPTQeC27C6PQzQtslqljjpedsoVYfI/zJ4/mZhpZoK93k6HO
/6h+YPTMkXwAXeXueLN4gNv5VZbMD4tcmHyQ5iCivCYtD22elGaLUnbLEVcGWJDS
DiQZCDSHtLBc0XM0ey5qfunhAASXCbX4F5J0sJVQ6fQF+WC+RudhY06dHSyqu3Wa
0fjGJOodQRqzp3ZHjPc+joMUx9Z8wfV4ObphrGXW+kso4qCrfzw3Hm4hdSPAZ9il
JEAzXNlkXz+f2eQEtobkaKKaypx9JX7FFCaEH57xUUxRPtt/0REA5e5tAUarWQd2
6y7VTnyU+73uYyhoCH1rOxyo2TvAp3jlW7I2Ah1yzJou2ZXO9isLiNoaei4qSkw6
hlBu8sAaEWQMjd/yCsf6IuzJScKWI5JOcGASGc/lme4oNwElqPqyPAzS38Clot8O
uoUUg6rG7l0h5uvF43fG5GOGOeoQjZjdXUMeA4chc+IIXr5PB2C4rLV/Y2afgox3
A6Y6cA8Mu+MQRs/gYojPO1WE0u5kftMPzmpuT54sPIlQmNVLp+BJSFbdG0gWiyLh
DKjsF5YsnVJDtTdS/TIWAEE2ZTbH0BK4btFoy7UsKglfhXvGBJViA5eFjHax4pEh
OJM0bauK+QbfytwrwVrza1Rmw2HMTyFfdbbBf6l2T079HUE8mGBuspTfQBE/70th
1W/AEvtkz7GvdU2erSEjNCZi79rG6GO2W9Vv9I3pIfvcBVX1QWYgppLW
=RNSS
-----END PGP MESSAGE-----

linux.org.ru
"Asheesh Laroia разработал инструмент, позволяющий сгенерировать пару совместимых с GnuPG 4096-битных RSA-ключей с наперед заданным коротким (32-битным) идентификатором. Полный отпечаток ключа не совпадает. Процедура занимает три часа на старом ноутбуке. В отличие от старых атак на короткие ID ключей, новая атака создает RSA-ключи с общеупотребительной длиной и произвольным наперед заданным именем владельца."
"Попутно в программе GnuPG обнаружен баг, приводящий к использованию только короткого ID вместо более полного отпечатка (если он известен) при запросе ключа с сервера. Пример: gpg --keyserver pgp.mit.edu --recv-key 0xEC4B033C70096AD1 получает еще и ключ 0x37E1C17570096AD1. При редактировании ключей или проверке подписей, аналогичного бага нет. Планов по выпуску исправленной версии тоже нет."
Планов по выпуску исправленной версии тоже нет.РЕШЕТО!

вот я и вернулся, юзернейм, учёл прошлые ошибки и с великим трудом освоил простейшее.

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

какая тут выгода мне? я перестаю зависеть от "официального" аутпрокси. какая тут выгода тебе? во-первых, цепочка от тебя к цели длиннее, во-вторых i2p в отличие от Тора унифицирует юзерагент, как мы знаем.

ps: GPG и теневые тома в Truecrypt оказались не такими страшными непостижимыми ужасами, какими я их себе представлял.

лытдыбр получился.