summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-07-28 13:20:25 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2016-07-28 18:26:57 +0200
commit7a91e420b6291eb76ea6ce3028893c88456992e9 (patch)
treee971b9424a1064debca0236e0ada5ec64e702000
parent3e32282a27575680eaccea9a0bec8244545bce16 (diff)
downloadgnutls-7a91e420b6291eb76ea6ce3028893c88456992e9.tar.gz
tests: moved ecdsa tests to key-tests/
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/ecdsa/Makefile.am31
-rwxr-xr-xtests/ecdsa/ecdsa91
-rw-r--r--tests/key-tests/Makefile.am7
-rw-r--r--tests/key-tests/data/bad-key.pem (renamed from tests/ecdsa/bad-key.pem)0
-rwxr-xr-xtests/key-tests/ecdsa100
6 files changed, 105 insertions, 126 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8db56d0d6c..28bf437270 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -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
index 2db6c9a1e1..0000000000
--- a/tests/ecdsa/Makefile.am
+++ /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
index e5b48b91fa..0000000000
--- a/tests/ecdsa/ecdsa
+++ /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
diff --git a/tests/key-tests/Makefile.am b/tests/key-tests/Makefile.am
index b07d872be7..c2a004bb54 100644
--- a/tests/key-tests/Makefile.am
+++ b/tests/key-tests/Makefile.am
@@ -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/ecdsa/bad-key.pem b/tests/key-tests/data/bad-key.pem
index 6dfb622dab..6dfb622dab 100644
--- a/tests/ecdsa/bad-key.pem
+++ b/tests/key-tests/data/bad-key.pem
diff --git a/tests/key-tests/ecdsa b/tests/key-tests/ecdsa
new file mode 100755
index 0000000000..c6e1bd8f7c
--- /dev/null
+++ b/tests/key-tests/ecdsa
@@ -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