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.