diff --git a/tests/openpgp/4gb-packet.test b/tests/openpgp/4gb-packet.test deleted file mode 100755 index 548ebfe6d..000000000 --- a/tests/openpgp/4gb-packet.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am index 67fb2bcfd..8c51ae6cb 100644 --- a/tests/openpgp/Makefile.am +++ b/tests/openpgp/Makefile.am @@ -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 diff --git a/tests/openpgp/armdetach.test b/tests/openpgp/armdetach.test deleted file mode 100755 index e4bbb1fd0..000000000 --- a/tests/openpgp/armdetach.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/armdetachm.test b/tests/openpgp/armdetachm.test deleted file mode 100755 index 67d96287a..000000000 --- a/tests/openpgp/armdetachm.test +++ /dev/null @@ -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" - diff --git a/tests/openpgp/armencrypt.test b/tests/openpgp/armencrypt.test deleted file mode 100755 index ce1067e6b..000000000 --- a/tests/openpgp/armencrypt.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/armencryptp.test b/tests/openpgp/armencryptp.test deleted file mode 100755 index dfebb4827..000000000 --- a/tests/openpgp/armencryptp.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/armor.test b/tests/openpgp/armor.test deleted file mode 100755 index 72831e361..000000000 --- a/tests/openpgp/armor.test +++ /dev/null @@ -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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 -jnOKMUrdbDkbYM+ojXZ18/4WPKtaxf6lTLrh3m5CJ1V8slRJp0Jes74aDQf/OXqo -QgqVrI2wnl1klGwn06bhVaymdk0hMkxAfeHBGZIQ4BMMZ3aLuVWjAcBH/HP1tVQ4 -IG7MHRnm81yVNgA6yAuZZIPQwxDWVko7rRm/DnsJcpKfL0nZHoF+bJ6q4Rd6Dey1 -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 -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 -=3akT ------END PGP MESSAGE----- - -' - -alpha_seckey='-----BEGIN PGP PRIVATE KEY BLOCK----- -Version: GnuPG v1.4.8 (GNU/Linux) - -lQHhBDbjjp4RBAC2ZbFDX0wmJI8yLDYQdIiZeAuHLmfyHsqXaLGUMZtWiAvn/hNp -ctwahmzKm5oXinHUvUkLOQ0s8rOlu15nhw4azc30rTP1LsIkn5zORNnFdgYC6RKy -hOeim/63+/yGtdnTm49lVfaCqwsEmBCEkXaeWDGq+ie1b89J89T6n/JquwCgoQkj -VeVGG+B/SzJ6+yifdHWQVkcD/RXDyLXX4+WHGP2aet51XlKojWGwsZmc9LPPYhwU -/RcUO7ce1QQb0XFlUVFBhY0JQpM/ty/kNi+aGWFzigbQ+HAWZkUvA8+VIAVneN+p -+SHhGIyLTXKpAYTq46AwvllZ5Cpvf02Cp/+W1aVyA0qnBWMyeIxXmR9HOi6lxxn5 -cjajA/9VZufOXWqCXkBvz4Oy3Q5FbjQQ0/+ty8rDn8OTaiPi41FyUnEi6LO+qyBS -09FjnZj++PkcRcXW99SNxmEJRY7MuNHt5wIvEH2jNEOJ9lszzZFBDbuwsjXHK35+ -lPbGEy69xCP26iEafysKKbRXJhE1C+tk8SnK+Gm62sivmK/5av4CAwKcF1Qep+Pf -ssOqtJhr+klruUBf55onBJi4vkk0gK3m32p/05YB2bbMURGz8R4JxUZfUxjdDk73 -LaNYRbQpQWxwaGEgVGVzdCAoZGVtbyBrZXkpIDxhbHBoYUBleGFtcGxlLm5ldD6I -VQQTEQIAFQUCNuOOngMLCgMDFQMCAxYCAQIXgAAKCRAtcnzHaGl3NDl4AJ4rouHB -+LpCkNi5C59jHEa1kbANzACgmddtrNSj1yPyTCwUwRghPUomECS0EEFsaWNlIChk -ZW1vIGtleSmIVQQTEQIAFQUCNuO2qwMLCgMDFQMCAxYCAQIXgAAKCRAtcnzHaGl3 -NCeMAJ9MeUVrago5Jc6PdwdeN5OMwby37QCghW65cZTQlD1bBlIq/QM8bz9AN4G0 -J0FsZmEgVGVzdCAoZGVtbyBrZXkpIDxhbGZhQGV4YW1wbGUubmV0PohVBBMRAgAV -BQI247hYAwsKAwMVAwIDFgIBAheAAAoJEC1yfMdoaXc0t8IAoJPwa6j+Vm5Vi3Nv -uo8JZri4PJ/DAJ9dqbmaJdB8FdJnHfGh1rXK3y/Jcp0BuAQ2448PEAQAnI3XH1f0 -uyN9fZnw72zsHMw706g7EW29nD4UDQG4OzRZViSrUa5n39eI7QrfTO+1meVvs0y8 -F/PvFst5jH68rPLnGSrXz4sTl1T4cop1FBkquvCAKwPLy0lE7jjtCyItOSwIOo8x -oTfY4JEEXmcqsbm+KHv9yYSF/YK4Cf7bIzcAAwcD/Rnl5jKxoucDA96pD2829TKs -LFQSau+Xiy8bvOSSDdlyABsOkNBSaeKO3eAQEKgDM7dzjVNTnAlpQ0EQ8Y9Z8pxO -WYEQYlaMrnRBC4DZ2IadzEhLlIOz5BVp/jfhrr8oVVBwKZXsrz9PZLz+e4Yn+siU -Uvlei9boD9L2ZgSOHakP/gIDApwXVB6n49+yw6e5k2VJBGTFDkQbxpgi4oslePpT -7Tc2qjAke4zO8JHkgKSokEgnMpMz412q9otFX/3qC5MpPG5P8f4r00Kfy9Am/thk -ri01WTIUqF8L/VZXJxLKVoRAabSXudG0eavfah14fN5/+Bw5i8vSHhc/xmQEKTya -2X8Nt1F5zMrE1LAGVVCL9i/DUygnJYOZzAd1Ct0RJ4kFj7lOBICF2IWWiEYEGBEC -AAYFAjbjjw8ACgkQLXJ8x2hpdzQgqQCgn81AaW8W/lyVwMh/UBeMuVMUb24An2uz -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 - diff --git a/tests/openpgp/armsignencrypt.test b/tests/openpgp/armsignencrypt.test deleted file mode 100755 index c50a12dc1..000000000 --- a/tests/openpgp/armsignencrypt.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/armsigs.test b/tests/openpgp/armsigs.test deleted file mode 100755 index 8fc867226..000000000 --- a/tests/openpgp/armsigs.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/clearsig.test b/tests/openpgp/clearsig.test deleted file mode 100755 index bf67916d0..000000000 --- a/tests/openpgp/clearsig.test +++ /dev/null @@ -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 <y <y <y <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 <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 diff --git a/tests/openpgp/conventional-mdc.test b/tests/openpgp/conventional-mdc.test deleted file mode 100755 index 031fc0e12..000000000 --- a/tests/openpgp/conventional-mdc.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/conventional.test b/tests/openpgp/conventional.test deleted file mode 100755 index 30c9ba042..000000000 --- a/tests/openpgp/conventional.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/decrypt-dsa.test b/tests/openpgp/decrypt-dsa.test deleted file mode 100755 index ba83fea07..000000000 --- a/tests/openpgp/decrypt-dsa.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/decrypt.test b/tests/openpgp/decrypt.test deleted file mode 100755 index 370dc964b..000000000 --- a/tests/openpgp/decrypt.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/default-key.test b/tests/openpgp/default-key.test deleted file mode 100755 index 83e4f7991..000000000 --- a/tests/openpgp/default-key.test +++ /dev/null @@ -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 -# 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 diff --git a/tests/openpgp/defs.inc b/tests/openpgp/defs.inc deleted file mode 100755 index ea86c6919..000000000 --- a/tests/openpgp/defs.inc +++ /dev/null @@ -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 diff --git a/tests/openpgp/detach.test b/tests/openpgp/detach.test deleted file mode 100755 index 9b68e001a..000000000 --- a/tests/openpgp/detach.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/detachm.test b/tests/openpgp/detachm.test deleted file mode 100755 index d65bcf276..000000000 --- a/tests/openpgp/detachm.test +++ /dev/null @@ -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" - diff --git a/tests/openpgp/ecc.test b/tests/openpgp/ecc.test deleted file mode 100755 index 58fd25154..000000000 --- a/tests/openpgp/ecc.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/encrypt-dsa.test b/tests/openpgp/encrypt-dsa.test deleted file mode 100755 index 7ce670ee0..000000000 --- a/tests/openpgp/encrypt-dsa.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/encrypt.test b/tests/openpgp/encrypt.test deleted file mode 100755 index 295a6c3a9..000000000 --- a/tests/openpgp/encrypt.test +++ /dev/null @@ -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 "<" diff --git a/tests/openpgp/encryptp.test b/tests/openpgp/encryptp.test deleted file mode 100755 index 3ad7119dd..000000000 --- a/tests/openpgp/encryptp.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/export.test b/tests/openpgp/export.test deleted file mode 100755 index 977676022..000000000 --- a/tests/openpgp/export.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/finish.test b/tests/openpgp/finish.test deleted file mode 100755 index fced57036..000000000 --- a/tests/openpgp/finish.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/genkey1024.test b/tests/openpgp/genkey1024.test deleted file mode 100755 index 99a0d5d72..000000000 --- a/tests/openpgp/genkey1024.test +++ /dev/null @@ -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 <"$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 diff --git a/tests/openpgp/import.test b/tests/openpgp/import.test deleted file mode 100755 index 783d059bb..000000000 --- a/tests/openpgp/import.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/mds.test b/tests/openpgp/mds.test deleted file mode 100755 index bb7331269..000000000 --- a/tests/openpgp/mds.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/multisig.test b/tests/openpgp/multisig.test deleted file mode 100755 index 0b723280b..000000000 --- a/tests/openpgp/multisig.test +++ /dev/null @@ -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 /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 /dev/null && error "invalid is valid ($i)" - linefeed -done - - -resume_error diff --git a/tests/openpgp/pinentry.sh b/tests/openpgp/pinentry.sh deleted file mode 100755 index b4b12fcae..000000000 --- a/tests/openpgp/pinentry.sh +++ /dev/null @@ -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 diff --git a/tests/openpgp/quick-key-manipulation.test b/tests/openpgp/quick-key-manipulation.test deleted file mode 100755 index 4185601bb..000000000 --- a/tests/openpgp/quick-key-manipulation.test +++ /dev/null @@ -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 " -bravo="Bravo " - -$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!" diff --git a/tests/openpgp/seat.test b/tests/openpgp/seat.test deleted file mode 100755 index b400e72dc..000000000 --- a/tests/openpgp/seat.test +++ /dev/null @@ -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 - diff --git a/tests/openpgp/signencrypt-dsa.test b/tests/openpgp/signencrypt-dsa.test deleted file mode 100755 index 2fb2bb1aa..000000000 --- a/tests/openpgp/signencrypt-dsa.test +++ /dev/null @@ -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 diff --git a/tests/openpgp/signencrypt.test b/tests/openpgp/signencrypt.test deleted file mode 100755 index 5644befa7..000000000 --- a/tests/openpgp/signencrypt.test +++ /dev/null @@ -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 /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 diff --git a/tests/openpgp/use-exact-key.test b/tests/openpgp/use-exact-key.test deleted file mode 100755 index 3745a2dc8..000000000 --- a/tests/openpgp/use-exact-key.test +++ /dev/null @@ -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 -# 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 diff --git a/tests/openpgp/verify.test b/tests/openpgp/verify.test deleted file mode 100755 index eef61c769..000000000 --- a/tests/openpgp/verify.test +++ /dev/null @@ -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 <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 diff --git a/tests/openpgp/version.test b/tests/openpgp/version.test deleted file mode 100755 index 9d265ad06..000000000 --- a/tests/openpgp/version.test +++ /dev/null @@ -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