revision 2: easing access to the cryptographic envelope

Subject: revision 2: easing access to the cryptographic envelope

Date: Sun, 19 May 2019 23:22:24 -0400

To: Notmuch Mail


From: Daniel Kahn Gillmor

This is the second revision of the series originally posted at

(that series no longer applies directly to master due to all the
cleanup that has been merged recently)

This series is an important baseline for my work on protected headers,
which i aim to start posting for review on this list soon, but can be
seen meanwhile on the protected-headers branch at


E-mail structures are potentially arbitrarily complicated.
Cryptographic protection standards like S/MIME and OpenPGP or PGP/MIME
are often applicable to some elements of some messages.

Last year's "E-Fail" attacks made it clear that trying to provide
normal users with cryptographic protections on piecemeal parts of an
e-mail message is a recipe for disaster, both from an implementation
perspective and a user experience perspective.

I've argued in more detail at [0] about the need to treat
cryptographic protections at the message level, rather than at the
subpart level.


This series makes "notmuch show" track and emit message-wide
cryptographic state, providing an interface that simple clients that
use "notmuch show" can rely on for their UI and UX.

It doesn't yet apply this layer to the emacs interface, because at the
moment many users of the emacs interface are nerds who are as likely
to understand the intricacies of MIME structure as anyone, and for the
moment, just augmenting the notmuch show schemata in a sensible way is
enough of a chunk to bite off.

 (though i'd be happy to review and support the use of this
 per-message cryptographic state in notmuch-emacs if/when this lands!)

I'd appreciate any review and feedback!



notmuch mailing list