]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: moved ecdsa tests to key-tests/
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Thu, 28 Jul 2016 11:20:25 +0000 (13:20 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 28 Jul 2016 16:26:57 +0000 (18:26 +0200)
tests/Makefile.am
tests/ecdsa/Makefile.am [deleted file]
tests/ecdsa/ecdsa [deleted file]
tests/key-tests/Makefile.am
tests/key-tests/data/bad-key.pem [moved from tests/ecdsa/bad-key.pem with 100% similarity]
tests/key-tests/ecdsa [new file with mode: 0755]

index 8db56d0d6ce50e80d8913ea1fc0415fdcaaaafa4..28bf43727036ee9b1a9932d4d193d7f37f87c16d 100644 (file)
@@ -19,7 +19,7 @@
 # along with this file; if not, write to the Free Software Foundation,
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-SUBDIRS = . cert-tests ocsp-tests key-tests sha2 safe-renegotiation scripts ecdsa \
+SUBDIRS = . cert-tests ocsp-tests key-tests sha2 safe-renegotiation scripts \
        slow dtls srp windows
 
 if ENABLE_OPENPGP
diff --git a/tests/ecdsa/Makefile.am b/tests/ecdsa/Makefile.am
deleted file mode 100644 (file)
index 2db6c9a..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-## Process this file with automake to produce Makefile.in
-# Copyright (C) 2007-2008, 2010, 2012 Free Software Foundation, Inc.
-#
-# Author: Simon Josefsson
-#
-# This file is part of GnuTLS.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This file is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this file; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-EXTRA_DIST = bad-key.pem
-
-dist_check_SCRIPTS = ecdsa
-
-TESTS = ecdsa
-
-TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) \
-       LC_ALL="C"                                              \
-       top_builddir="$(top_builddir)"                          \
-       srcdir="$(srcdir)"
diff --git a/tests/ecdsa/ecdsa b/tests/ecdsa/ecdsa
deleted file mode 100755 (executable)
index e5b48b9..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# Author: Nikos Mavrogiannopoulos
-#
-# This file is part of GnuTLS.
-#
-# GnuTLS is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at
-# your option) any later version.
-#
-# GnuTLS is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GnuTLS; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-#set -e
-
-srcdir="${srcdir:-.}"
-CERTTOOL="${CERTTOOL:-../../src/certtool${EXEEXT}}"
-
-echo ca > template
-echo "cn = ECDSA SHA 256 CA" >> template
-
-"${CERTTOOL}" --generate-privkey --ecc > key-ca-ecdsa.pem 2>/dev/null
-
-"${CERTTOOL}" -d 2 --generate-self-signed --template template \
-       --load-privkey key-ca-ecdsa.pem \
-       --outfile new-ca-ecdsa.pem \
-       --hash sha256 >out 2>&1
-
-if [ $? != 0 ]; then
-       cat out
-       exit 1
-fi
-
-echo ca > template
-"${CERTTOOL}" --generate-privkey --ecc > key-subca-ecdsa.pem 2>/dev/null
-echo "cn = ECDSA SHA 224 Mid CA" >> template
-
-"${CERTTOOL}" -d 2 --generate-certificate --template template \
-       --load-ca-privkey key-ca-ecdsa.pem \
-       --load-ca-certificate new-ca-ecdsa.pem \
-       --load-privkey key-subca-ecdsa.pem \
-       --outfile new-subca-ecdsa.pem \
-       --hash sha224 >out 2>&1
-
-if [ $? != 0 ]; then
-       cat out
-       exit 1
-fi
-
-echo "cn = End-user" > template
-
-"${CERTTOOL}" --generate-privkey --ecc > key-ecdsa.pem 2>/dev/null
-
-"${CERTTOOL}" -d 2 --generate-certificate --template template \
-       --load-ca-privkey key-subca-ecdsa.pem \
-       --load-ca-certificate new-subca-ecdsa.pem \
-       --load-privkey key-ecdsa.pem \
-       --outfile new-user.pem >out 2>&1
-
-if [ $? != 0 ]; then
-       cat out
-       exit 1
-fi
-
-cat new-user.pem new-subca-ecdsa.pem new-ca-ecdsa.pem > out
-"${CERTTOOL}" --verify-chain <out > verify
-
-if [ $? != 0 ]; then
-       cat verify
-       exit 1
-fi
-
-rm -f verify new-user.pem new-ca-ecdsa.pem new-subca-ecdsa.pem template out
-rm -f key-subca-ecdsa.pem key-ca-ecdsa.pem key-ecdsa.pem
-
-"${CERTTOOL}" -k < "${srcdir}/bad-key.pem" | grep "validation failed" >/dev/null 2>&1
-if [ $? != 0 ]; then
-       echo "certtool didn't detect a bad ECDSA key."
-       exit 1
-fi
-
-exit 0
index b07d872be7c5c461fcd6b3320953e23af04091b2..c2a004bb5433ef62d77447113f21a9987588e7c1 100644 (file)
@@ -27,11 +27,12 @@ EXTRA_DIST = README data/key-ca.pem data/key-user.pem \
        data/openssl-3des.p8 data/openssl-3des.p8.txt data/openssl-aes128.p8 \
        data/openssl-aes128.p8.txt data/openssl-aes256.p8 data/openssl-aes256.p8.txt \
        data/cert.dsa.1024.pem data/cert.dsa.2048.pem data/cert.dsa.3072.pem \
-       data/dsa.1024.pem data/dsa.2048.pem data/dsa.3072.pem data/dsa-pubkey-1018.pem
+       data/dsa.1024.pem data/dsa.2048.pem data/dsa.3072.pem data/dsa-pubkey-1018.pem \
+       data/bad-key.pem
 
-dist_check_SCRIPTS = key-id pkcs8 pkcs8-decode dsa
+dist_check_SCRIPTS = key-id pkcs8 pkcs8-decode dsa ecdsa
 
-TESTS = key-id pkcs8 pkcs8-decode
+TESTS = key-id pkcs8 pkcs8-decode ecdsa
 
 if !WINDOWS
 TESTS += dsa
diff --git a/tests/key-tests/ecdsa b/tests/key-tests/ecdsa
new file mode 100755 (executable)
index 0000000..c6e1bd8
--- /dev/null
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+#
+# Author: Nikos Mavrogiannopoulos
+#
+# This file is part of GnuTLS.
+#
+# GnuTLS is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GnuTLS is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GnuTLS; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#set -e
+
+srcdir="${srcdir:-.}"
+CERTTOOL="${CERTTOOL:-../../src/certtool${EXEEXT}}"
+TMPFILE=ecdsa.$$.tmp
+TMPCA=ecdsa-ca.$$.tmp
+TMPCAKEY=ecdsa-ca-key.$$.tmp
+TMPSUBCA=ecdsa-subca.$$.tmp
+TMPSUBCAKEY=ecdsa-subca-key.$$.tmp
+TMPKEY=ecdsa-key.$$.tmp
+TMPTEMPL=template.$$.tmp
+TMPUSER=user.$$.tmp
+VERIFYOUT=verify.$$.tmp
+
+echo ca > $TMPTEMPL
+echo "cn = ECDSA SHA 256 CA" >> $TMPTEMPL
+
+"${CERTTOOL}" --generate-privkey --ecc > $TMPCAKEY 2>/dev/null
+
+"${CERTTOOL}" -d 2 --generate-self-signed --template $TMPTEMPL \
+       --load-privkey $TMPCAKEY \
+       --outfile $TMPCA \
+       --hash sha256 >$TMPFILE 2>&1
+
+if [ $? != 0 ]; then
+       cat $TMPFILE
+       exit 1
+fi
+
+echo ca > $TMPTEMPL
+"${CERTTOOL}" --generate-privkey --ecc > $TMPSUBCAKEY 2>/dev/null
+echo "cn = ECDSA SHA 224 Mid CA" >> $TMPTEMPL
+
+"${CERTTOOL}" -d 2 --generate-certificate --template $TMPTEMPL \
+       --load-ca-privkey $TMPCAKEY \
+       --load-ca-certificate $TMPCA \
+       --load-privkey $TMPSUBCAKEY \
+       --outfile $TMPSUBCA \
+       --hash sha224 >$TMPFILE 2>&1
+
+if [ $? != 0 ]; then
+       cat $TMPFILE
+       exit 1
+fi
+
+echo "cn = End-user" > $TMPTEMPL
+
+"${CERTTOOL}" --generate-privkey --ecc > $TMPKEY 2>/dev/null
+
+"${CERTTOOL}" -d 2 --generate-certificate --template $TMPTEMPL \
+       --load-ca-privkey $TMPSUBCAKEY \
+       --load-ca-certificate $TMPSUBCA \
+       --load-privkey $TMPKEY \
+       --outfile $TMPUSER >$TMPFILE 2>&1
+
+if [ $? != 0 ]; then
+       cat $TMPFILE
+       exit 1
+fi
+
+cat $TMPUSER $TMPSUBCA $TMPCA > $TMPFILE
+"${CERTTOOL}" --verify-chain <$TMPFILE > $VERIFYOUT
+
+if [ $? != 0 ]; then
+       cat $VERIFYOUT
+       exit 1
+fi
+
+rm -f $VERIFYOUT $TMPUSER $TMPCA $TMPSUBCA $TMPTEMPL $TMPFILE
+rm -f $TMPSUBCAKEY $TMPCAKEY $TMPKEY
+
+"${CERTTOOL}" -k < "${srcdir}/data/bad-key.pem" | grep "validation failed" >/dev/null 2>&1
+if [ $? != 0 ]; then
+       echo "certtool didn't detect a bad ECDSA key."
+       exit 1
+fi
+
+exit 0