A work colleague sends me S/MIME signed messages which I read with mutt +
gpgme/gpgsm. Most of them I can read[*], but for some I get
[-- Error: decryption failed: Invalid value passed to IPC --]
as the body, nothing else.
Some more information in the hope it helps debugging: When looking at the
headers, I see
Content-Type: application/pkcs7-mime; smime-type=signed-data;
name="smime.p7m"
Content-Disposition: attachment; filename="smime.p7m"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
and then a base64 encoded body.
When I manually decode the body, I get weird characters at the start before the
real test, but perhaps that's the p7m file format:
00000000 30 80 06 09 2a 86 48 86 f7 0d 01 07 02 a0 80 30 |0...*.H........0|
00000010 80 02 01 01 31 0b 30 09 06 05 2b 0e 03 02 1a 05 |....1.0...+.....|
00000020 00 30 80 06 09 2a 86 48 86 f7 0d 01 07 01 a0 80 |.0...*.H........|
00000030 24 80 04 82 01 2d 43 6f 6e 74 65 6e 74 2d 54 79 |$....-Content-Ty|
00000040 70 65 3a 20 6d 75 6c 74 69 70 61 72 74 2f 6d 69 |pe: multipart/mi|
00000050 78 65 64 3b 0d 0a 09 62 6f 75 6e 64 61 72 79 3d |xed;...boundary=|
00000060 22 2d 2d 2d 2d 3d 5f 4e 65 78 74 50 61 72 74 5f |"----=_NextPart_|
00000070 30 30 30 5f 30 32 37 39 5f 30 31 44 31 36 44 34 |000_0279_01D16D4|
00000080 38 2e 34 36 42 35 41 46 38 30 22 0d 0a 58 2d 4d |8.46B5AF80"..X-M|
[*] Format for those is
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=SHA1; boundary="----=_NextPart_000_030D_01D16D6E.123456789"
I originally reported this as a mutt bug report:
https://dev.mutt.org/trac/ticket/3808
but a recent comment there suggests it might be a problem in gpgme.