# find out the signing key
userid="$MMHPGPKEY"
-if [ "x$userid" = "x" ] ; then
+if [ -z "$userid" ] ; then
userid="`mhparam pgpkey`"
fi
-userid="`gpg --list-secret-keys --with-colons 2>/dev/null |
- sed -n '/^sec/{p;q}' | cut -d: -f5`"
-if [ "x$userid" = x ] ; then
+if [ -z "$userid" ] ; then
+ userid="`gpg --list-secret-keys --with-colons 2>/dev/null |
+ grep '^sec' | sort -t: -k3,3nr -k 6,6nr |
+ awk -F: '
+ $7=="" || $7 > "'"\`date +%Y-%m-%d\`"'" {
+ print $5; exit;
+ }
+ '`"
+fi
+if [ -z "$userid" ] ; then
echo "No secret key found" >&2
exit 1
fi
if [ $? != 0 ] ; then
return 1
fi
- echo "$key" | sed -n '/^pub/{p;q}' | cut -d: -f5
+ echo "$key" | sed -n '/^pub:[^idre]:/{p;q;}' | cut -d: -f5
return 0
}