[О блоге]
[наверх]
[пред]
[2025-01-10 14:17:18+03:00]
[99da812a3d62fde2ef99a7ed8eff69fe2acfe0a7]
Темы: [crypto][go][mail]
go.stargrave.org/pgpmaildecryptor
gopher://box.matto.nl/0/export-decrypted-messages-from-entire-mailbox.txt
https://datatracker.ietf.org/doc/id/draft-autocrypt-lamps-protected-headers-02.html
http://www.git.stargrave.org/?p=pgpmaildecryptor.git;a=summary
В 7f67390fdbb9f5c147c9d86d10299ed59f1b0850 писал про то, как можно
хранить дешифрованные PGP письма, чтобы по ним можно бы было искать (и
не забывать чтобы поисковый индекс, как и сами сообщения, были на
зашифрованных разделах). Тогда я использовал встроенные возможности Mutt
по расшифровыванию. Но защищённые заголовки письма им просто добавлялись
в конец текущих. Отображать такие письма он может нормально, но тот же
не единственный Subject будет источником проблем в других местах. В той
записи блога был скрипт на Python, потом был на Perl:
http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=bin/bin/mail_dup_hdrs_remove.pl;h=dcc78ca93b8ea54fa5ed1f43bc458f934909c14e;hb=HEAD
Коряво это всё выглядит: использование интерактивной программы, после
которой ещё и всё равно надо доправлять сообщения. Написал pgpmaildecryptor
утилиту на Go, которая на stdin принимает RFC822 сообщение, находит в
нём pgp-encrypted часть, дешифрует через внешний запускаемый gpg,
заменяет дешифрованным результатом заголовки и тело сообщения, с учётом
protected-headers. Вроде работает хорошо, пока проблем не встретил. Сам
Go то здесь по сути излишен: можно и Perl-ом бы было обойтись, но в Go
из коробки есть средства парсинга MIME. Вообще ожидал гораздо большую
боль со всем этим, но именно зашифрованные PGP MIME сообщения не сложно
устроены.
[оставить комментарий]