unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jeffrey Stedfast <fejj@gnome.org>
To: David Bremner <david@tethera.net>, gmime-devel-list@gnome.org
Cc: notmuch@notmuchmail.org
Subject: Re: [gmime-devel] gmime and S/MIME
Date: Thu, 29 Jan 2015 09:40:59 -0500	[thread overview]
Message-ID: <54CA467B.30408@gnome.org> (raw)
In-Reply-To: <87twz9wyf8.fsf@maritornes.cs.unb.ca>

Hi David,

On 1/29/2015 7:42 AM, David Bremner wrote:
> With a few others, I've been attempting to get S/MIME supported in
> notmuch (which as you might or might not remember is using gmime
> underneath). The signature verification part is working OK, but I've
> gotten a bit bogged down trying to get decryption working.
>
> What I have learned is that according RFC5751, smime message (parts)
> look like
>
>     Media type:  application/pkcs7-mime
>     parameters:  any
>     file suffix: any
>
>     Media type:  multipart/signed
>     parameters:  protocol="application/pkcs7-signature"
>     file suffix: any
>
>     Media type:  application/octet-stream
>     parameters:  any
>     file suffix: p7m, p7s, p7c, p7z
>
> Unless I miss something, out of the box there is only support for
> decrypting multipart/encrypted.  In particular the gmime tests for
> S/MIME use this "container format" [1].

Correct, I don't think I ever got around to implementing the 
GMimeApplicationPkcs7Mime class.

>
> So I'm wondering if I'm confused about the RFC(s), or about GMIME, or is
> one suppose to write analogs of g_mime_multipart_encrypted_decrypt for
> other top level parts?

You are not confused. I would probably hesitate to say that it was my 
*intention* for everyone to implement their own S/MIME class for 
pkcs7-mime, but in any case, that is what needs to be done right now :(

FWIW, I've written another library called MimeKit in C# which shares a 
similar design to GMime that is hosted on GitHub that implements the 
pkcs7-mime class:

https://github.com/jstedfast/MimeKit/blob/master/MimeKit/Cryptography/ApplicationPkcs7Mime.cs

Hopefully that helps provide you with ideas on how to implement the same 
sort of thing using GMime for notmuch.

(btw, if you end up implementing this, I'd love to accept your patches 
into GMime proper)

Jeff

  reply	other threads:[~2015-01-29 14:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29 12:42 gmime and S/MIME David Bremner
2015-01-29 14:40 ` Jeffrey Stedfast [this message]
2015-08-16 17:41   ` David Bremner
2015-08-16 17:41     ` [PATCH 1/8] crypto: refactor context creation to facilitate further work David Bremner
2015-08-16 17:41     ` [PATCH 2/8] crypto: make crypto ctx initialization an array David Bremner
2015-08-16 17:41     ` [PATCH 3/8] cli: let the user know which protocol is unknown or unsupported David Bremner
2015-08-16 17:41     ` [PATCH 4/8] test: initial tests for S/MIME and notmuch-emacs David Bremner
2015-08-16 17:41     ` [PATCH 5/8] test: add broken S/MIME signature verification test for notmuch CLI David Bremner
2015-08-16 17:41     ` [PATCH 6/8] cli: crypto: S/MIME verification support David Bremner
2015-09-26 11:58       ` Jani Nikula
2015-08-16 17:41     ` [PATCH 7/8] debian: Recommend gpgsm for S/MIME support David Bremner
2015-08-16 17:41     ` [PATCH 8/8] debian: add gpgsm as build dependency David Bremner
2015-09-26 17:32       ` Daniel Kahn Gillmor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54CA467B.30408@gnome.org \
    --to=fejj@gnome.org \
    --cc=david@tethera.net \
    --cc=gmime-devel-list@gnome.org \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).