* defs.inc (all_hash_algos): See "all_cipher_algos", below.

* sigs.test: Use it here, and also test with >=160 bit hashes for
DSA2.
This commit is contained in:
David Shaw 2007-07-18 17:43:14 +00:00
parent d26739aa5a
commit ab20b58ecd
3 changed files with 30 additions and 34 deletions

View File

@ -1,3 +1,10 @@
2007-07-18 David Shaw <dshaw@jabberwocky.com>
* defs.inc (all_hash_algos): See "all_cipher_algos", below.
* sigs.test: Use it here, and also test with >=160 bit hashes for
DSA2.
2007-05-14 David Shaw <dshaw@jabberwocky.com>
* defs.inc (all_cipher_algos): New function to return all ciphers

View File

@ -134,6 +134,10 @@ all_cipher_algos () {
../g10/gpg --homedir . --version | grep "Cipher" | sed 's/^Cipher: //; s/,//g'
}
all_hash_algos () {
../g10/gpg --homedir . --version | grep "Hash" | sed 's/^Hash: //; s/,//g'
}
set -e
pgmname=`basename $0`
#trap cleanup SIGHUP SIGINT SIGQUIT

View File

@ -2,45 +2,17 @@
. $srcdir/defs.inc || exit 3
#info Checking signatures
for i in $plain_files $data_files; do
echo "$usrpass1" | $GPG --passphrase-fd 0 -s -o x --yes $i
$GPG -o y --yes x
cmp $i y || error "$i: mismatch"
done
# Using the DSA sig key - only 160 bit hashes
for da in ripemd160 sha1 ; do
for i in $plain_files; do
echo "$usrpass1" | $GPG --passphrase-fd 0 --digest-algo $da \
-s -o x --yes $i
$GPG -o y --yes x
cmp $i y || error "$i: mismatch"
# process only the first one
break
done
done
for da in `all_hash_algos` ; do
echo_n "$da "
# TODO: add the new SHAs here once we allow them to be used in new
# documents.
if have_pubkey_algo "RSA"; then
# Using the RSA sig key - all hashes
hash_algo_list="ripemd160 sha1 md5"
if have_hash_algo "SHA224"; then
hash_algo_list="$hash_algo_list sha224"
fi
if have_hash_algo "SHA256"; then
hash_algo_list="$hash_algo_list sha256"
fi
if have_hash_algo "SHA384"; then
hash_algo_list="$hash_algo_list sha384"
fi
if have_hash_algo "SHA512"; then
hash_algo_list="$hash_algo_list sha512"
fi
for da in $hash_algo_list ; do
# RSA key, so any hash is okay
if have_pubkey_algo "RSA"; then
for i in $plain_files; do
$GPG -u $usrname3 --digest-algo $da -s -o x --yes $i
$GPG -o y --yes x
@ -48,5 +20,18 @@ if have_pubkey_algo "RSA"; then
# process only the first one
break
done
done
fi
fi
# Using the DSA sig key - only 160 bit or larger hashes
if test $da != "MD5"; then
for i in $plain_files; do
echo "$usrpass1" | $GPG --passphrase-fd 0 --digest-algo $da \
-s -o x --yes $i
$GPG -o y --yes x
cmp $i y || error "$i: mismatch"
# process only the first one
break
done
fi
done
echo_n "| "