test_description='S/MIME signature verification and decryption'
. $(dirname "$0")/test-lib.sh || exit 1
-add_gpgsm_home ()
-{
- local fpr
- [ -d ${GNUPGHOME} ] && return
- _gnupg_exit () { gpgconf --kill all 2>/dev/null || true; }
- at_exit_function _gnupg_exit
- mkdir -m 0700 "$GNUPGHOME"
- gpgsm --no-tty --no-common-certs-import --disable-dirmngr --import < $NOTMUCH_SRCDIR/test/smime/test.crt >"$GNUPGHOME"/import.log 2>&1
- fpr=$(gpgsm --list-key test_suite@notmuchmail.org | sed -n 's/.*fingerprint: //p')
- echo "$fpr S relax" >> $GNUPGHOME/trustlist.txt
- test_debug "cat $GNUPGHOME/import.log"
-}
-
test_require_external_prereq openssl
test_require_external_prereq gpgsm
test_begin_subtest "signature verification (notmuch CLI)"
output=$(notmuch show --format=json --verify subject:"test signed message 001" \
| notmuch_json_show_sanitize \
- | sed -e 's|"created": [-1234567890]*|"created": 946728000|' \
- -e 's|"expires": [-1234567890]*|"expires": 424242424|' )
+ | sed -e 's|"created": [-1234567890]*|"created": 946728000|g' \
+ -e 's|"expires": [-1234567890]*|"expires": 424242424|g' )
expected='[[[{"id": "XXXXX",
"match": true,
"excluded": false,
"timestamp": 946728000,
"date_relative": "2000-01-01",
"tags": ["inbox","signed"],
+ "crypto": {"signed": {"status": [{"fingerprint": "'$FINGERPRINT'", "status": "good","userid": "CN=Notmuch Test Suite","expires": 424242424, "created": 946728000}]}},
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "Decryption (notmuch CLI)"
+test_subtest_known_broken
+notmuch show --decrypt=true subject:"test encrypted message 001" |\
+ grep "^This is a" > OUTPUT
+cat <<EOF > EXPECTED
+This is a test encrypted message.
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_done