Doveadm encrypt/decrypt files manually with per-user folder keys
Ben Burk
ben at burk.tech
Thu Jul 1 05:19:20 EEST 2021
I think I've been able to print/export what I think are user keys with
the -U flag:
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey export -u
user -U
Folder:
Public ID: 3498hg355a86c3c924a5841bb2e5c6e1b0c5496d5116c4fcb9askdjfalk34
Error:
-----BEGIN PRIVATE KEY-----
***REDACTED***
-----END PRIVATE KEY-----
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey list -u
user -U
Folder Active Public ID
yes 3498hg355a86c3c924a5841bb2e5c6e1b0c5496d5116c4fcb9askdjfalk34
However, I can't seem to get the tool to print/export folder keys:
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey list -u
user test
doveadm(user): Warning: mailbox cryptokey list: Nothing was matched. Use
-U or specify mask?
Folder Active Public ID
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey list -u
user test/
doveadm(user): Warning: mailbox cryptokey list: Nothing was matched. Use
-U or specify mask?
Folder Active Public ID
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey export -u
user
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey export -u
user test/
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey export -u
user test
user at testbox :~$ sudo -u vmail doveadm -o
plugin/mail_crypt_private_password="${pass}" mailbox cryptokey export -u
user *
user at testbox :~$
In the examples above, I was attempting to select keys for the 'test'
IMAP mail folder. I may just be misunderstanding the
encryption/decryption operations here, and possibly the mask parameter.
When I run the below command, it outputs the '.test.out' file but the
file is not encrypted, presumably because the public key was not specified:
sudo -u vmail doveadm fs put crypt
private_key_path=/tmp/doveadm_TvZAjG16218-30778:posix:prefix=/var/mail/domain/user/Maildir/test/cur/
1561754561.M105295P13988.smtp\,S\=3700\,W\=3780\:2\,RS .test.out
What is the correct syntax to export folder keys, assuming that what I
have exported above are the user keys? Do you need to specify both
private/public keys when encrypting/decrypting? I wouldn't think so.
Typically all that is needed for encryption is the public key, and for
decryption the private key.
My mail_crypt settings:
mail_attribute_dict = file:%h/Maildir/dovecot-attributes
mail_plugins = $mail_plugins mail_crypt
plugin {
mail_crypt_curve = secp521r1
mail_crypt_save_version = 2
mail_crypt_require_encrypted_user_key = yes
}
On 6/29/21 1:11 AM, Aki Tuomi wrote:
>> On 29/06/2021 06:05 Ben Burk <ben at burk.tech> wrote:
>>
>>
>> There is an example of manually encrypting/decrypting mail processed by the mail_crypt plugin here:
>> https://doc.dovecot.org/configuration_manual/mail_crypt_plugin/
>>
>>
>> It outlines how one would manually encrypt/decrypt messages using global keys:
>> doveadm fs get/put crypt private_key_path=foo:public_key_path=foo2:posix:prefix=/path/to/files/root path/to/file
>>
>>
>>
>> Is there a way to accomplish this using per-user folder keys? Is there some way of making sense of the information in the dovecot-attributes file to accomplish this?
>>
>> --
>> Ben Burk
>> BURK.TECH System Administrator
> You can use
>
> doveadm mailbox cryptokey export
>
> to export folder keys.
>
> Aki
>
--
Ben Burk
BURK.TECH System Administrator
More information about the dovecot
mailing list