diff options
Diffstat (limited to 'checks/sigs.test')
-rwxr-xr-x | checks/sigs.test | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/checks/sigs.test b/checks/sigs.test index 38cabe64d..a0ae955dd 100755 --- a/checks/sigs.test +++ b/checks/sigs.test @@ -9,15 +9,8 @@ for i in $plain_files $data_files; do cmp $i y || error "$i: mismatch" done -# TODO: add the new SHAs here once we allow them to be used in new -# documents. - -hash_algo_list="ripemd160 sha1 md5" -if have_hash_algo "SHA256"; then - hash_algo_list="$hash_algo_list sha256" -fi - -for da in $hash_algo_list ; do +# 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 @@ -27,3 +20,24 @@ for da in $hash_algo_list ; do break done done + +# TODO: add the new SHAs here once we allow them to be used in new +# documents. + +if have_cipher_algo "RSA"; then + # Using the RSA sig key - all hashes + hash_algo_list="ripemd160 sha1 md5" + if have_hash_algo "SHA256"; then + hash_algo_list="$hash_algo_list sha256" + fi + + for da in $hash_algo_list ; do + for i in $plain_files; do + $GPG -u $usrkeyid3 --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 +fi |