> I thought I would write a filter for Pine users to be able to deal
> with PGP-MIME signed messages.  It struck me that the concept should
> be fairly simple.  I hacked together a quick shell script that does
> the following:

I have two filters which I use with procmail to verify emails coming in.
They are run as filters from procmail as

:0 HBDf
* ^-----BEGIN PGP SIGNED MESSAGE-----
| /domain/bin/verify-signature-filter

:0 HBDf
* ^Content-Type: application/pgp-signature
| /domain/bin/mime-verify-signature-filter

Maybe they help a little to implement your own filter.

btw: If you think there is something to improve this filters (I bet
there is plenty) please tell me. Maybe there is a even better filter
around. This two skripts where just two hacks to entertain me... :-)

-- 
cu
  --== Jerri ==--
Homepage:       http://www.jerri.de/   ICQ: 54160208
#!/bin/sh

# To get a good name which isn't overwritten
tempname=check_sign-$RANDOM-$$-$(date +"%Y%m%d%H%M%S")

# Create a temporary dir
mkdir /tmp/$tempname
cd /tmp/$tempname

# backup the original mail
cat > mail

# Get the signature
munpack -q mail > /dev/null 2>&1

# Get the signed part
boundary=`cat mail | grep boundary | sed -e "s/.*boundary=\"\(.*\)\".*/\1/" | sed -e 
"s/[\/+*]/./g" | head -1`
cat mail | sed -e "1,/^--$boundary$/ d" -e "/^--$boundary$/,$ d" | sed -e "$ d" > 
signed

# Check the signature
echo "-----Output from GnuPG-----" > gpgoutput
gpg --no-tty --verify part1 signed >> gpgoutput 2>&1
echo >> gpgoutput

# Output new mail
# Header
cat mail | sed -e "/^$/,$ d" | grep -v "^[Content-|Lines]" | grep -v "protocol"

# Mailbody and output from verification
boundary=`cat signed | grep boundary | sed -e "s/.*boundary=\"\(.*\)\".*/\1/" | sed -e 
"s/[\/+*]/./g" | head -1`
cat signed | awk "BEGIN {nummer=0} /^--$boundary\$/ {nummer++; if (nummer==2) 
{system(\"/bin/cat gpgoutput\")}} {print}"

# Delete tempdir and files therein
cd /
rm -rf /tmp/$tempname
#!/bin/sh

mail=`cat`
echo "$mail" | sed -e "/^-----BEGIN PGP SIGNED MESSAGE/ d" -e "/^-----BEGIN PGP 
SIGNATURE/,$ d"
echo "-----Output from GnuPG-----"
echo "$mail" | /usr/bin/gpg --verify --no-tty 2>&1

Attachment: msg23051/pgp00000.pgp
Description: PGP signature

Reply via email to