mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-18 14:17:03 +01:00
tests: Drop the old shell-based tests.
-- Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
6c4c0e3ac2
commit
c644962fcf
@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# GnuPG through 2.1.7 would incorrect mark packets whose size is
|
||||
# 2^32-1 as invalid and exit with status code 2.
|
||||
i=$srcdir/4gb-packet.asc
|
||||
|
||||
if ! $GPG --list-packets $i >/dev/null
|
||||
then
|
||||
error Failed to parse 4GB packet.
|
||||
else
|
||||
info Can parse 4GB packets.
|
||||
fi
|
@ -170,7 +170,7 @@ sample_keys = samplekeys/README \
|
||||
|
||||
sample_msgs = samplemsgs/issue2419.asc
|
||||
|
||||
EXTRA_DIST = defs.inc defs.scm pinentry.sh $(XTESTS) $(TEST_FILES) \
|
||||
EXTRA_DIST = defs.scm $(XTESTS) $(TEST_FILES) \
|
||||
mkdemodirs signdemokey $(priv_keys) $(sample_keys) \
|
||||
$(sample_msgs) ChangeLog-2011 run-tests.scm \
|
||||
setup.scm finish.scm
|
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
|
||||
#info Checking armored detached signatures
|
||||
for i in $plain_files $data_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -sab -o x --yes $i
|
||||
$GPG -o /dev/null --yes x <$i || error "$i: bad signature"
|
||||
done
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking armored detached signatures of multiple files
|
||||
i="$plain_files $data_files"
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -sab -o x --yes $i
|
||||
cat $i | $GPG -o /dev/null --yes x || error "$i: bad signature"
|
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking armored encryption
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -ea -o x --yes -r "$usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking armored encryption with a pipe
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -ea --yes -r "$usrname2" < $i | tee x | $GPG -o y --yes
|
||||
cmp $i y || error "$i: mismatch"
|
||||
$GPG --yes < x > y
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,763 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Regression tests pertaining to the armoring.
|
||||
# Copyright 2006, 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
armored_key_8192='-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: SKS 1.0.9
|
||||
|
||||
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
|
||||
=oXxa
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
'
|
||||
|
||||
# Bug solved 2005-04-07:
|
||||
# Try importing the attached key file. As the key is exactly 8192
|
||||
# bytes long, radix64_read is called twice - the first time to read
|
||||
# the 8192 bytes, and then once again, to handle the pad '=' on the
|
||||
# last four character radix64 block '0uI='. gpg bails out with
|
||||
# gpg: [don't know]: invalid packet (ctb=2d)
|
||||
# On a read for only the = sign, radix64_read returns -1 for EOF.
|
||||
# This causes the iobuf code to pop the armor filter and thus the next
|
||||
# byte read is the '-' from the END header line, causing an error.
|
||||
i=armored_key_8192
|
||||
info "checking: $i"
|
||||
eval "(IFS=; echo \"\$$i\")" >x
|
||||
$GPG --import x || error "the $i bug is back in town"
|
||||
|
||||
|
||||
|
||||
nopad_armored_msg='-----BEGIN PGP MESSAGE-----
|
||||
Version: GnuPG v1.4.11-svn5139 (GNU/Linux)
|
||||
|
||||
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
|
||||
S96L4PDmXseFkVZOH/7dNWyKuvSA/MmthkN14lWJiYJebaXb7oZG3XDC70o7bG6Y
|
||||
mtGOrOwVthFereg1Ii98ZA4nKgqeu2paMju/t03hQXHY5iqyV9ax0A3B0rdivz4U
|
||||
VbqCcO7pGNb/Ki3gGc3hfVw9YXnR7E+tra19eE7UM7o+YlunKF1Q5dJaLKY1z3L9
|
||||
3UAJmXG/sZcLqrDn9zHfb/YxqbyIkM7VIU2kKztWCCNiNKgLQsIoVzK4sbS2LVDI
|
||||
grmvZg+Q7EkwxZ1FXeBGJmsiyjKYPU3PI8ZBU1MXjwTjtnQRuBSxh+Ok9glPeE+1
|
||||
rUDdlVoogUGgPAvLV3BM43E/Q5VE+X04KvPNKINvvS1nZpGKyyy1MayOfstc7Hsw
|
||||
W/RgllTEd7VW5jgZKg7YyA8r8cUjMqE7zewrq6MtkoFk6ZVslWxfoADBW3ivwdwe
|
||||
I4XwNboOgBx77qxf95aHRRdqWZa0JF8zvK5BH6EpBI29hlJU4leax696ACA7QIIM
|
||||
Rpc+ulkvHsNxsUlrUut9AXoob0MqDJRmZvU4gSVivHjvKLEIlymJw4pLbMWhcrNa
|
||||
v94TExP21Fy/zYcWiZT2nCX6qZVXTcUcQGIrBTWDbR8bxKll4FNo/2zmelyFmeXt
|
||||
iH+Zp2EwFAUELsrxx9plNd5WceyU9VnZoeucNFd2QFl7lV9KL8AlQaaMdsYOt27m
|
||||
8j7iNBID4HtCYM0xLwE/5uqVQPxX6qzPPZc66MSRIi8ZHZPFvVilFVzFyZSrq5Lo
|
||||
ojQQmAycQGOzx7dwx7vi9SeTrBRY2PK3WVurcLiRxM+2u9vjlxigwimpnK3VU1dh
|
||||
GDoPghB3O34bfiV5GndcnPDLJxsSGWz2z2WiyCFgCkVp3shHUN5c2PLWDIOf/Ejz
|
||||
LzNJXFKjO6/6ZGpMmGf6bZCa9MBnvXMNic9/k0lmtbgj8SS+2//gko1EDa/Gpaqo
|
||||
J2xgEuHLvp9KQABWt9VRI+tNUJQCS/Jq10ZiT1TzhczyJEqbtVDOo0l5A5sMV0PO
|
||||
HszFNxw2BmuM8RYGgAe5pkrdzVdtB8TLmhys7P+xRXNXnsUb+878kt2EyiXjMl1g
|
||||
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
|
||||
=3akT
|
||||
-----END PGP MESSAGE-----
|
||||
|
||||
'
|
||||
|
||||
alpha_seckey='-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
Version: GnuPG v1.4.8 (GNU/Linux)
|
||||
|
||||
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
|
||||
wg7Md81a5RI3F2FG8747t9gX
|
||||
=VM1e
|
||||
-----END PGP PRIVATE KEY BLOCK-----
|
||||
'
|
||||
|
||||
# Bug 1179 solved 2010-05-12:
|
||||
# It occurred for messages of a multiple of the iobuf block size where
|
||||
# the last line had no pad character. Due to premature poppng of thea
|
||||
# rmor filter gpg swalled the CRC line and passed the '-----END...'
|
||||
# line on to the decryption layer.
|
||||
|
||||
i=alpha_seckey
|
||||
info "importing: $i"
|
||||
eval "(IFS=; echo \"\$$i\")" >x
|
||||
$GPG --import x || true
|
||||
|
||||
i=nopad_armored_msg
|
||||
info "checking: $i"
|
||||
eval "(IFS=; echo \"\$$i\")" >x
|
||||
if $GPG -o - x > /dev/null ; then
|
||||
:
|
||||
else
|
||||
error "bug#1179 is back in town"
|
||||
fi
|
||||
|
@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
|
||||
#info Checking armored signing and encryption
|
||||
for i in $plain_files $data_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 ${opt_always} \
|
||||
-sae -o x --yes -r "$usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking armored signatures
|
||||
for i in $plain_files $data_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -sa -o x --yes $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,99 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
# Fixme: we should not only do a --verify but also the output.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# ======================================
|
||||
# I can't compare the out because plain-3 has no LF as last charcater
|
||||
# but the output has always one. I do not thinkl this is a bug, because
|
||||
# it is clear text and not binary text.
|
||||
# ======================================
|
||||
for i in $plain_files plain-large ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes $i
|
||||
$GPG --verify x
|
||||
done
|
||||
|
||||
|
||||
# ======================================
|
||||
# and one with long lines
|
||||
# ======================================
|
||||
cat >y <<EOF
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
|
||||
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
EOF
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
|
||||
$GPG --verify x
|
||||
|
||||
|
||||
# ======================================
|
||||
# and one with only one long lines
|
||||
# ======================================
|
||||
cat >y <<EOF
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx
|
||||
EOF
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
|
||||
$GPG --verify x
|
||||
|
||||
|
||||
# ======================================
|
||||
# and one with an empty body
|
||||
# ======================================
|
||||
cat >y <<EOF
|
||||
EOF
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
|
||||
$GPG --verify x
|
||||
|
||||
|
||||
# ======================================
|
||||
# and one with one empty line at the end
|
||||
# ======================================
|
||||
cat >y <<EOF
|
||||
line 1
|
||||
line 2
|
||||
line 3
|
||||
there is a blank line after this
|
||||
|
||||
EOF
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
|
||||
$GPG --verify x
|
||||
|
||||
|
||||
# ======================================
|
||||
# I think this file will be constructed wrong (gpg 0.9.3)
|
||||
# but it should verify okay anyway.
|
||||
# ======================================
|
||||
echo "this is a sig test" >y
|
||||
echo_n " " >>y
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes y
|
||||
$GPG --verify x
|
||||
|
||||
|
||||
# ======================================
|
||||
# check our special diff mode
|
||||
# ======================================
|
||||
cat >y <<EOF
|
||||
--- mainproc.c Tue Jun 27 09:28:11 2000
|
||||
+++ mainproc.c~ Thu Jun 8 22:50:25 2000
|
||||
@@ -1190,16 +1190,13 @@
|
||||
md_enable( c->mfx.md, n1->pkt->pkt.signature->digest_algo);
|
||||
}
|
||||
/* ask for file and hash it */
|
||||
- if( c->sigs_only ) {
|
||||
+ if( c->sigs_only )
|
||||
rc = hash_datafiles( c->mfx.md, NULL,
|
||||
c->signed_data, c->sigfilename,
|
||||
n1? (n1->pkt->pkt.onepass_sig->sig_class == 0x01):0 );
|
||||
EOF
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 \
|
||||
--not-dash-escaped --clearsign -o x --yes y
|
||||
$GPG --verify x
|
@ -1,44 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# We use use a lower than default value for the S2K count to run the
|
||||
# tests faster. We used a fixed value of 65536 already the past.
|
||||
s2k="--s2k-count=65536"
|
||||
|
||||
#info Checking conventional encryption
|
||||
for ciph in `all_cipher_algos`; do
|
||||
progress "$ciph"
|
||||
for i in 0 1 2 3 9 10 11 19 20 21 22 23 39 40 41 8192 32000 ; do
|
||||
# *BSD's dd can't cope with a count of 0
|
||||
if test "$i" = "0"; then
|
||||
: >z
|
||||
else
|
||||
dd if=data-80000 of=z bs=1 count=$i 2>/dev/null
|
||||
fi
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k \
|
||||
--force-mdc --cipher $ciph -c -o x --yes z
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k \
|
||||
-o y --yes x
|
||||
cmp z y || error "$ciph/$i: mismatch"
|
||||
done
|
||||
done
|
||||
progress_end
|
||||
|
||||
#info Checking sign+symencrypt
|
||||
for i in $plain_files $data_files; do
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k -cs -o x --yes $i
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k -o y --yes x
|
||||
cmp $i y || error "$i: mismatch in sign+symenc"
|
||||
done
|
||||
|
||||
|
||||
# eof
|
@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# We use use a lower than default value for the S2K count to run the
|
||||
# tests faster. We used a fixed value of 65536 already the past.
|
||||
s2k="--s2k-count=65536"
|
||||
|
||||
#info Checking conventional encryption
|
||||
for i in plain-2 data-32000 ; do
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k -c -o x --yes $i
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
for a in `all_cipher_algos`; do
|
||||
progress "$a"
|
||||
for i in plain-1 data-80000 ; do
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k \
|
||||
--cipher-algo $a -c -o x --yes $i
|
||||
echo "Hier spricht HAL" | $GPG --passphrase-fd 0 $s2k -o y --yes x
|
||||
cmp $i y || error "$i: ($a) mismatch"
|
||||
done
|
||||
done
|
||||
|
||||
progress_end
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking decryption of supplied DSA encrypted file
|
||||
for i in "plain-1" ; do
|
||||
$GPG -o y --yes $srcdir/$i-pgp.asc
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking decryption of supplied files
|
||||
for i in $plain_files ; do
|
||||
$GPG -o y --yes $srcdir/$i.asc
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,73 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#set -x
|
||||
|
||||
# Make sure $srcdir is set.
|
||||
if test "x$srcdir" = x
|
||||
then
|
||||
echo srcdir environment variable not set!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Import the sample key
|
||||
#
|
||||
# pub 1024R/8BC90111 2015-12-02
|
||||
# Key fingerprint = E657 FB60 7BB4 F21C 90BB 6651 BC06 7AF2 8BC9 0111
|
||||
# uid [ultimate] Barrett Brown <barrett@example.org>
|
||||
# sub 1024R/3E880CFF 2015-12-02 (encryption)
|
||||
# sub 1024R/F5F77B83 2015-12-02 (signing)
|
||||
# sub 1024R/45117079 2015-12-02 (encryption)
|
||||
# sub 1024R/1EA97479 2015-12-02 (signing)
|
||||
info "Importing public key."
|
||||
if $GPG --import $srcdir/samplekeys/E657FB607BB4F21C90BB6651BC067AF28BC90111.asc
|
||||
then
|
||||
:
|
||||
else
|
||||
error "$k: import failed"
|
||||
fi
|
||||
|
||||
# By default, the most recent, valid signing subkey (1EA97479).
|
||||
for x in 8BC90111 3E880CFF F5F77B83 45117079 1EA97479
|
||||
do
|
||||
info
|
||||
info "Trying --default-key $x"
|
||||
|
||||
if ! echo | $GPG --default-key "$x" -s | $GPG --verify --status-fd=1 \
|
||||
| grep 'VALIDSIG 5FBA84ACE02DCB17DA3DFF6BBCA43C441EA97479' >/dev/null
|
||||
then
|
||||
echo | $GPG --default-key "$x" -s | $GPG --verify --status-fd=2
|
||||
error "Unexpected key used for signing (not the signing subkey, specified \"$x\")."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# By default, the most recent, valid encryption subkey (45117079).
|
||||
for x in 8BC90111 3E880CFF F5F77B83 45117079 1EA97479
|
||||
do
|
||||
info
|
||||
info "Trying --default-key $x --encrypt-to-default-key"
|
||||
|
||||
# We need another recipient, because --encrypt-to-default-key is
|
||||
# not considered a recipient and gpg doesn't encrypt without any
|
||||
# recipients.
|
||||
#
|
||||
# Note: it doesn't matter whether we specify the primary key or
|
||||
# a subkey: the newest encryption subkey will be used.
|
||||
if ! echo | $GPG ${opt_always} \
|
||||
--default-key "$x" --encrypt-to-default-key \
|
||||
-r 439F02CA -e \
|
||||
| $GPG --list-packets \
|
||||
| grep "keyid[ ][A-F0-9]*45117079" >/dev/null
|
||||
then
|
||||
echo | $GPG ${opt_always} \
|
||||
--default-key "$x" --encrypt-to-default-key \
|
||||
-r 439F02CA -e \
|
||||
| $GPG --list-packets 1>&2
|
||||
error "Unexpected key used for signing (specified \"$x\")."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
@ -1,265 +0,0 @@
|
||||
# Definitions for the OpenPGP test scripts -*- sh -*-
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007, 2010 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
#--------------------------------
|
||||
#------ constants ---------------
|
||||
#--------------------------------
|
||||
|
||||
usrname1="one@example.com"
|
||||
usrpass1="def"
|
||||
usrname2="two@example.com"
|
||||
usrpass2=""
|
||||
usrname3="three@example.com"
|
||||
usrpass3=""
|
||||
|
||||
|
||||
dsa_usrname1="pgp5"
|
||||
# we use the sub key because we do not yet have the logic to to derive
|
||||
# the first encryption key from a keyblock (I guess) (Well of course
|
||||
# we have this by now and the notation below will lookup the primary
|
||||
# first and then search for the encryption subkey.)
|
||||
dsa_usrname2="0xCB879DE9"
|
||||
|
||||
|
||||
plain_files="plain-1 plain-2 plain-3"
|
||||
data_files="data-500 data-9000 data-32000 data-80000"
|
||||
exp_files=""
|
||||
|
||||
# The testscripts expect the original language
|
||||
LANG=
|
||||
LANGUAGE=
|
||||
LC_ALL=
|
||||
LC_MESSAGES=
|
||||
|
||||
# Internal use.
|
||||
defs_stop_on_error=no
|
||||
defs_error_seen=no
|
||||
defs_progress_active=no
|
||||
|
||||
#--------------------------------
|
||||
#------ utility functions -------
|
||||
#--------------------------------
|
||||
|
||||
progress_cancel () {
|
||||
if [ x$defs_progress_active = xyes ]; then
|
||||
echo
|
||||
defs_progress_active=no
|
||||
fi
|
||||
}
|
||||
|
||||
fatal () {
|
||||
progress_cancel
|
||||
echo "$pgmname: fatal:" $* >&2
|
||||
echo "$pgmname: fatal:" $* >&5
|
||||
echo stop >gnupg-test.stop
|
||||
exit 1;
|
||||
}
|
||||
|
||||
error () {
|
||||
progress_cancel
|
||||
echo "$pgmname:" $* >&2
|
||||
defs_error_seen=yes
|
||||
echo "$pgmname:" $* >&5
|
||||
if [ x$defs_stop_on_error != xyes ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Call this at the start of a test and resume_error at the end to keep
|
||||
# on running all subtests without immediately exiting on error.
|
||||
suspend_error () {
|
||||
defs_stop_on_error=yes
|
||||
}
|
||||
|
||||
resume_error () {
|
||||
if [ x$defs_error_seen = xyes ]; then
|
||||
exit 1
|
||||
fi
|
||||
defs_stop_on_error=no
|
||||
defs_error_seen=no
|
||||
}
|
||||
|
||||
info () {
|
||||
progress_cancel
|
||||
echo "$pgmname:" $* >&2
|
||||
if [ -n "${verbose+set}" ]; then
|
||||
echo "$pgmname:" $* >&5
|
||||
fi
|
||||
}
|
||||
|
||||
linefeed () {
|
||||
echo >&2
|
||||
}
|
||||
|
||||
echo_n_init=no
|
||||
echo_n () {
|
||||
if test "$echo_n_init" = "no"; then
|
||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
||||
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
||||
echo_n_n=
|
||||
echo_n_c='
|
||||
'
|
||||
else
|
||||
echo_n_n='-n'
|
||||
echo_n_c=
|
||||
fi
|
||||
else
|
||||
echo_n_n=
|
||||
echo_n_c='\c'
|
||||
fi
|
||||
echo_n_init=yes
|
||||
fi
|
||||
echo $echo_n_n "${1}$echo_n_c"
|
||||
}
|
||||
|
||||
|
||||
progress_end () {
|
||||
if [ x$defs_progress_active = xyes ]; then
|
||||
echo "<"
|
||||
defs_progress_active=no
|
||||
fi
|
||||
}
|
||||
|
||||
progress () {
|
||||
if [ x$defs_progress_active != xyes ]; then
|
||||
echo_n " > "
|
||||
defs_progress_active=yes
|
||||
fi
|
||||
echo_n "$* "
|
||||
}
|
||||
|
||||
|
||||
|
||||
#cleanup () {
|
||||
# rm $cleanup_files 2>/dev/null || true
|
||||
# echo "#empty" >./gpg.conf
|
||||
#}
|
||||
|
||||
|
||||
#add_cleanup () {
|
||||
# cleanup_files="$cleanup_files $*"
|
||||
#}
|
||||
|
||||
have_pubkey_algo () {
|
||||
if $GPG --version | grep "Pubkey:.*$1" >/dev/null
|
||||
then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
have_cipher_algo () {
|
||||
if $GPG --version | grep "Cipher:.*$1" >/dev/null
|
||||
then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
have_hash_algo () {
|
||||
if $GPG --version | grep "Hash:.*$1" >/dev/null
|
||||
then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
all_cipher_algos () {
|
||||
$GPG --with-colons --list-config ciphername \
|
||||
| sed 's/^cfg:ciphername://; s/;/ /g'
|
||||
}
|
||||
|
||||
all_hash_algos () {
|
||||
$GPG --with-colons --list-config digestname \
|
||||
| sed 's/^cfg:digestname://; s/;/ /g'
|
||||
}
|
||||
|
||||
set -e
|
||||
pgmname=`basename $0`
|
||||
#trap cleanup SIGHUP SIGINT SIGQUIT
|
||||
|
||||
[ -z "$srcdir" ] && fatal "not called from make"
|
||||
|
||||
#
|
||||
if [ -f gnupg-test.stop ]; then
|
||||
if [ $pgmname = "version.test" ]; then
|
||||
rm gnupg-test.stop
|
||||
else
|
||||
# Skip the rest of the tests.
|
||||
exit 77
|
||||
fi
|
||||
fi
|
||||
|
||||
# Always work in the current directory. We set GNUPGHOME only if it
|
||||
# has not been set already. Usually it is set through the Makefile's
|
||||
# TESTS_ENVIRONMENT macro.
|
||||
if [ -z "$GNUPGHOME" ]; then
|
||||
GNUPGHOME=`/bin/pwd`
|
||||
export GNUPGHOME
|
||||
elif [ "$GNUPGHOME" != `/bin/pwd` ]; then
|
||||
echo "$pgmname: GNUPGHOME not set to the cwd" $* >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We don't use GPG_AGENT_INFO anymore - better reset it.
|
||||
unset GPG_AGENT_INFO
|
||||
|
||||
# (--no-permission-warning makes only sense on the commandline)
|
||||
GPG="../../g10/gpg --no-permission-warning "
|
||||
# (We may not use a relative name for gpg-agent.)
|
||||
GPG_AGENT="$(cd ../../agent && /bin/pwd)/gpg-agent"
|
||||
GPG_CONNECT_AGENT="../../tools/gpg-connect-agent"
|
||||
GPGCONF="../../tools/gpgconf"
|
||||
GPG_PRESET_PASSPHRASE="../../agent/gpg-preset-passphrase"
|
||||
MKTDATA="../../tools/mk-tdata"
|
||||
PINENTRY="$(/bin/pwd)/fake-pinentry${EXEEXT}"
|
||||
# Default to empty passphrase for pinentry.sh
|
||||
PINENTRY_USER_DATA=
|
||||
|
||||
# If --check-trustdb is not an option, GPG has been build without
|
||||
# trust model support. Thus we can't use --always-trust and some
|
||||
# other options.
|
||||
if $GPG --dump-options | grep '^--check-trustdb$' >/dev/null ; then
|
||||
opt_always="--always-trust"
|
||||
else
|
||||
opt_always=
|
||||
fi
|
||||
|
||||
# Make sure we have a valid option files even with VPATH builds.
|
||||
for f in gpg.conf gpg-agent.conf ; do
|
||||
if [ -f ./$f ]; then
|
||||
:
|
||||
elif [ -f $srcdir/$f.tmpl ]; then
|
||||
cat $srcdir/$f.tmpl >$f
|
||||
case "$f" in
|
||||
gpg.conf)
|
||||
[ -n "${opt_always}" ] && echo "no-auto-check-trustdb" >>"$f"
|
||||
echo "agent-program ${GPG_AGENT}|--debug-quick-random" >>"$f"
|
||||
echo "allow-weak-digest-algos" >>"$f"
|
||||
;;
|
||||
gpg-agent.conf)
|
||||
echo "pinentry-program $PINENTRY" >>"$f"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "${verbose:-0}" -gt "1" ]; then
|
||||
exec 5>/dev/null
|
||||
else
|
||||
echo "Test: $pgmname" > ${pgmname}.log
|
||||
echo "GNUPGHOME=$GNUPGHOME" >> ${pgmname}.log
|
||||
exec 5>&2 2>>${pgmname}.log
|
||||
fi
|
||||
:
|
||||
# end
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking detached signatures
|
||||
for i in $plain_files $data_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -sb -o x --yes $i
|
||||
$GPG -o /dev/null --yes x <$i || error "$i: bad signature"
|
||||
done
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking detached signatures of multiple files
|
||||
i="$plain_files $data_files"
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -sb -o x --yes $i
|
||||
cat $i | $GPG -o /dev/null --yes x || error "$i: bad signature"
|
||||
|
@ -1,253 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2011 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
keygrips='8E06A180EFFE4C65B812150CAF19BF30C0689A4C
|
||||
E4403F3FD7A443FAC29FEF288FA0D20AC212851E
|
||||
0B7554421FFB14A06CB9F63FB49A85A58E97ABAC
|
||||
303ACC892C2D786C8A789677C0BE54DA8538F903
|
||||
9FE5C36985351524B6AFA19FDCBC1A3A750B6F5F
|
||||
145A52CC7ED3FD41C5B0A26BE220FEED36AF24DE'
|
||||
mainkeyids='BAA59D9C
|
||||
0F54719F
|
||||
45AF2FFE'
|
||||
|
||||
|
||||
if have_pubkey_algo "ECDH"; then
|
||||
:
|
||||
else
|
||||
info "No ECC support due to an old Libgcrypt"
|
||||
exit 77
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# Setup for ECC testing
|
||||
#
|
||||
info "Preparing for ECC test."
|
||||
for i in $keygrips ; do
|
||||
rm private-keys-v1.d/$i.key 2>/dev/null || true
|
||||
$GPG_PRESET_PASSPHRASE --preset -P ecc $i
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Import the sample keys
|
||||
#
|
||||
info "Importing ECC public keys."
|
||||
for k in $mainkeyids ; do
|
||||
$GPG --delete-key --batch --yes $k 2>/dev/null || true
|
||||
done
|
||||
for i in 1 2 3; do
|
||||
k="ecc-sample-$i-pub.asc"
|
||||
if $GPG --import $srcdir/samplekeys/$k; then
|
||||
:
|
||||
else
|
||||
error "$k: import failed"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Check a few sample signature
|
||||
#
|
||||
info "Checking ECC signatures."
|
||||
tests=""
|
||||
|
||||
# The following is an opaque ECDSA signature on a message "This is one
|
||||
# line\n" (17 byte long) by the primary 256 bit key:
|
||||
tests="$tests msg_opaque_signed_256"
|
||||
msg_opaque_signed_256='-----BEGIN PGP MESSAGE-----
|
||||
Version: GnuPG v2.1.0-ecc (GNU/Linux)
|
||||
|
||||
owGbwMvMwCHMvVT3w66lc+cwrlFK4k5N1k3KT6nUK6ko8Zl8MSEkI7NYAYjy81IV
|
||||
cjLzUrk64lgYhDkY2FiZQNIMXJwCMO31rxgZ+tW/zesUPxWzdKWrtLGW/LkP5rXL
|
||||
V/Yvnr/EKjBbQuvZSYa/klsum6XFmTze+maVgclT6Rc6hzqqxNy6o6qdTTmLJuvp
|
||||
AQA=
|
||||
=GDv4
|
||||
-----END PGP MESSAGE----'
|
||||
|
||||
# The following is an opaque ECDSA signature on a message "This is one
|
||||
# line\n" (17 byte long) by the primary 384 bit key:
|
||||
tests="$tests msg_opaque_signed_384"
|
||||
msg_opaque_signed_384='-----BEGIN PGP MESSAGE-----
|
||||
Version: PGP Command Line v10.0.0 (Linux)
|
||||
|
||||
qANQR1DIqwE7wsvMwCnM2WDcwR9SOJ/xtFISd25qcXFieqpeSUUJAxCEZGQWKwBR
|
||||
fl6qQk5mXirXoXJmVgbfYC5xmC5hzsDPjHXqbDLzpXpTBXSZV3L6bAgP3Kq7Ykmo
|
||||
7Ds1v4UfBS+3CSSon7Pzq79WLjzXXEH54MkjPxnrw+8cfMVnY7Bi18J702Nnsa7a
|
||||
9lMv/PM0/ao9CZ3KX7Q+Tv1rllTZ5Hj4V1frw431QnHfAA==
|
||||
=elKT
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# The following is an opaque ECDSA signature on a message "This is one
|
||||
# line\n" (17 byte long) by the primary 521 bit key:
|
||||
tests="$tests msg_opaque_signed_521"
|
||||
msg_opaque_signed_521='-----BEGIN PGP MESSAGE-----
|
||||
Version: PGP Command Line v10.0.0 (Linux)
|
||||
|
||||
qANQR1DIwA8BO8LLzMAlnO3Y8tB1vf4/xtNKSdy5qcXFiempeiUVJQxAEJKRWawA
|
||||
RPl5qQo5mXmpXIdmMLMy+AaLnoLpEubatpeJY2Lystd7Qt32q2UcvRS5kNPWtDB7
|
||||
ryufvcrWtFM7Jx8qXKDxZuqr7b9PGv1Ssk+I8TzB2O9dZC+n/jv+PAdbuu7mLe33
|
||||
Gf9pLd3weV3Qno6FOqxGa5ZszQx+uer2xH3/El9x/2pVeO4l15ScsL7qWMTmffmG
|
||||
Ic1RdzgeCfosMF+l/zVRchcLKzenEQA=
|
||||
=ATtX
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
echo 'This is one line' >z
|
||||
for msg in $tests; do
|
||||
info "checking: $msg"
|
||||
eval "(IFS=; echo \"\$$msg\")" >x
|
||||
$GPG --verify x || error "verify(1) of $msg failed"
|
||||
$GPG -o y --yes x || error "verify(2) of $msg failed"
|
||||
cmp y z || error "$msg: mismatch"
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Import the secret keys so that we now can sign and decrypt.
|
||||
#
|
||||
# Note that the PGP generated secret keys are not self-signed, thus we
|
||||
# need to pass an appropriate option.
|
||||
#
|
||||
info "Importing ECC secret keys."
|
||||
for i in 1 2 3; do
|
||||
k="ecc-sample-$i-sec.asc"
|
||||
if [ "$i" -gt "1" ]; then
|
||||
extraopts="--allow-non-selfsigned-uid"
|
||||
else
|
||||
extraopts=""
|
||||
fi
|
||||
if PINENTRY_USER_DATA=ecc $GPG $extraopts --import $srcdir/samplekeys/$k; then
|
||||
:
|
||||
else
|
||||
error "$k: import failed"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Check a few sample encrtpted messages.
|
||||
#
|
||||
info "Checking ECC encryption."
|
||||
tests=""
|
||||
|
||||
# The following block encrypts the text "This is one line\n", 17 bytes,
|
||||
# with the subkey 4089AB73.
|
||||
tests="$tests msg_encrypted_256"
|
||||
msg_encrypted_256='-----BEGIN PGP MESSAGE-----
|
||||
Version: GnuPG v2.1.0-ecc (GNU/Linux)
|
||||
|
||||
hH4Dd863o0CJq3MSAgMEHdIYZQx+rV1cjy7qitIOEICFFzp4cjsRX4r+rDdMcQUs
|
||||
h7VZmbP1c9C0s9sgCKwubWfkcYUl2ZOju4gy+s4MYTBb4/j8JjnJ9Bqn6LWutTXJ
|
||||
zwsdP13VIJLnhiNqISdR3/6xWQ0ICRYzwb95nUZ1c1DSVgFpjPgUvi4pgYbTpcDB
|
||||
jzILKWBfBDT/jck169XE8vgtbcqVQYZ7lZpaY9CzEbC+4dXZmV1gm5MafpTyFWgH
|
||||
VnyrZB4gad9Lp9e0RKHHcOOE7s/NeLuu
|
||||
=odUZ
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# The following block encrypts the text "This is one line\n", 17 bytes,
|
||||
# with the subkey 9A201946:
|
||||
tests="$tests msg_encrypted_384"
|
||||
msg_encrypted_384='-----BEGIN PGP MESSAGE-----
|
||||
Version: PGP Command Line v10.0.0 (Linux)
|
||||
|
||||
qANQR1DBngOqi5OPmiAZRhIDAwQqIr/00cJyf+QP+VA4QKVkk77KMHdz9OVaR2XK
|
||||
0VYu0F/HPm89vL2orfm2hrAZxY9G2R0PG4Wk5Lg04UjKca/O72uWtjdPYulFidmo
|
||||
uB0QpzXFz22ZZinxeVPLPEr19Pow0EwCc95cg4HAgrD0nV9vRcTJ/+juVfvsJhAO
|
||||
isMKqrFNMvwnK5A1ECeyVXe7oLZl0lUBRhLr59QTtvf85QJjg/m5kaGy8XCJvLv3
|
||||
61pZa6KUmw89PjtPak7ebcjnINL01vwmyeg1PAyW/xjeGGvcO+R4P1b4ewyFnJyR
|
||||
svzIJcP7d4DqYOw7
|
||||
=oiTJ
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# The following block encrypts the text "This is one line\n", 17 bytes,
|
||||
# with the subkey A81C4838:
|
||||
tests="$tests msg_encrypted_521"
|
||||
msg_encrypted_521='-----BEGIN PGP MESSAGE-----
|
||||
Version: PGP Command Line v10.0.0 (Linux)
|
||||
|
||||
qANQR1DBwAIDB+qqSKgcSDgSBCMEAKpzTUxB4c56C7g09ekD9I+ttC5ER/xzDmXU
|
||||
OJmFqU5w3FllhFj4TgGxxdH+8fv4W2Ag0IKoJvIY9V1V7oUCClfqAR01QbN7jGH/
|
||||
I9GFFnH19AYEgMKgFmh14ZwN1BS6/VHh+H4apaYqapbx8/09EL+DV9zWLX4GRLXQ
|
||||
VqCR1N2rXE29MJFzGmDOCueQNkUjcbuenoCSKcNT+6xhO27U9IYVCg4BhRUDGfD6
|
||||
dhfRzBLxL+bKR9JVAe46+K8NLjRVu/bd4Iounx4UF5dBk8ERy+/8k9XantDoQgo6
|
||||
RPqCad4Dg/QqkpbK3y574ds3VFNJmc4dVpsXm7lGV5w0FBxhVNPoWNhhECMlTroX
|
||||
Rg==
|
||||
=5GqW
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
echo 'This is one line' >z
|
||||
for msg in $tests; do
|
||||
info "checking: $msg"
|
||||
eval "(IFS=; echo \"\$$msg\")" >x
|
||||
PINENTRY_USER_DATA=ecc $GPG -o y --yes x || error "decryption of $msg failed"
|
||||
cmp y z || error "$msg: mismatch"
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Now check that we can encrypt and decrypt our own messages.
|
||||
#
|
||||
# Note that we don't need to provide a passppharse because we already
|
||||
# preset the passphrase into the gpg-agent.
|
||||
#
|
||||
info "Checking ECC encryption and decryption."
|
||||
for i in $plain_files $data_files ; do
|
||||
for k in $mainkeyids ; do
|
||||
info "file: $i key: $k"
|
||||
$GPG ${opt_always} -e -o x --yes -r $k $i
|
||||
PINENTRY_USER_DATA=ecc $GPG -o y --yes x
|
||||
cmp $i y || error "$i,$k: mismatch"
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Now check that we can sign and verify our own messages.
|
||||
#
|
||||
info "Checking ECC signing and verifiction."
|
||||
for i in $plain_files $data_files ; do
|
||||
for k in $mainkeyids ; do
|
||||
info "file: $i key: $k"
|
||||
PINENTRY_USER_DATA=ecc $GPG -s -o x --yes -u $k $i
|
||||
$GPG -o y --yes x || error "verify of $i,$k failed"
|
||||
cmp $i y || error "$i,$k: mismatch"
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# Let us also try to import the keys only from a secret keyblock.
|
||||
#
|
||||
# Because PGP does not sign the UID, it is not very useful to work
|
||||
# with this key unless we go into the trouble of adding the
|
||||
# self-signature.
|
||||
#
|
||||
info "Importing ECC secret keys directly."
|
||||
for i in $keygrips ; do
|
||||
rm private-keys-v1.d/$i.key 2>/dev/null || true
|
||||
done
|
||||
for k in $mainkeyids ; do
|
||||
$GPG --delete-key --batch --yes $k 2>/dev/null || true
|
||||
done
|
||||
for i in 1 2 3; do
|
||||
k="ecc-sample-$i-sec.asc"
|
||||
if [ "$i" -gt "1" ]; then
|
||||
extraopts="--allow-non-selfsigned-uid"
|
||||
else
|
||||
extraopts=""
|
||||
fi
|
||||
if PINENTRY_USER_DATA=ecc $GPG $extraopts --import $srcdir/samplekeys/$k; then
|
||||
:
|
||||
else
|
||||
error "$k: import failed"
|
||||
fi
|
||||
done
|
@ -1,30 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking encryption
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -e -o x --yes -r "$dsa_usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
for ca in `all_cipher_algos` ; do
|
||||
progress "$ca"
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} --cipher-algo $ca -e \
|
||||
-o x --yes -r "$dsa_usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
done
|
||||
|
||||
progress_end
|
@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking encryption
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -e -o x --yes -r "$usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
echo_n " > "
|
||||
for ca in `all_cipher_algos` ; do
|
||||
echo_n "$ca "
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -e -o x --yes -r "$usrname2" --cipher-algo $ca $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
done
|
||||
echo "<"
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking encryption with a pipe
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -e --yes -r "$usrname2" <$i | $GPG --yes > y
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,110 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
check_exported_public_key()
|
||||
{
|
||||
$GPG --list-packets $1 >$1.packets
|
||||
grep '^:public key packet:' $1.packets >/dev/null
|
||||
grep "^ keyid: .*$KEY$" $1.packets >/dev/null
|
||||
grep '^:user ID packet:' $1.packets >/dev/null
|
||||
grep "^:signature packet:.*keyid.*$KEY" $1.packets >/dev/null
|
||||
rm $1.packets
|
||||
}
|
||||
|
||||
check_armored_public_key()
|
||||
{
|
||||
grep '^-----BEGIN PGP PUBLIC KEY BLOCK-----$' $1 >/dev/null
|
||||
grep '^-----END PGP PUBLIC KEY BLOCK-----$' $1 >/dev/null
|
||||
check_exported_public_key $1
|
||||
}
|
||||
|
||||
check_exported_private_key()
|
||||
{
|
||||
$GPG --list-packets $1 >$1.packets
|
||||
grep '^:secret key packet:' $1.packets >/dev/null
|
||||
grep "^ keyid: .*$KEY$" $1.packets >/dev/null
|
||||
grep '^:user ID packet:' $1.packets >/dev/null
|
||||
grep "^:signature packet:.*keyid.*$KEY" $1.packets >/dev/null
|
||||
rm $1.packets
|
||||
}
|
||||
|
||||
check_armored_private_key()
|
||||
{
|
||||
grep '^-----BEGIN PGP PRIVATE KEY BLOCK-----$' $1 >/dev/null
|
||||
grep '^-----END PGP PRIVATE KEY BLOCK-----$' $1 >/dev/null
|
||||
check_exported_private_key $1
|
||||
}
|
||||
|
||||
logfile="`pwd`/pinentry.log"
|
||||
ppfile="`pwd`/passphrases"
|
||||
rm -f -- $logfile $ppfile
|
||||
touch $ppfile
|
||||
|
||||
prepare_passphrase()
|
||||
{
|
||||
echo $* >>$ppfile
|
||||
}
|
||||
|
||||
prepare_passphrase_confirm()
|
||||
{
|
||||
echo "fake-entry being started to CONFIRM the weak phrase" >>$ppfile
|
||||
}
|
||||
|
||||
assert_passphrases_consumed()
|
||||
{
|
||||
if test -s $ppfile; then
|
||||
echo "Expected $ppfile to be empty, but these are enqueued:" >&2
|
||||
cat "$ppfile" >&2
|
||||
exit 1
|
||||
fi
|
||||
rm -f -- $logfile
|
||||
}
|
||||
|
||||
export PINENTRY_USER_DATA="--logfile=$logfile --passphrasefile=$ppfile"
|
||||
|
||||
info "Checking key export."
|
||||
for KEY in D74C5F22 C40FDECF ECABF51D
|
||||
do
|
||||
progress $KEY
|
||||
|
||||
$GPG --export $KEY >$KEY.public
|
||||
check_exported_public_key $KEY.public
|
||||
rm $KEY.public
|
||||
|
||||
$GPG --armor --export $KEY >$KEY.public
|
||||
check_armored_public_key $KEY.public
|
||||
rm $KEY.public
|
||||
|
||||
# test without --armor:
|
||||
|
||||
if [ $KEY = D74C5F22 ]; then
|
||||
# Key D74C5F22 is protected by a passphrase. Prepare this
|
||||
# one. Currently, GnuPG does not ask for an export passphrase
|
||||
# in this case.
|
||||
prepare_passphrase "$usrpass1"
|
||||
fi
|
||||
|
||||
$GPG --export-secret-keys $KEY >$KEY.private
|
||||
check_exported_private_key $KEY.private
|
||||
rm $KEY.private
|
||||
|
||||
assert_passphrases_consumed
|
||||
|
||||
# test with --armor:
|
||||
|
||||
if [ $KEY = D74C5F22 ]; then
|
||||
# Key D74C5F22 is protected by a passphrase. Prepare this
|
||||
# one. Currently, GnuPG does not ask for an export passphrase
|
||||
# in this case.
|
||||
prepare_passphrase "$usrpass1"
|
||||
fi
|
||||
|
||||
$GPG --armor --export-secret-keys $KEY >$KEY.private
|
||||
check_armored_private_key $KEY.private
|
||||
rm $KEY.private
|
||||
|
||||
assert_passphrases_consumed
|
||||
done
|
||||
|
||||
progress_end
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2010 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
if $GPG_AGENT --quiet; then
|
||||
$GPG_CONNECT_AGENT killagent /bye >/dev/null
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
@ -1,41 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
$GPG --quiet --batch --gen-key <<EOF
|
||||
Key-Type: DSA
|
||||
Key-Length: 1024
|
||||
Subkey-Type: ELG
|
||||
Subkey-Length: 1024
|
||||
Name-Real: Harry H.
|
||||
Name-Comment: test key
|
||||
Name-Email: hh@@ddorf.de
|
||||
Expire-Date: 1
|
||||
%no-protection
|
||||
%transient-key
|
||||
%commit
|
||||
EOF
|
||||
|
||||
if have_pubkey_algo "RSA"; then
|
||||
$GPG --quiet --batch --gen-key <<EOF
|
||||
Key-Type: RSA
|
||||
Key-Length: 1024
|
||||
Key-Usage: sign,encrypt
|
||||
Name-Real: Harry A.
|
||||
Name-Comment: RSA test key
|
||||
Name-Email: hh@@ddorf.de
|
||||
Expire-Date: 2
|
||||
%no-protection
|
||||
%transient-key
|
||||
%commit
|
||||
EOF
|
||||
fi
|
||||
|
@ -1,126 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
#set -x
|
||||
|
||||
# Make sure $srcdir is set.
|
||||
if test "x$srcdir" = x
|
||||
then
|
||||
echo srcdir environment variable not set!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
set -e
|
||||
|
||||
# Make sure $GNUPGHOME is set.
|
||||
if test "x$GNUPGHOME" = x
|
||||
then
|
||||
echo "GNUPGHOME not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TESTFILES="$plain_files $data_files"
|
||||
|
||||
TESTDIR=gpgtar.d
|
||||
FILELIST="${TESTDIR}/filelist"
|
||||
PPFILE="${TESTDIR}/passphrase"
|
||||
PPFLAGS="--gpg-args --passphrase-file=$PPFILE"
|
||||
|
||||
GPG=../../g10/gpg
|
||||
GPGARGS="$opt_always --no-permission-warning"
|
||||
|
||||
GPGTAR="../../tools/gpgtar"
|
||||
GPGZIP="sh ../../tools/gpg-zip"
|
||||
|
||||
# Skip test if gpgtar has not been built.
|
||||
if ! test -x "$GPGTAR"
|
||||
then
|
||||
exit 77
|
||||
fi
|
||||
|
||||
# Create, inspect, and extract an archive with the given options.
|
||||
#
|
||||
# $1 the tool to test
|
||||
# $2 options used to create the archive
|
||||
# $3 options used to inspect the archive
|
||||
# $4 options used to extract the archive
|
||||
do_test()
|
||||
{
|
||||
(
|
||||
TOOL="$1"
|
||||
CREATE_FLAGS="$2"
|
||||
INSPECT_FLAGS="$3"
|
||||
EXTRACT_FLAGS="$4"
|
||||
|
||||
rm -rf -- "${TESTDIR}"
|
||||
mkdir "${TESTDIR}"
|
||||
echo frob >"$PPFILE"
|
||||
|
||||
$TOOL --gpg "$GPG" --gpg-args "$GPGARGS" $CREATE_FLAGS \
|
||||
--output "${TESTDIR}/test.tar.pgp" $TESTFILES
|
||||
|
||||
$TOOL --gpg "$GPG" --gpg-args "$GPGARGS" $INSPECT_FLAGS \
|
||||
"${TESTDIR}/test.tar.pgp" \
|
||||
>"$FILELIST"
|
||||
for F in $TESTFILES
|
||||
do
|
||||
awk '{print $NF}' "$FILELIST" | grep "^${F}$" >/dev/null
|
||||
done
|
||||
|
||||
$TOOL --gpg "$GPG" --gpg-args "$GPGARGS" $EXTRACT_FLAGS --quiet \
|
||||
--tar-args --directory="${TESTDIR}" \
|
||||
"${TESTDIR}/test.tar.pgp"
|
||||
for F in $TESTFILES
|
||||
do
|
||||
cmp "$F" "${TESTDIR}/$F"
|
||||
done
|
||||
)
|
||||
}
|
||||
|
||||
for TOOL in "$GPGTAR" "$GPGZIP"
|
||||
#for TOOL in "$GPGZIP"
|
||||
do
|
||||
# Asymmetric encryption.
|
||||
do_test "$TOOL" \
|
||||
"--encrypt --recipient $usrname2" \
|
||||
"--list-archive" \
|
||||
"--decrypt"
|
||||
|
||||
# Asymmetric encryption and signing.
|
||||
do_test "$TOOL" \
|
||||
"--encrypt --recipient $usrname2 --sign --local-user $usrname3" \
|
||||
"--list-archive" \
|
||||
"--decrypt"
|
||||
|
||||
# Signing only.
|
||||
do_test "$TOOL" \
|
||||
"--sign --local-user $usrname3" \
|
||||
"--list-archive" \
|
||||
"--decrypt"
|
||||
|
||||
# Symmetric encryption.
|
||||
do_test "$TOOL" \
|
||||
"${PPFLAGS} --symmetric" \
|
||||
"${PPFLAGS} --list-archive" \
|
||||
"${PPFLAGS} --decrypt"
|
||||
|
||||
# Symmetric encryption, explicitly choose cipher.
|
||||
for a in `all_cipher_algos`; do
|
||||
do_test "$TOOL" \
|
||||
"${PPFLAGS} --gpg-args --cipher=$a --symmetric" \
|
||||
"${PPFLAGS} --list-archive" \
|
||||
"${PPFLAGS} --decrypt"
|
||||
break
|
||||
done
|
||||
|
||||
# Asymmetric and symmetric encryption, and signing.
|
||||
do_test "$TOOL" \
|
||||
"${PPFLAGS} --encrypt --symmetric --recipient $usrname2 --sign --local-user $usrname3" \
|
||||
"${PPFLAGS} --list-archive" \
|
||||
"${PPFLAGS} --decrypt"
|
||||
done
|
||||
|
||||
# Success!
|
||||
|
||||
exit 0
|
@ -1,48 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2008 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
i=$srcdir/bug894-test.asc
|
||||
info "Checking bug 894: segv importing certain keys."
|
||||
if $GPG --import $i; then
|
||||
:
|
||||
else
|
||||
error "$i: import failed (bug 894)"
|
||||
fi
|
||||
|
||||
|
||||
boguskey=$srcdir/bug1223-bogus.asc
|
||||
goodkey=$srcdir/bug1223-good.asc
|
||||
keyid=0xC108E83A
|
||||
info "Checking bug 1223: designated revoker sigs are not properly merged."
|
||||
$GPG --delete-key --batch --yes $keyid 2>/dev/null || true
|
||||
$GPG --import $boguskey || true
|
||||
$GPG --import $goodkey || true
|
||||
if $GPG --list-keys --with-colons $keyid \
|
||||
| grep '^rvk:.*:0EE5BE979282D80B9F7540F1CCD2ED94D21739E9:' >/dev/null; then
|
||||
:
|
||||
else
|
||||
error "$goodkey: import failed (bug 1223)"
|
||||
fi
|
||||
|
||||
|
||||
key1=$srcdir/samplekeys/dda252ebb8ebe1af-1.asc
|
||||
key2=$srcdir/samplekeys/dda252ebb8ebe1af-2.asc
|
||||
fpr1=9E669861368BCA0BE42DAF7DDDA252EBB8EBE1AF
|
||||
fpr2=A55120427374F3F7AA5F1166DDA252EBB8EBE1AF
|
||||
info "Checking import of two keys with colliding long key ids."
|
||||
$GPG --delete-key --batch --yes $fpr1 $fpr2 2>/dev/null || true
|
||||
$GPG --import $key1 || true
|
||||
$GPG --import $key2 || true
|
||||
n=$($GPG --list-keys --with-colons $fpr1 $fpr2 2>/dev/null \
|
||||
| grep '^pub:.:4096:1:DDA252EBB8EBE1AF:' | wc -l)
|
||||
if [ $n -ne 2 ] ; then
|
||||
error "Importing keys with long id collision failed"
|
||||
fi
|
@ -1,89 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
|
||||
test_one () {
|
||||
if [ "`grep $1 y | sed -e 's/:[^:]*:\(.*\):/\1/'`" != "$2" ]; then
|
||||
failed="$failed $1"
|
||||
fi
|
||||
}
|
||||
|
||||
failed=""
|
||||
|
||||
#info Checking message digests
|
||||
cat /dev/null | $GPG --with-colons --print-mds >y
|
||||
# MD5
|
||||
if have_hash_algo "MD5"; then
|
||||
test_one ":1:" "D41D8CD98F00B204E9800998ECF8427E"
|
||||
else
|
||||
echo " > Hash algorithm MD5 is not installed (not an error)"
|
||||
fi
|
||||
# SHA-1
|
||||
test_one ":2:" "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"
|
||||
# RMD160
|
||||
if have_hash_algo "RIPEMD160"; then
|
||||
test_one ":3:" "9C1185A5C5E9FC54612808977EE8F548B2258D31"
|
||||
else
|
||||
echo "Hash algorithm RIPEMD160 is not installed (not an error)"
|
||||
fi
|
||||
# SHA-224
|
||||
if have_hash_algo "SHA224"; then
|
||||
test_one ":11:" "D14A028C2A3A2BC9476102BB288234C415A2B01F828EA62AC5B3E42F"
|
||||
else
|
||||
echo "Hash algorithm SHA-224 is not installed (not an error)"
|
||||
fi
|
||||
# SHA-256
|
||||
if have_hash_algo "SHA256"; then
|
||||
test_one ":8:" "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
|
||||
else
|
||||
echo "Hash algorithm SHA-256 is not installed (not an error)"
|
||||
fi
|
||||
# SHA-384
|
||||
if have_hash_algo "SHA384"; then
|
||||
test_one ":9:" "38B060A751AC96384CD9327EB1B1E36A21FDB71114BE07434C0CC7BF63F6E1DA274EDEBFE76F65FBD51AD2F14898B95B"
|
||||
else
|
||||
echo "Hash algorithm SHA-384 is not installed (not an error)"
|
||||
fi
|
||||
# SHA-512
|
||||
if have_hash_algo "SHA512"; then
|
||||
test_one ":10:" "CF83E1357EEFB8BDF1542850D66D8007D620E4050B5715DC83F4A921D36CE9CE47D0D13C5D85F2B0FF8318D2877EEC2F63B931BD47417A81A538327AF927DA3E"
|
||||
else
|
||||
echo "Hash algorithm SHA-512 is not installed (not an error)"
|
||||
fi
|
||||
|
||||
[ "$failed" != "" ] && error "$failed failed for empty string"
|
||||
|
||||
echo_n "abcdefghijklmnopqrstuvwxyz" | $GPG --with-colons --print-mds >y
|
||||
if have_hash_algo "MD5"; then
|
||||
test_one ":1:" "C3FCD3D76192E4007DFB496CCA67E13B"
|
||||
fi
|
||||
test_one ":2:" "32D10C7B8CF96570CA04CE37F2A19D84240D3A89"
|
||||
if have_hash_algo "RIPEMD160"; then
|
||||
test_one ":3:" "F71C27109C692C1B56BBDCEB5B9D2865B3708DBC"
|
||||
fi
|
||||
if have_hash_algo "SHA224"; then
|
||||
test_one ":11:" "45A5F72C39C5CFF2522EB3429799E49E5F44B356EF926BCF390DCCC2"
|
||||
fi
|
||||
if have_hash_algo "SHA256"; then
|
||||
test_one ":8:" "71C480DF93D6AE2F1EFAD1447C66C9525E316218CF51FC8D9ED832F2DAF18B73"
|
||||
fi
|
||||
if have_hash_algo "SHA384"; then
|
||||
test_one ":9:" "FEB67349DF3DB6F5924815D6C3DC133F091809213731FE5C7B5F4999E463479FF2877F5F2936FA63BB43784B12F3EBB4"
|
||||
fi
|
||||
if have_hash_algo "SHA512"; then
|
||||
test_one ":10:" "4DBFF86CC2CA1BAE1E16468A05CB9881C97F1753BCE3619034898FAA1AABE429955A1BF8EC483D7421FE3C1646613A59ED5441FB0F321389F77F48A879C7B1F1"
|
||||
fi
|
||||
|
||||
[ "$failed" != "" ] && error "$failed failed for a..z"
|
||||
|
||||
exit 0
|
@ -1,154 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
# Check that gpg verifies only signatures where there is no ambiguity
|
||||
# in the order of packets. Needs the Demo Keys Lima and Mike.
|
||||
|
||||
# Note: We do son't support multiple signatures anymore thus this test is
|
||||
# not really needed because verify could do the same. We keep it anyway.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
suspend_error
|
||||
|
||||
|
||||
|
||||
sig_1ls1ls_valid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
kA0DAAIRN8q1H7eRA/gBrCdiBXRleHQxOogq9EkgYW0gc29ycnksIEkgY2FuJ3Qg
|
||||
ZG8gdGhhdAqIPwMFADqIKvQ3yrUft5ED+BEC2joAoJaSaXOZEtSZqQ780HIXG77e
|
||||
8PB7AJ4wCprmaFTO0fBaTcXDuEOBdAWnOZANAwACETfKtR+3kQP4AawnYgV0ZXh0
|
||||
MTqIKvRJIGFtIHNvcnJ5LCBJIGNhbid0IGRvIHRoYXQKiD8DBQA6iCr0N8q1H7eR
|
||||
A/gRAto6AKCWkmlzmRLUmakO/NByFxu+3vDwewCeMAqa5mhUztHwWk3Fw7hDgXQF
|
||||
pzk=
|
||||
=8jSC
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_ls_valid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
rCdiBXRleHQxOogrS0kgYW0gc29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqI
|
||||
K0s3yrUft5ED+BECLQMAn2jZUNOpB4OuurSQkc2TRfg6ek02AJ9+oJS0frQ+yUsT
|
||||
QDUFTH2PvZRxjw==
|
||||
=J+lb
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_sl_valid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
iD8DBQA6iCtLN8q1H7eRA/gRAi0DAJ9o2VDTqQeDrrq0kJHNk0X4OnpNNgCffqCU
|
||||
tH60PslLE0A1BUx9j72UcY+sJ2IFdGV4dDE6iCtLSSBhbSBzb3JyeSwgSSBjYW4n
|
||||
dCBkbyB0aGF0Cg==
|
||||
=N9MP
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_11lss_valid_but_is_not='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
kA0DAAIRN8q1H7eRA/gAkA0DAAIRN8q1H7eRA/gBrCdiBXRleHQxOogyXUkgYW0g
|
||||
c29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqIMl03yrUft5ED+BECwQAAnRXT
|
||||
mXjVd385oD38W80XuheWKTGcAJ9pZ6/flaKDfw+SLido7xaUHuhp5Yg/AwUAOogy
|
||||
XTfKtR+3kQP4EQLBAACgnN0IP+NztE0aAc/DZ17yHWR9diwAniN0P01WmbgZJoZB
|
||||
Q341WRXKS/at
|
||||
=Ekrs
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_11lss11lss_valid_but_is_not='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
kA0DAAIRN8q1H7eRA/gAkA0DAAIRN8q1H7eRA/gBrCdiBXRleHQxOogyXUkgYW0g
|
||||
c29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqIMl03yrUft5ED+BECwQAAnRXT
|
||||
mXjVd385oD38W80XuheWKTGcAJ9pZ6/flaKDfw+SLido7xaUHuhp5Yg/AwUAOogy
|
||||
XTfKtR+3kQP4EQLBAACgnN0IP+NztE0aAc/DZ17yHWR9diwAniN0P01WmbgZJoZB
|
||||
Q341WRXKS/atkA0DAAIRN8q1H7eRA/gAkA0DAAIRN8q1H7eRA/gBrCdiBXRleHQx
|
||||
OogyXUkgYW0gc29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqIMl03yrUft5ED
|
||||
+BECwQAAnRXTmXjVd385oD38W80XuheWKTGcAJ9pZ6/flaKDfw+SLido7xaUHuhp
|
||||
5Yg/AwUAOogyXTfKtR+3kQP4EQLBAACgnN0IP+NztE0aAc/DZ17yHWR9diwAniN0
|
||||
P01WmbgZJoZBQ341WRXKS/at
|
||||
=P1Mu
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_ssl_valid_but_is_not='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
iD8DBQA6iCtLN8q1H7eRA/gRAi0DAJ9o2VDTqQeDrrq0kJHNk0X4OnpNNgCffqCU
|
||||
tH60PslLE0A1BUx9j72UcY+IPwMFADqIK0s3yrUft5ED+BECLQMAn2jZUNOpB4Ou
|
||||
urSQkc2TRfg6ek02AJ9+oJS0frQ+yUsTQDUFTH2PvZRxj6wnYgV0ZXh0MTqIK0tJ
|
||||
IGFtIHNvcnJ5LCBJIGNhbid0IGRvIHRoYXQK
|
||||
=Zven
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_1lsls_invalid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
kA0DAAIRN8q1H7eRA/gBrCdiBXRleHQxOogq9EkgYW0gc29ycnksIEkgY2FuJ3Qg
|
||||
ZG8gdGhhdAqIPwMFADqIKvQ3yrUft5ED+BEC2joAoJaSaXOZEtSZqQ780HIXG77e
|
||||
8PB7AJ4wCprmaFTO0fBaTcXDuEOBdAWnOawnYgV0ZXh0MTqIK0tJIGFtIHNvcnJ5
|
||||
LCBJIGNhbid0IGRvIHRoYXQKiD8DBQA6iCtLN8q1H7eRA/gRAi0DAJ9o2VDTqQeD
|
||||
rrq0kJHNk0X4OnpNNgCffqCUtH60PslLE0A1BUx9j72UcY8=
|
||||
=nkeu
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_lsls_invalid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
rCdiBXRleHQxOogrS0kgYW0gc29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqI
|
||||
K0s3yrUft5ED+BECLQMAn2jZUNOpB4OuurSQkc2TRfg6ek02AJ9+oJS0frQ+yUsT
|
||||
QDUFTH2PvZRxj6wnYgV0ZXh0MTqIK0tJIGFtIHNvcnJ5LCBJIGNhbid0IGRvIHRo
|
||||
YXQKiD8DBQA6iCtLN8q1H7eRA/gRAi0DAJ9o2VDTqQeDrrq0kJHNk0X4OnpNNgCf
|
||||
fqCUtH60PslLE0A1BUx9j72UcY8=
|
||||
=BlZH
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_lss_invalid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
rCdiBXRleHQxOogrS0kgYW0gc29ycnksIEkgY2FuJ3QgZG8gdGhhdAqIPwMFADqI
|
||||
K0s3yrUft5ED+BECLQMAn2jZUNOpB4OuurSQkc2TRfg6ek02AJ9+oJS0frQ+yUsT
|
||||
QDUFTH2PvZRxj4g/AwUAOogrSzfKtR+3kQP4EQItAwCfaNlQ06kHg666tJCRzZNF
|
||||
+Dp6TTYAn36glLR+tD7JSxNANQVMfY+9lHGP
|
||||
=jmt6
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
sig_slsl_invalid='
|
||||
-----BEGIN PGP ARMORED FILE-----
|
||||
|
||||
iD8DBQA6iCtLN8q1H7eRA/gRAi0DAJ9o2VDTqQeDrrq0kJHNk0X4OnpNNgCffqCU
|
||||
tH60PslLE0A1BUx9j72UcY+sJ2IFdGV4dDE6iCtLSSBhbSBzb3JyeSwgSSBjYW4n
|
||||
dCBkbyB0aGF0Cog/AwUAOogrSzfKtR+3kQP4EQItAwCfaNlQ06kHg666tJCRzZNF
|
||||
+Dp6TTYAn36glLR+tD7JSxNANQVMfY+9lHGPrCdiBXRleHQxOogrS0kgYW0gc29y
|
||||
cnksIEkgY2FuJ3QgZG8gdGhhdAo=
|
||||
=phBF
|
||||
-----END PGP ARMORED FILE-----
|
||||
'
|
||||
|
||||
|
||||
for i in sig_sl_valid ; do
|
||||
eval "(IFS=; echo \"\$$i\")" | $GPG --dearmor >x
|
||||
$GPG --verify x 2>/dev/null || error "valid is invalid ($i)"
|
||||
linefeed
|
||||
done
|
||||
#for i in "$sig_11lss_valid_but_is_not" "$sig_11lss11lss_valid_but_is_not" \
|
||||
# "$sig_ssl_valid_but_is_not"; do
|
||||
# echo "$i" | $GPG --dearmor >x
|
||||
# $GPG --verify <x 2>/dev/null || error "valid is invalid"
|
||||
#done
|
||||
|
||||
for i in sig_1ls1ls_valid sig_ls_valid \
|
||||
sig_1lsls_invalid sig_lsls_invalid \
|
||||
sig_lss_invalid sig_slsl_invalid ; do
|
||||
eval "(IFS=; echo \"\$$i\")" | $GPG --dearmor >x
|
||||
$GPG --verify <x 2>/dev/null && error "invalid is valid ($i)"
|
||||
linefeed
|
||||
done
|
||||
|
||||
|
||||
resume_error
|
@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2011 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
echo "OK - what's up?"
|
||||
while read cmd rest; do
|
||||
echo "cmd=$cmd rest=$rest" >&2
|
||||
case "$cmd" in
|
||||
\#*)
|
||||
;;
|
||||
GETPIN)
|
||||
echo "D ${PINENTRY_USER_DATA}"
|
||||
echo "OK"
|
||||
;;
|
||||
BYE)
|
||||
echo "OK"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "OK"
|
||||
;;
|
||||
esac
|
||||
done
|
@ -1,70 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2016 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
export PINENTRY_USER_DATA=test
|
||||
|
||||
alpha="Alpha <alpha@example.net>"
|
||||
bravo="Bravo <bravo@example.net>"
|
||||
|
||||
$GPG --with-colons --with-fingerprint --list-secret-keys ="$alpha" &&
|
||||
error "User ID '$alpha'exists when it should not!"
|
||||
$GPG --with-colons --with-fingerprint --list-secret-keys ="$bravo" &&
|
||||
error "User ID '$bravo' exists when it should not!"
|
||||
|
||||
#info verify that key creation works
|
||||
$GPG --quick-gen-key "$alpha" || \
|
||||
error "failed to generate key"
|
||||
|
||||
fpr=$($GPG --with-colons --with-fingerprint --list-secret-keys ="$alpha" | \
|
||||
grep '^fpr:' | cut -f10 -d: | head -n1)
|
||||
|
||||
$GPG --check-trustdb
|
||||
|
||||
cleanup() {
|
||||
$GPG --batch --yes --delete-secret-key "0x$fpr"
|
||||
$GPG --batch --yes --delete-key "0x$fpr"
|
||||
}
|
||||
|
||||
count_uids_of_secret() {
|
||||
if ! [ $($GPG --with-colons --list-secret-keys ="$1" | \
|
||||
grep -c '^uid:u:') = "$2" ] ; then
|
||||
cleanup
|
||||
error "wrong number of user IDs for '$1' after $3"
|
||||
fi
|
||||
}
|
||||
|
||||
count_uids_of_secret "$alpha" 1 "key generation"
|
||||
|
||||
#info verify that we can add a user ID
|
||||
if ! $GPG --quick-adduid ="$alpha" "$bravo" ; then
|
||||
cleanup
|
||||
error "failed to add user id"
|
||||
fi
|
||||
|
||||
$GPG --check-trustdb
|
||||
|
||||
count_uids_of_secret "$alpha" 2 "adding User ID"
|
||||
count_uids_of_secret "$bravo" 2 "adding User ID"
|
||||
|
||||
#info verify that we can revoke a user ID
|
||||
if ! $GPG --quick-revuid ="$bravo" "$alpha"; then
|
||||
cleanup
|
||||
error "failed to revoke user id"
|
||||
fi
|
||||
|
||||
$GPG --check-trustdb
|
||||
|
||||
count_uids_of_secret "$bravo" 1 "revoking user ID"
|
||||
|
||||
cleanup
|
||||
|
||||
! $GPG --with-colons --list-secret-keys ="$bravo" ||
|
||||
error "key still exists when it should not!"
|
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
for i in $plain_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 ${opt_always} -seat \
|
||||
-r two@example.com -o x --yes $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking signing and encryption for DSA
|
||||
for i in $plain_files $data_files ; do
|
||||
$GPG ${opt_always} -se -o x --yes \
|
||||
-u "$dsa_usrname1" -r "$dsa_usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
algos="sha1"
|
||||
if have_hash_algo "RIPEMD160"; then
|
||||
algos="ripemd160 $algos"
|
||||
else
|
||||
echo "Hash algorithm RIPEMD160 is not installed (not an error)"
|
||||
fi
|
||||
|
||||
for da in $algos; do
|
||||
for i in $plain_files; do
|
||||
$GPG ${opt_always} -se -o x --yes --digest-algo $da \
|
||||
-u "$dsa_usrname1" -r "$dsa_usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
# process only the first one
|
||||
break
|
||||
done
|
||||
done
|
@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
|
||||
info "Checking signing and encryption"
|
||||
for i in $plain_files $data_files ; do
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 ${opt_always} \
|
||||
-se -o x --yes -r "$usrname2" $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
i=$srcdir/bug537-test.data.asc
|
||||
info "Checking bug 537: MDC problem with old style compressed packets."
|
||||
echo "$usrpass1" | $GPG --passphrase-fd 0 -o y --yes $i
|
||||
tmp=`$GPG --with-colons --print-md sha1 <y`
|
||||
if [ "$tmp" != ":2:4336AE2A528FAE091E73E59E325B588FEE795F9B:" ]; then
|
||||
error "$i: mismatch (bug 537)"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
#info Checking DSA signatures (default digest algo)
|
||||
for i in $plain_files $data_files; do
|
||||
$GPG -s -o x --yes -u $dsa_usrname1 $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
algos="sha1"
|
||||
if have_hash_algo "RIPEMD160"; then
|
||||
algos="ripemd160 $algos"
|
||||
else
|
||||
echo "Hash algorithm RIPEMD160 is not installed (not an error)"
|
||||
fi
|
||||
|
||||
for da in $algos; do
|
||||
for i in $plain_files; do
|
||||
$GPG --digest-algo $da -s -o x --yes -u $dsa_usrname1 $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
# process only the first one
|
||||
break
|
||||
done
|
||||
done
|
||||
|
@ -1,46 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
for i in $plain_files $data_files; do
|
||||
$GPG -s -o x --yes $i
|
||||
$GPG -o y --yes x
|
||||
cmp $i y || error "$i: mismatch"
|
||||
done
|
||||
|
||||
for da in `all_hash_algos` ; do
|
||||
progress "$da"
|
||||
|
||||
# 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
|
||||
cmp $i y || error "$i: mismatch"
|
||||
# process only the first one
|
||||
break
|
||||
done
|
||||
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
|
||||
|
||||
progress_end
|
@ -1,248 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# set -x
|
||||
|
||||
# Redefine GPG with a fixed time.
|
||||
GPG="$GPG --faked-system-time=1466684990"
|
||||
|
||||
KEYS="2183839A BC15C85A EE37CF96"
|
||||
|
||||
# Make sure $srcdir is set.
|
||||
if test "x$srcdir" = x
|
||||
then
|
||||
echo srcdir environment variable not set!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make sure $GNUPGHOME is set.
|
||||
if test "x$GNUPGHOME" = x
|
||||
then
|
||||
echo "GNUPGHOME not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Import the test keys.
|
||||
$GPG --import $srcdir/tofu-keys.asc
|
||||
|
||||
# Make sure the keys are imported.
|
||||
for k in $KEYS
|
||||
do
|
||||
if ! $GPG --list-keys $k >/dev/null 2>&1
|
||||
then
|
||||
echo Missing key $k
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
format=auto
|
||||
|
||||
debug()
|
||||
{
|
||||
echo "$@" >&2
|
||||
}
|
||||
|
||||
debug_exec()
|
||||
{
|
||||
debug "Running GNUPGHOME=$GNUPGHOME $@"
|
||||
${@:+"$@"}
|
||||
}
|
||||
|
||||
# $1 is the keyid of the policy to lookup. Any remaining arguments
|
||||
# are simply passed to GPG.
|
||||
#
|
||||
# This function only supports keys with a single user id.
|
||||
getpolicy()
|
||||
{
|
||||
keyid=$1
|
||||
if test x$keyid = x
|
||||
then
|
||||
echo No keyid supplied!
|
||||
exit 1
|
||||
fi
|
||||
shift
|
||||
|
||||
policy=$(debug_exec $GPG --tofu-db-format=$format --trust-model=tofu \
|
||||
--with-colons $@ --list-keys "$keyid" \
|
||||
| awk -F: '/^uid:/ { print $18 }')
|
||||
if test $(echo "$policy" | wc -l) -ne 1
|
||||
then
|
||||
echo "Got: $policy" >&2
|
||||
echo "error"
|
||||
else
|
||||
case $policy in
|
||||
auto|good|unknown|bad|ask) echo $policy ;;
|
||||
*) echo "error" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# $1 is the key id
|
||||
# $2 is the expected policy
|
||||
# The rest are additional options to pass to gpg.
|
||||
checkpolicy()
|
||||
{
|
||||
debug
|
||||
debug "checkpolicy($@)"
|
||||
|
||||
keyid=$1
|
||||
shift
|
||||
expected_policy=$1
|
||||
shift
|
||||
policy=$(getpolicy "$keyid" ${@:+"$@"})
|
||||
if test "x$policy" != "x$expected_policy"
|
||||
then
|
||||
echo "$keyid: Expected policy to be \`$expected_policy', but got \`$policy'."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# $1 is the keyid of the trust level to lookup. Any remaining
|
||||
# arguments are simply passed to GPG.
|
||||
#
|
||||
# This function only supports keys with a single user id.
|
||||
gettrust()
|
||||
{
|
||||
keyid=$1
|
||||
if test x$keyid = x
|
||||
then
|
||||
echo No keyid supplied!
|
||||
exit 1
|
||||
fi
|
||||
shift
|
||||
|
||||
trust=$(debug_exec $GPG --tofu-db-format=$format --trust-model=tofu \
|
||||
--with-colons $@ --list-keys "$keyid" \
|
||||
| awk -F: '/^pub:/ { print $2 }')
|
||||
if test $(echo "$trust" | wc -l) -ne 1
|
||||
then
|
||||
echo "error"
|
||||
else
|
||||
case $trust in
|
||||
[oidreqnmfuws-]) echo $trust ;;
|
||||
*) echo "Bad trust value: $trust" >&2; echo "error" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# $1 is the key id
|
||||
# $2 is the expected trust level
|
||||
# The rest are additional options to pass to gpg.
|
||||
checktrust()
|
||||
{
|
||||
debug
|
||||
debug "checktrust($@)"
|
||||
|
||||
keyid=$1
|
||||
shift
|
||||
expected_trust=$1
|
||||
shift
|
||||
trust=$(gettrust "$keyid" ${@:+"$@"})
|
||||
if test "x$trust" != "x$expected_trust"
|
||||
then
|
||||
echo "$keyid: Expected trust to be \`$expected_trust', but got \`$trust'."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Set key $1's policy to $2. Any remaining arguments are passed as
|
||||
# options to gpg.
|
||||
setpolicy()
|
||||
{
|
||||
debug
|
||||
debug "setpolicy($@)"
|
||||
|
||||
keyid=$1
|
||||
shift
|
||||
policy=$1
|
||||
shift
|
||||
|
||||
debug_exec $GPG --tofu-db-format=$format \
|
||||
--trust-model=tofu ${@:+"$@"} --tofu-policy $policy $keyid
|
||||
}
|
||||
|
||||
for format in split flat
|
||||
do
|
||||
debug
|
||||
debug "Testing with db format $format"
|
||||
|
||||
# Carefully remove the TOFU db.
|
||||
test -e $GNUPGHOME/tofu.db && rm $GNUPGHOME/tofu.db
|
||||
test -e $GNUPGHOME/tofu.d/email && rm -r $GNUPGHOME/tofu.d/email
|
||||
test -e $GNUPGHOME/tofu.d/key && rm -r $GNUPGHOME/tofu.d/key
|
||||
# This will fail if the directory is not empty.
|
||||
test -e $GNUPGHOME/tofu.d && rmdir $GNUPGHOME/tofu.d
|
||||
|
||||
# Verify a message. There should be no conflict and the trust policy
|
||||
# should be set to auto.
|
||||
debug_exec $GPG --tofu-db-format=$format --trust-model=tofu \
|
||||
--verify $srcdir/tofu-2183839A-1.txt
|
||||
|
||||
checkpolicy 2183839A auto
|
||||
|
||||
trust=$(gettrust 2183839A)
|
||||
debug "default trust = $trust"
|
||||
if test "x$trust" != xm
|
||||
then
|
||||
echo "Wrong default trust. Got: \`$trust', expected \`m'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Trust should be derived lazily. Thus, if the policy is set to auto
|
||||
# and we change --tofu-default-policy, then the trust should change as
|
||||
# well. Try it.
|
||||
checktrust 2183839A f --tofu-default-policy=good
|
||||
checktrust 2183839A - --tofu-default-policy=unknown
|
||||
checktrust 2183839A n --tofu-default-policy=bad
|
||||
|
||||
# Change the policy to something other than auto and make sure the
|
||||
# policy and the trust are correct.
|
||||
for policy in good unknown bad
|
||||
do
|
||||
if test $policy = good
|
||||
then
|
||||
expected_trust='f'
|
||||
elif test $policy = unknown
|
||||
then
|
||||
expected_trust='-'
|
||||
else
|
||||
expected_trust='n'
|
||||
fi
|
||||
|
||||
debug
|
||||
debug "Setting TOFU policy to $policy"
|
||||
setpolicy 2183839A $policy
|
||||
|
||||
# Since we have a fixed policy, the trust level shouldn't
|
||||
# change if we change the default policy.
|
||||
for default_policy in auto good unknown bad ask
|
||||
do
|
||||
checkpolicy 2183839A $policy --tofu-default-policy=$default_policy
|
||||
checktrust 2183839A $expected_trust \
|
||||
--tofu-default-policy=$default_policy
|
||||
done
|
||||
done
|
||||
|
||||
# BC15C85A conflicts with 2183839A. On conflict, this will set
|
||||
# BC15C85A to ask. If 2183839A is auto (it's not, it's bad), then
|
||||
# it will be set to ask.
|
||||
debug_exec $GPG --tofu-db-format=$format --trust-model=tofu \
|
||||
--verify $srcdir/tofu-BC15C85A-1.txt
|
||||
checkpolicy BC15C85A ask
|
||||
checkpolicy 2183839A bad
|
||||
|
||||
# EE37CF96 conflicts with 2183839A and BC15C85A. We change
|
||||
# BC15C85A's policy to auto and leave 2183839A's policy at bad.
|
||||
# This conflict should cause BC15C85A's policy to be changed to
|
||||
# ask (since it is auto), but not affect 2183839A's policy.
|
||||
setpolicy BC15C85A auto
|
||||
checkpolicy BC15C85A auto
|
||||
debug_exec $GPG --tofu-db-format=$format --trust-model=tofu \
|
||||
--verify $srcdir/tofu-EE37CF96-1.txt
|
||||
checkpolicy BC15C85A ask
|
||||
checkpolicy 2183839A bad
|
||||
checkpolicy EE37CF96 ask
|
||||
done
|
||||
|
||||
exit 0
|
@ -1,55 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# set -x
|
||||
|
||||
# Make sure $srcdir is set.
|
||||
if test "x$srcdir" = x
|
||||
then
|
||||
echo srcdir environment variable not set!
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Import the sample key
|
||||
#
|
||||
# pub 1024R/8BC90111 2015-12-02
|
||||
# Key fingerprint = E657 FB60 7BB4 F21C 90BB 6651 BC06 7AF2 8BC9 0111
|
||||
# uid [ultimate] Barrett Brown <barrett@example.org>
|
||||
# sub 1024R/3E880CFF 2015-12-02 (encryption)
|
||||
# sub 1024R/F5F77B83 2015-12-02 (signing)
|
||||
# sub 1024R/45117079 2015-12-02 (encryption)
|
||||
# sub 1024R/1EA97479 2015-12-02 (signing)
|
||||
info "Importing public key."
|
||||
if $GPG --import $srcdir/samplekeys/E657FB607BB4F21C90BB6651BC067AF28BC90111.asc
|
||||
then
|
||||
:
|
||||
else
|
||||
error "$k: import failed"
|
||||
fi
|
||||
|
||||
# By default, the most recent, valid signing subkey (1EA97479).
|
||||
for x in 8BC90111 3E880CFF F5F77B83 45117079 1EA97479
|
||||
do
|
||||
if ! echo | $GPG -s -u "$x" | $GPG --verify --status-fd=1 \
|
||||
| grep 'VALIDSIG 5FBA84ACE02DCB17DA3DFF6BBCA43C441EA97479' >/dev/null
|
||||
then
|
||||
echo | $GPG -s -u "$x" | $GPG --verify --status-fd=2
|
||||
error "Unexpected key used for signing (not the signing subkey, specified \"$x\")."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# But, if we request a particular signing key, we should get it.
|
||||
for x in 8BC90111 F5F77B83 1EA97479
|
||||
do
|
||||
if ! echo | $GPG -s -u "$x!" | $GPG --verify --status-fd=1 \
|
||||
| grep "VALIDSIG [0-9A-F]*$x " >/dev/null
|
||||
then
|
||||
echo | $GPG -s -u "$x!" | $GPG --verify --status-fd=2
|
||||
error "Unexpected key used for signing (specified: \"$x!\")."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
@ -1,260 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
suspend_error
|
||||
|
||||
#
|
||||
# Two simple tests to check that verify fails for bad input data
|
||||
#
|
||||
info "checking bogus signature 1"
|
||||
../../tools/mk-tdata --char 0x2d 64 >x
|
||||
$GPG --verify x data-500 && error "no error code from verify"
|
||||
info "checking bogus signature 2"
|
||||
../../tools/mk-tdata --char 0xca 64 >x
|
||||
$GPG --verify x data-500 && error "no error code from verify"
|
||||
|
||||
linefeed
|
||||
|
||||
# A variable to collect the test names
|
||||
tests=""
|
||||
|
||||
# A plain signed message created using
|
||||
# echo abc | gpg --homedir . --passphrase-fd 0 -u Alpha -z0 -sa msg
|
||||
tests="$tests msg_ols_asc"
|
||||
msg_ols_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
kA0DAAIRLXJ8x2hpdzQBrQEHYgNtc2dEDFJaSSB0aGluayB0aGF0IGFsbCByaWdo
|
||||
dC10aGlua2luZyBwZW9wbGUgaW4gdGhpcyBjb3VudHJ5IGFyZSBzaWNrIGFuZAp0
|
||||
aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgb3JkaW5hcnkgZGVjZW50IHBlb3BsZSBh
|
||||
cmUgZmVkIHVwIGluIHRoaXMKY291bnRyeSB3aXRoIGJlaW5nIHNpY2sgYW5kIHRp
|
||||
cmVkLiAgSSdtIGNlcnRhaW5seSBub3QuICBCdXQgSSdtCnNpY2sgYW5kIHRpcmVk
|
||||
IG9mIGJlaW5nIHRvbGQgdGhhdCBJIGFtLgotIE1vbnR5IFB5dGhvbgqIPwMFAEQM
|
||||
UlotcnzHaGl3NBECR4IAoJlEGTY+bHjD2HYuCixLQCmk01pbAKCIjkzLOAmkZNm0
|
||||
D8luT78c/1x45Q==
|
||||
=a29i
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# A plain signed message created using
|
||||
# echo abc | gpg --homedir . --passphrase-fd 0 -u Alpha -sa msg
|
||||
tests="$tests msg_cols_asc"
|
||||
msg_cols_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
owGbwMvMwCSoW1RzPCOz3IRxLSN7EnNucboLT6Cgp0JJRmZeNpBMLFFIzMlRKMpM
|
||||
zyjRBQtm5qUrFKTmF+SkKmTmgdQVKyTnl+aVFFUqJBalKhRnJmcrJOalcJVkFqWm
|
||||
KOSnKSSlgrSU5OekQMzLL0rJzEsEKk9JTU7NK4EZBtKcBtRRWgAzlwtmbnlmSQbU
|
||||
GJjxCmDj9RQUPNVzFZJTi0oSM/NyKhXy8kuAYk6lJSBxLlTF2NziqZCYq8elq+Cb
|
||||
n1dSqRBQWZKRn8fVYc/MygAKBljYCDIFiTDMT+9seu836Q+bevyHTJ0dzPNuvCjn
|
||||
ZpgrwX38z58rJsfYDhwOSS4SkN/d6vUAAA==
|
||||
=s6sY
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# A PGP 2 style message.
|
||||
tests="$tests msg_sl_asc"
|
||||
msg_sl_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
iD8DBQBEDFJaLXJ8x2hpdzQRAkeCAKCZRBk2Pmx4w9h2LgosS0AppNNaWwCgiI5M
|
||||
yzgJpGTZtA/Jbk+/HP9ceOWtAQdiA21zZ0QMUlpJIHRoaW5rIHRoYXQgYWxsIHJp
|
||||
Z2h0LXRoaW5raW5nIHBlb3BsZSBpbiB0aGlzIGNvdW50cnkgYXJlIHNpY2sgYW5k
|
||||
CnRpcmVkIG9mIGJlaW5nIHRvbGQgdGhhdCBvcmRpbmFyeSBkZWNlbnQgcGVvcGxl
|
||||
IGFyZSBmZWQgdXAgaW4gdGhpcwpjb3VudHJ5IHdpdGggYmVpbmcgc2ljayBhbmQg
|
||||
dGlyZWQuICBJJ20gY2VydGFpbmx5IG5vdC4gIEJ1dCBJJ20Kc2ljayBhbmQgdGly
|
||||
ZWQgb2YgYmVpbmcgdG9sZCB0aGF0IEkgYW0uCi0gTW9udHkgUHl0aG9uCg==
|
||||
=0ukK
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# An OpenPGP message lacking the onepass packet. We used to accept
|
||||
# such messages but now consider them invalid.
|
||||
tests="$tests bad_ls_asc"
|
||||
bad_ls_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
rQEHYgNtc2dEDFJaSSB0aGluayB0aGF0IGFsbCByaWdodC10aGlua2luZyBwZW9w
|
||||
bGUgaW4gdGhpcyBjb3VudHJ5IGFyZSBzaWNrIGFuZAp0aXJlZCBvZiBiZWluZyB0
|
||||
b2xkIHRoYXQgb3JkaW5hcnkgZGVjZW50IHBlb3BsZSBhcmUgZmVkIHVwIGluIHRo
|
||||
aXMKY291bnRyeSB3aXRoIGJlaW5nIHNpY2sgYW5kIHRpcmVkLiAgSSdtIGNlcnRh
|
||||
aW5seSBub3QuICBCdXQgSSdtCnNpY2sgYW5kIHRpcmVkIG9mIGJlaW5nIHRvbGQg
|
||||
dGhhdCBJIGFtLgotIE1vbnR5IFB5dGhvbgqIPwMFAEQMUlotcnzHaGl3NBECR4IA
|
||||
oJlEGTY+bHjD2HYuCixLQCmk01pbAKCIjkzLOAmkZNm0D8luT78c/1x45Q==
|
||||
=Mpiu
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
|
||||
# A signed message prefixed with an unsigned literal packet.
|
||||
# (fols = faked-literal-data, one-pass, literal-data, signature)
|
||||
# This should throw an error because running gpg to extract the
|
||||
# signed data will return both literal data packets
|
||||
tests="$tests bad_fols_asc"
|
||||
bad_fols_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
rF1iDG1zZy51bnNpZ25lZEQMY0x0aW1lc2hhcmluZywgbjoKCUFuIGFjY2VzcyBt
|
||||
ZXRob2Qgd2hlcmVieSBvbmUgY29tcHV0ZXIgYWJ1c2VzIG1hbnkgcGVvcGxlLgqQ
|
||||
DQMAAhEtcnzHaGl3NAGtAQdiA21zZ0QMUlpJIHRoaW5rIHRoYXQgYWxsIHJpZ2h0
|
||||
LXRoaW5raW5nIHBlb3BsZSBpbiB0aGlzIGNvdW50cnkgYXJlIHNpY2sgYW5kCnRp
|
||||
cmVkIG9mIGJlaW5nIHRvbGQgdGhhdCBvcmRpbmFyeSBkZWNlbnQgcGVvcGxlIGFy
|
||||
ZSBmZWQgdXAgaW4gdGhpcwpjb3VudHJ5IHdpdGggYmVpbmcgc2ljayBhbmQgdGly
|
||||
ZWQuICBJJ20gY2VydGFpbmx5IG5vdC4gIEJ1dCBJJ20Kc2ljayBhbmQgdGlyZWQg
|
||||
b2YgYmVpbmcgdG9sZCB0aGF0IEkgYW0uCi0gTW9udHkgUHl0aG9uCog/AwUARAxS
|
||||
Wi1yfMdoaXc0EQJHggCgmUQZNj5seMPYdi4KLEtAKaTTWlsAoIiOTMs4CaRk2bQP
|
||||
yW5Pvxz/XHjl
|
||||
=UNM4
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# A signed message suffixed with an unsigned literal packet.
|
||||
# (fols = faked-literal-data, one-pass, literal-data, signature)
|
||||
# This should throw an error because running gpg to extract the
|
||||
# signed data will return both literal data packets
|
||||
tests="$tests bad_olsf_asc"
|
||||
bad_olsf_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
kA0DAAIRLXJ8x2hpdzQBrQEHYgNtc2dEDFJaSSB0aGluayB0aGF0IGFsbCByaWdo
|
||||
dC10aGlua2luZyBwZW9wbGUgaW4gdGhpcyBjb3VudHJ5IGFyZSBzaWNrIGFuZAp0
|
||||
aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgb3JkaW5hcnkgZGVjZW50IHBlb3BsZSBh
|
||||
cmUgZmVkIHVwIGluIHRoaXMKY291bnRyeSB3aXRoIGJlaW5nIHNpY2sgYW5kIHRp
|
||||
cmVkLiAgSSdtIGNlcnRhaW5seSBub3QuICBCdXQgSSdtCnNpY2sgYW5kIHRpcmVk
|
||||
IG9mIGJlaW5nIHRvbGQgdGhhdCBJIGFtLgotIE1vbnR5IFB5dGhvbgqIPwMFAEQM
|
||||
UlotcnzHaGl3NBECR4IAoJlEGTY+bHjD2HYuCixLQCmk01pbAKCIjkzLOAmkZNm0
|
||||
D8luT78c/1x45axdYgxtc2cudW5zaWduZWREDGNMdGltZXNoYXJpbmcsIG46CglB
|
||||
biBhY2Nlc3MgbWV0aG9kIHdoZXJlYnkgb25lIGNvbXB1dGVyIGFidXNlcyBtYW55
|
||||
IHBlb3BsZS4K
|
||||
=3gnG
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
|
||||
# Two standard signed messages in a row
|
||||
tests="$tests msg_olsols_asc_multiple"
|
||||
msg_olsols_asc_multiple='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
kA0DAAIRLXJ8x2hpdzQBrQEHYgNtc2dEDFJaSSB0aGluayB0aGF0IGFsbCByaWdo
|
||||
dC10aGlua2luZyBwZW9wbGUgaW4gdGhpcyBjb3VudHJ5IGFyZSBzaWNrIGFuZAp0
|
||||
aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgb3JkaW5hcnkgZGVjZW50IHBlb3BsZSBh
|
||||
cmUgZmVkIHVwIGluIHRoaXMKY291bnRyeSB3aXRoIGJlaW5nIHNpY2sgYW5kIHRp
|
||||
cmVkLiAgSSdtIGNlcnRhaW5seSBub3QuICBCdXQgSSdtCnNpY2sgYW5kIHRpcmVk
|
||||
IG9mIGJlaW5nIHRvbGQgdGhhdCBJIGFtLgotIE1vbnR5IFB5dGhvbgqIPwMFAEQM
|
||||
UlotcnzHaGl3NBECR4IAoJlEGTY+bHjD2HYuCixLQCmk01pbAKCIjkzLOAmkZNm0
|
||||
D8luT78c/1x45ZANAwACES1yfMdoaXc0Aa0BB2IDbXNnRAxSWkkgdGhpbmsgdGhh
|
||||
dCBhbGwgcmlnaHQtdGhpbmtpbmcgcGVvcGxlIGluIHRoaXMgY291bnRyeSBhcmUg
|
||||
c2ljayBhbmQKdGlyZWQgb2YgYmVpbmcgdG9sZCB0aGF0IG9yZGluYXJ5IGRlY2Vu
|
||||
dCBwZW9wbGUgYXJlIGZlZCB1cCBpbiB0aGlzCmNvdW50cnkgd2l0aCBiZWluZyBz
|
||||
aWNrIGFuZCB0aXJlZC4gIEknbSBjZXJ0YWlubHkgbm90LiAgQnV0IEknbQpzaWNr
|
||||
IGFuZCB0aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgSSBhbS4KLSBNb250eSBQeXRo
|
||||
b24KiD8DBQBEDFJaLXJ8x2hpdzQRAkeCAKCZRBk2Pmx4w9h2LgosS0AppNNaWwCg
|
||||
iI5MyzgJpGTZtA/Jbk+/HP9ceOU=
|
||||
=8nLN
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# A standard message with two signatures (actually the same signature
|
||||
# duplicated).
|
||||
tests="$tests msg_oolss_asc"
|
||||
msg_oolss_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
kA0DAAIRLXJ8x2hpdzQBkA0DAAIRLXJ8x2hpdzQBrQEHYgNtc2dEDFJaSSB0aGlu
|
||||
ayB0aGF0IGFsbCByaWdodC10aGlua2luZyBwZW9wbGUgaW4gdGhpcyBjb3VudHJ5
|
||||
IGFyZSBzaWNrIGFuZAp0aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgb3JkaW5hcnkg
|
||||
ZGVjZW50IHBlb3BsZSBhcmUgZmVkIHVwIGluIHRoaXMKY291bnRyeSB3aXRoIGJl
|
||||
aW5nIHNpY2sgYW5kIHRpcmVkLiAgSSdtIGNlcnRhaW5seSBub3QuICBCdXQgSSdt
|
||||
CnNpY2sgYW5kIHRpcmVkIG9mIGJlaW5nIHRvbGQgdGhhdCBJIGFtLgotIE1vbnR5
|
||||
IFB5dGhvbgqIPwMFAEQMUlotcnzHaGl3NBECR4IAoJlEGTY+bHjD2HYuCixLQCmk
|
||||
01pbAKCIjkzLOAmkZNm0D8luT78c/1x45Yg/AwUARAxSWi1yfMdoaXc0EQJHggCg
|
||||
mUQZNj5seMPYdi4KLEtAKaTTWlsAoIiOTMs4CaRk2bQPyW5Pvxz/XHjl
|
||||
=KVw5
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# A standard message with two one-pass packet but only one signature
|
||||
# packet
|
||||
tests="$tests bad_ools_asc"
|
||||
bad_ools_asc='-----BEGIN PGP MESSAGE-----
|
||||
|
||||
kA0DAAIRLXJ8x2hpdzQBkA0DAAIRLXJ8x2hpdzQBrQEHYgNtc2dEDFJaSSB0aGlu
|
||||
ayB0aGF0IGFsbCByaWdodC10aGlua2luZyBwZW9wbGUgaW4gdGhpcyBjb3VudHJ5
|
||||
IGFyZSBzaWNrIGFuZAp0aXJlZCBvZiBiZWluZyB0b2xkIHRoYXQgb3JkaW5hcnkg
|
||||
ZGVjZW50IHBlb3BsZSBhcmUgZmVkIHVwIGluIHRoaXMKY291bnRyeSB3aXRoIGJl
|
||||
aW5nIHNpY2sgYW5kIHRpcmVkLiAgSSdtIGNlcnRhaW5seSBub3QuICBCdXQgSSdt
|
||||
CnNpY2sgYW5kIHRpcmVkIG9mIGJlaW5nIHRvbGQgdGhhdCBJIGFtLgotIE1vbnR5
|
||||
IFB5dGhvbgqIPwMFAEQMUlotcnzHaGl3NBECR4IAoJlEGTY+bHjD2HYuCixLQCmk
|
||||
01pbAKCIjkzLOAmkZNm0D8luT78c/1x45Q==
|
||||
=1/ix
|
||||
-----END PGP MESSAGE-----'
|
||||
|
||||
# Standard cleartext signature
|
||||
tests="$tests msg_cls_asc"
|
||||
msg_cls_asc=`cat <<EOF
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA1
|
||||
|
||||
I think that all right-thinking people in this country are sick and
|
||||
tired of being told that ordinary decent people are fed up in this
|
||||
country with being sick and tired. I'm certainly not. But I'm
|
||||
sick and tired of being told that I am.
|
||||
- - Monty Python
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iD8DBQFEDVp1LXJ8x2hpdzQRAplUAKCMfpG3GPw/TLN52tosgXP5lNECkwCfQhAa
|
||||
emmev7IuQjWYrGF9Lxj+zj8=
|
||||
=qJsY
|
||||
-----END PGP SIGNATURE-----
|
||||
EOF
|
||||
`
|
||||
|
||||
# Cleartext signature with two signatures
|
||||
tests="$tests msg_clss_asc"
|
||||
msg_clss_asc=`cat <<EOF
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA1
|
||||
|
||||
What is the difference between a Turing machine and the modern computer?
|
||||
It's the same as that between Hillary's ascent of Everest and the
|
||||
establishment of a Hilton on its peak.
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iD8DBQFEDVz6LXJ8x2hpdzQRAtkGAKCeMhNbHnh339fpjNj9owsYcC4zBwCfYO5l
|
||||
2u+KEfXX0FKyk8SMzLjZ536IPwMFAUQNXPr+GAsdqeOwshEC2QYAoPOWAiQm0EF/
|
||||
FWIAQUplk7JWbyRKAJ92ZJyJpWfzb0yc1s7MY65r2qEHrg==
|
||||
=1Xvv
|
||||
-----END PGP SIGNATURE-----
|
||||
EOF
|
||||
`
|
||||
|
||||
# Two clear text signatures in a row
|
||||
tests="$tests msg_clsclss_asc_multiple"
|
||||
msg_clsclss_asc_multiple="${msg_cls_asc}
|
||||
${msg_clss_asc}"
|
||||
|
||||
|
||||
# Fixme: We need more tests with manipulated cleartext signatures.
|
||||
|
||||
|
||||
#
|
||||
# Now run the tests.
|
||||
#
|
||||
for i in $tests ; do
|
||||
info "checking: $i"
|
||||
eval "(IFS=; echo \"\$$i\")" >x
|
||||
case "$i" in
|
||||
msg_*_asc)
|
||||
$GPG --verify x || error "verify of $i failed"
|
||||
;;
|
||||
msg_*_asc_multiple)
|
||||
$GPG --verify --allow-multiple-messages x \
|
||||
|| error "verify of $i failed"
|
||||
$GPG --verify x && error "verify of $i succeeded but should not"
|
||||
;;
|
||||
bad_*_asc)
|
||||
$GPG --verify x && error "verify of $i succeeded but should not"
|
||||
;;
|
||||
*)
|
||||
error "No handler for test case $i"
|
||||
;;
|
||||
esac
|
||||
linefeed
|
||||
done
|
||||
|
||||
|
||||
resume_error
|
@ -1,110 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
|
||||
# 2007 Free Software Foundation, Inc.
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved. This file is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY, to the extent permitted by law; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
. $srcdir/defs.inc || exit 3
|
||||
|
||||
# This is the first test run by "make check". First kill a possible
|
||||
# gpg-agent process from a previous test run.
|
||||
if $GPG_AGENT --quiet; then
|
||||
echo "$pgmname: killing leftover gpg-agent process" >&2
|
||||
$GPG_CONNECT_AGENT killagent /bye >/dev/null
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
|
||||
info "Deleting old files"
|
||||
if [ -f Makefile -a -f $srcdir/decrypt-dsa.test ]; then
|
||||
:
|
||||
else
|
||||
fatal "not running in the test directory"
|
||||
exit 1
|
||||
fi
|
||||
if [ -d private-keys-v1.d ]; then
|
||||
rm private-keys-v1.d/* 2>/dev/null || true
|
||||
rmdir private-keys-v1.d
|
||||
fi
|
||||
for i in pubring.gpg pubring.gpg~ trustdb.gpg trustdb.gpg~ ; do
|
||||
[ -f "$i" ] && rm "$i"
|
||||
done
|
||||
|
||||
# Now start the agent right away, so that there is only one place
|
||||
# where starting the agent may fail. To speed up key generation we
|
||||
# create a faked random seed file. Note that we need to set the
|
||||
# agent-program so that gpg-connect-agent is able to start the agent
|
||||
# we are currently testing and not an already installed one.
|
||||
# The "|--debug-quick-random" is a hack to start gpg-agent with
|
||||
# that option on the command line.
|
||||
info "Starting the agent"
|
||||
$MKTDATA 600 >random_seed
|
||||
if $GPG_CONNECT_AGENT -v \
|
||||
--agent-program="${GPG_AGENT}|--debug-quick-random" /bye; then
|
||||
:
|
||||
else
|
||||
error "starting the gpg-agent failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
info "Creating sample data files"
|
||||
for i in 500 9000 32000 80000; do
|
||||
$MKTDATA $i >data-$i
|
||||
done
|
||||
|
||||
info "Unpacking samples"
|
||||
$GPG --dearmor < $srcdir/plain-1o.asc > ./plain-1
|
||||
$GPG --dearmor < $srcdir/plain-2o.asc > ./plain-2
|
||||
$GPG --dearmor < $srcdir/plain-3o.asc > ./plain-3
|
||||
$GPG --dearmor < $srcdir/plain-largeo.asc > ./plain-large
|
||||
|
||||
info "Storing private keys"
|
||||
for i in 50B2D4FA4122C212611048BC5FC31BD44393626E \
|
||||
7E201E28B6FEB2927B321F443205F4724EBE637E \
|
||||
13FDB8809B17C5547779F9D205C45F47CE0217CE \
|
||||
343D8AF79796EE107D645A2787A9D9252F924E6F \
|
||||
8B5ABF3EF9EB8D96B91A0B8C2C4401C91C834C34 \
|
||||
0D6F6AD4C4C803B25470F9104E9F4E6A4CA64255 \
|
||||
FD692BD59D6640A84C8422573D469F84F3B98E53 \
|
||||
76F7E2B35832976B50A27A282D9B87E44577EB66 \
|
||||
A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
|
||||
00FE67F28A52A8AA08FFAED20AF832DA916D1985 \
|
||||
1DF48228FEFF3EC2481B106E0ACA8C465C662CC5 \
|
||||
A2832820DC9F40751BDCD375BB0945BA33EC6B4C \
|
||||
ADE710D74409777B7729A7653373D820F67892E0 \
|
||||
CEFC51AF91F68A2904FBFF62C4F075A4785B803F; do
|
||||
$GPG --dearmor < $srcdir/privkeys/$i.asc > private-keys-v1.d/$i.key
|
||||
done
|
||||
|
||||
info "Importing public demo and test keys"
|
||||
$GPG --yes --import $srcdir/pubdemo.asc $srcdir/pubring.asc
|
||||
$GPG --dearmor < $srcdir/pubring.pkr.asc | $GPG --yes --import
|
||||
|
||||
|
||||
info "Preset passphrases"
|
||||
# one@example.com
|
||||
$GPG_PRESET_PASSPHRASE --preset -P def 50B2D4FA4122C212611048BC5FC31BD44393626E
|
||||
$GPG_PRESET_PASSPHRASE --preset -P def 7E201E28B6FEB2927B321F443205F4724EBE637E
|
||||
# alpha@example.net
|
||||
$GPG_PRESET_PASSPHRASE --preset -P abc 76F7E2B35832976B50A27A282D9B87E44577EB66
|
||||
$GPG_PRESET_PASSPHRASE --preset -P abc A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD
|
||||
|
||||
|
||||
# Note: secring.asc and secring.skr.asc are the original secrings for
|
||||
# our test files. We don't support this as storage format anymore but
|
||||
# keep the files here for reference. The actual keys have been
|
||||
# extracted and put in gpg-agent's format unter privkeys/. Because
|
||||
# the current gpg's import feature does not support storing of
|
||||
# unprotected keys in the new gpg-agent format, we had to resort to
|
||||
# some trickery to convert them.
|
||||
|
||||
|
||||
info "Printing the GPG version"
|
||||
$GPG --version | awk '{print " > " $0}'
|
||||
|
||||
#fixme: check that the output is as expected
|
Loading…
x
Reference in New Issue
Block a user