Does anyone have ideas about this before I start digging to find when it got broken?
On -current: | $ echo "test message" | openssl smime -sign -signer mail.cert -inkey mail.key | Enter pass phrase for mail.key: | MIME-Version: 1.0 | Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----D6AE072D584EB7DD96921A8B5D85CEB4" | | This is an S/MIME signed message | | ------D6AE072D584EB7DD96921A8B5D85CEB4 | test message | i.e. no signature section. On 5.4 :- | $ echo "test message" | openssl smime -sign -signer mail.cert -inkey mail.key | Enter pass phrase for mail.key | MIME-Version: 1.0 | Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----4B2635AD8016836C6AB87A92750410E5" | | This is an S/MIME signed message | | ------4B2635AD8016836C6AB87A92750410E5 | test message | | ------4B2635AD8016836C6AB87A92750410E5 | Content-Type: application/x-pkcs7-signature; name="smime.p7s" | Content-Transfer-Encoding: base64 | Content-Disposition: attachment; filename="smime.p7s" | | <snip 49 lines> | | ------4B2635AD8016836C6AB87A92750410E5-- | Also with -outform DER added to the command line, on -current: 24566492045156:error:21080082:PKCS7 routines:PKCS7_dataFinal:decode error:/usr/src/lib/libcrypto/crypto/../../libssl/src/crypto/pkcs7/pk7_doit.c:791: 24566492045156:error:21086091:PKCS7 routines:PKCS7_final:pkcs7 datasign:/usr/src/lib/libcrypto/crypto/../../libssl/src/crypto/pkcs7/pk7_smime.c:132: On 5.4, binary data is output as expected. "openssl smime -encrypt" *does* work.
