diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2016-04-18 16:16:59 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2016-04-18 16:25:34 +0200 |
commit | bd819ee7ec69670028c3e118058f77ad104bd809 (patch) | |
tree | 76a983c6a2888bff4460a98a810a6af24642ce67 | |
parent | 645efb7c90f47e0addf420f441f39f8a360cb16d (diff) | |
download | gnutls-bd819ee7ec69670028c3e118058f77ad104bd809.tar.gz |
tests: added basic check on danetool --tlsa-rr option
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rwxr-xr-x | tests/danetool.sh | 79 |
2 files changed, 80 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 8351b22ce5..f309a0da07 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -187,7 +187,7 @@ name_constraints_merge_CPPFLAGS = $(CPPFLAGS) \ -I$(top_builddir)/gl check_PROGRAMS = $(ctests) -dist_check_SCRIPTS = rfc2253-escape-test +dist_check_SCRIPTS = rfc2253-escape-test danetool.sh TESTS = $(ctests) $(dist_check_SCRIPTS) diff --git a/tests/danetool.sh b/tests/danetool.sh new file mode 100755 index 0000000000..cc050d0fb0 --- /dev/null +++ b/tests/danetool.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +# Copyright (C) 2016 Red Hat, Inc. +# +# 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. + +srcdir="${srcdir:-.}" +DANETOOL="${DANETOOL:-../src/danetool${EXEEXT}}" + +# Unfortunately it is extremely fragile and fails 99% of the +# time. +if test "${WINDIR}" != ""; then + exit 77 +fi + +. "${srcdir}/scripts/common.sh" + +# Check local generation +OUT=$(${DANETOOL} --tlsa-rr --host www.example.com --load-certificate ${srcdir}/certs/cert-ecc256.pem) +if test $? != 0;then + echo "error in test 1" + exit 1 +fi + +if test "$OUT" != '_443._tcp.www.example.com. IN TLSA ( 03 01 01 5978dd1d2d23e992075dc359d5dd14f7ef79748af97f2b7809c9ebfd6016c433 )';then + echo "error in test 2" + exit 1 +fi + +OUT=$(${DANETOOL} --tlsa-rr --host www.example.com --load-certificate ${srcdir}/certs/cert-rsa-2432.pem) +if test $? != 0;then + echo "error in test 3" + exit 1 +fi + +if test "$OUT" != '_443._tcp.www.example.com. IN TLSA ( 03 01 01 671b40d05b28c85e9b2a52912abcdce38c0384cc5a7c693ed3148ca1e97632c9 )';then + echo "error in test 4" + exit 1 +fi + +# Check CA signed certificate generation +OUT=$(${DANETOOL} --tlsa-rr --no-domain --host www.example.com --load-certificate ${srcdir}/certs/cert-rsa-2432.pem) +if test $? != 0;then + echo "error in test 5" + exit 1 +fi + +if test "$OUT" != '_443._tcp.www.example.com. IN TLSA ( 01 01 01 671b40d05b28c85e9b2a52912abcdce38c0384cc5a7c693ed3148ca1e97632c9 )';then + echo "error in test 6" + exit 1 +fi + +# Check CA signer's certificate generation +OUT=$(${DANETOOL} --tlsa-rr --ca --no-domain --host www.example.com --load-certificate ${srcdir}/certs/cert-rsa-2432.pem) +if test $? != 0;then + echo "error in test 7" + exit 1 +fi + +if test "$OUT" != '_443._tcp.www.example.com. IN TLSA ( 00 01 01 671b40d05b28c85e9b2a52912abcdce38c0384cc5a7c693ed3148ca1e97632c9 )';then + echo "error in test 8" + exit 1 +fi + +exit 0 |