26 lines
611 B
Bash
Executable File
26 lines
611 B
Bash
Executable File
#!/bin/sh
|
|
# msign PLAINMSG - generate a PGP/MIME signed message
|
|
|
|
[ -f "$1" ] || exit 1
|
|
|
|
IFS='
|
|
'
|
|
|
|
TMPD=$(mktemp -d -t msign.XXXXXX)
|
|
trap "rm -rf '$TMPD'" INT TERM EXIT
|
|
|
|
FROM=$(maddr -a -h from "$1" | sed 1q)
|
|
[ "$FROM" ] && key="--default-key=$FROM"
|
|
|
|
awk '/^$/,0' "$1" | mmime | sed 's/$/
|
|
/' >"$TMPD"/content
|
|
gpg2 $key --armor --detach-sign -o "$TMPD"/signature.asc "$TMPD"/content ||
|
|
exit $?
|
|
|
|
{
|
|
sed '/^$/q' "$1"
|
|
printf '#mblaze/raw %s/content\n' "$TMPD"
|
|
printf '#application/pgp-signature %s/signature.asc\n' "$TMPD"
|
|
} |
|
|
mmime -t 'multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"'
|
|
|