bind9/bin/tests/system/doth
Artem Boldariev 337943c047 Extend the 'doth' system test with Strict/Mutual TLS checks
This commit extends the 'doth' system test with a set of Strict/Mutual
TLS related checks.

This commit also makes each doth NS instance use its own TLS
certificate that includes FQDN, IPv4, and IPv6 addresses, issued using
a common Certificate Authority, instead of ad-hoc certs.

Extend servers initialisation timeout to 60 seconds to improve the
tests stability in the CI as certain configurations could fail to
initialise on time under load.
2022-04-28 13:39:21 +03:00
..
CA Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns1 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns2 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns3 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
ns4 Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
.gitignore Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
clean.sh Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01:00
conftest.py Fix a PyLint 2.13.7 error 2022-04-22 12:14:50 +02:00
dhparam3072.pem Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
example.axfr.good Parse and print HTTPS and SVCB records 2021-08-18 13:49:48 +10:00
example8.axfr.good Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
get_openssl_version.py Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
README.curl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stress_http_quota.py Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests.sh Extend the 'doth' system test with Strict/Mutual TLS checks 2022-04-28 13:39:21 +03:00
tests_gnutls.py Rework imports in dnspython-based system tests 2022-03-14 09:04:10 +01:00

<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")

SPDX-License-Identifier: MPL-2.0

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0.  If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.

See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
-->

DoH query values that can be passed on the command line for testing
with curl can be obtained by encoding binary DNS messages into
base64url, with trailing '='s removed.

For example:

$ perl bin/tests/system/fromhex.pl << EOF | base64url
    # Transaction ID
    0001
    # Standard query
    0000
    # Questions: 1, Additional: 0
    0001 0000 0000 0000
    # QNAME: example
    07 6578616d706c65 00
    # Type: SOA
    0006
    Class: IN
    0001
EOF

This produces the string "AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE=". With
the trailing '=' removed, this can then be passed to curl:

curl "https://<server>/dns-query?dns=AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE"