summaryrefslogtreecommitdiffstats
path: root/tests/openpgp/sigs.test
blob: 79a3a18a4b6eada191c858249e811258e0a95c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh

. $srcdir/defs.inc || exit 3

set -x

#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

# 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
	for i in $plain_files; do
	    $GPG -u $usrname3 --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