SMIME Support
SMIME is a common mail encryption protocol (RFC8551). Supporting SMIME means:
-
Import private key -
Import of public key from PEM string -
Verify mails - if the verification fails, output the error to swift -
Decrypt mails -
Signing mails -
Encrypt mails* -
Crypto object -
Import public keys from websites -
Exceptions -
Documentation -
Add tests cases -
(If there's time) check code consistency -
Consider complex cases (PGP and SMIME, SMIME and plain context in one mail, sender address in key vs mail, ...)Might not have enough time for that, however we can look into it if it is important
The following tasks are high priority but should probably be handled by @wieseoli, as these require familiarity with IncomingMail
or OutgoingMail
:
-
Import public keys from mails -
Verify incoming mails -
Decrypt incoming mails -
Signing outgoing mails -
Encrypt outgoing mails
SMIME support is available on macOSX but not on iOS. OpenSSL may support SMIME, e.g. example on stackoverflow
Edited by wieseoli