diff options
Diffstat (limited to 'tests/pkits/inittests')
-rwxr-xr-x | tests/pkits/inittests | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/tests/pkits/inittests b/tests/pkits/inittests new file mode 100755 index 0000000..deb1854 --- /dev/null +++ b/tests/pkits/inittests @@ -0,0 +1,109 @@ +#!/bin/sh +# Copyright (C) 2004 Free Software Foundation, Inc. -*- sh -*- +# +# 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. + +set -e + + +clean_files=' +ReadMe.txt pkits.ldif pkits.schema +gpgsm.conf gpg-agent.conf trustlist.txt policies.txt pubring.kbx +msg msg.sig msg.unsig +' + +[ -z "$srcdir" ] && srcdir=. +[ -z "$GPGSM" ] && GPGSM=../../sm/gpgsm + +#if [ -f $srcdir/README ] \ +# && grep tests/pkits/README README >/dev/null 2>&1; then +# : +#else +# # During make distclean the Makefile has already been removed, +# # so we need this extra test. +# if ! grep gnupg-test-pkits-directory testdir.stamp >/dev/null 2>&1; then +# echo "inittests: please cd to the tests/pkits directory first" >&2 +# exit 1 +# fi +#fi + +if [ "$1" = "--clean" ]; then + if [ -d private-keys-v1.d ]; then + rm private-keys-v1.d/* 2>/dev/null || true + rmdir private-keys-v1.d + fi + rm ${clean_files} testdir.stamp 2>/dev/null || true + for i in certs certpairs crls pkcs12 smime; do + if [ -d $i ]; then + rm $i/* 2>/dev/null || true + rmdir $i + fi + done + exit 0 +fi + +if [ "$GNUPGHOME" != "`/bin/pwd`" ]; then + echo "inittests: please set GNUPGHOME to the tests/pkits directory" >&2 + exit 1 +fi + +if [ -n "$GPG_AGENT_INFO" ]; then + echo "inittests: please unset GPG_AGENT_INFO" >&2 + exit 1 +fi + +if test -f "$srcdir/PKITS_data.tar.bz2"; then + if ! bunzip2 -c "$srcdir/PKITS_data.tar.bz2" | tar xf - ; then + echo "inittests: failed to untar the test data" >&2 + exit 1 + fi +fi + +# A stamp file used with --clean +echo gnupg-test-pkits-directory > testdir.stamp + + +# Create the configuration scripts +cat > gpgsm.conf <<EOF +no-secmem-warning +no-greeting +batch +disable-crl-checks +disable-dirmngr +agent-program ../../agent/gpg-agent +no-common-certs-import +EOF + +# The set of NIST test policies which should be used if anyPolicy is +# not supported. +cat > policies.txt <<EOF +2.16.840.1.101.3.2.1.48.1 +2.16.840.1.101.3.2.1.48.2 +2.16.840.1.101.3.2.1.48.3 +2.16.840.1.101.3.2.1.48.4 +2.16.840.1.101.3.2.1.48.5 +2.16.840.1.101.3.2.1.48.6 +EOF + +# Fixme: we need to write a dummy pinentry program +cat > gpg-agent.conf <<EOF +no-grab +disable-scdaemon +EOF + +# Mark the root CA trusted +cat > trustlist.txt <<EOF +# /CN=Trust Anchor/O=Test Certificates/C=US +66:8A:47:56:A2:DC:88:FF:DA:B8:95:E1:3C:63:37:55:5F:0A:F7:BF S +EOF + +# Define the standard policies as NIST test-policy-1 +#cat >policies.txt <<EOF +#2.16.840.1.101.3.2.1.48.1 +#EOF |