tests/openpgp: Make tests more portable.
[gnupg.git] / tests / openpgp / use-exact-key.test
1 #!/bin/sh
2
3 . $srcdir/defs.inc || exit 3
4
5 # set -x
6
7 # Make sure $srcdir is set.
8 if test "x$srcdir" = x
9 then
10     echo srcdir environment variable not set!
11     exit 1
12 fi
13
14 # Import the sample key
15 #
16 # pub   1024R/8BC90111 2015-12-02
17 #       Key fingerprint = E657 FB60 7BB4 F21C 90BB  6651 BC06 7AF2 8BC9 0111
18 # uid       [ultimate] Barrett Brown <barrett@example.org>
19 # sub   1024R/3E880CFF 2015-12-02 (encryption)
20 # sub   1024R/F5F77B83 2015-12-02 (signing)
21 # sub   1024R/45117079 2015-12-02 (encryption)
22 # sub   1024R/1EA97479 2015-12-02 (signing)
23 info "Importing public key."
24 if $GPG --import $srcdir/samplekeys/E657FB607BB4F21C90BB6651BC067AF28BC90111.asc
25 then
26     :
27 else
28     error "$k: import failed"
29 fi
30
31 # By default, the most recent, valid signing subkey (1EA97479).
32 for x in 8BC90111 3E880CFF F5F77B83 45117079 1EA97479
33 do
34     if ! echo | $GPG -s -u "$x" | $GPG --verify --status-fd=1 \
35             | grep 'VALIDSIG 5FBA84ACE02DCB17DA3DFF6BBCA43C441EA97479' >/dev/null
36     then
37         echo | $GPG -s -u "$x" | $GPG --verify --status-fd=2
38         error "Unexpected key used for signing (not the signing subkey, specified \"$x\")."
39         exit 1
40     fi
41 done
42
43 # But, if we request a particular signing key, we should get it.
44 for x in 8BC90111 F5F77B83 1EA97479
45 do
46     if ! echo | $GPG -s -u "$x!" | $GPG --verify --status-fd=1 \
47             | grep "VALIDSIG [0-9A-F]*$x " >/dev/null
48     then
49         echo | $GPG -s -u "$x!" | $GPG --verify --status-fd=2
50         error "Unexpected key used for signing (specified: \"$x!\")."
51         exit 1
52     fi
53 done
54
55 exit 0