Hi, I am experience with imapfilter to decrypt old mail archives but keeping signatures.
The reason is that I lost already access to old mails that was encrypted
to a key which is only on a, now broken, GPG card. As the relevant
mailserver is mine and the file system is encrypted, I can accept to
have that mails unencrypted in storage.
I have the following approach at the moment:
for _, msg in ipairs(result) do
mbox, uid = unpack(msg)
header = mbox[uid]:fetch_header()
body = mbox[uid]:fetch_body()
flags = mbox[uid]:fetch_flags()
date = mbox[uid]:fetch_date()
if (body:match("BEGIN PGP MESSAGE")) then
obody = body:match('(%-%-%-%-%-BEGIN PGP
MESSAGE%-%-%-%-%-.*%-%-%-%-%-END PGP MESSAGE%-%-%-%-%-\r\n)')
state, nbody = pipe_single(obody, "gpg", "--decrypt", "--unwrap")
if (state ~= 0) then
print("Error "..state)
break
end
state, nbody = pipe_single(nbody, "gpg", "--enarmor")
if (state ~= 0) then
print("Error "..state)
break
end
nbody = nbody:gsub('ARMORED FILE', 'MESSAGE')
body = body:gsub('(%-%-%-%-%-BEGIN PGP
MESSAGE%-%-%-%-%-.*%-%-%-%-%-END PGP MESSAGE%-%-%-%-%-\r\n)', nbody)
message = header .. body
--print(message)
privat['sent-mail']:append_message(message, flags, date)
end
end
But that do not work in mutt as the signed mail must be in separate mime
parts for text and for signature. But `gpg --unwrap` generate a PGP
binary file with just encryption removed. Thunderbird works just fine
but mutt doesn't.
Do anybody have any idea how to convert the binary package back to
detached signature and eventually how to build mime parts around in lua?
Regards
Klaus
--
Klaus Ethgen http://www.ethgen.ch/
pub 4096R/4E20AF1C 2011-05-16 Klaus Ethgen <[email protected]>
Fingerprint: 85D4 CA42 952C 949B 1753 62B3 79D0 B06F 4E20 AF1C
signature.asc
Description: PGP signature
_______________________________________________ Gnupg-users mailing list [email protected] http://lists.gnupg.org/mailman/listinfo/gnupg-users
