bind9/bin/tests/system/rsabigexponent
Nicki Křížek ea10064b95 Replace .in with .j2 templates for simple copy_setports cases
Use jinja2 templates instead of *.in templates for named.conf and remove
the copy_setports invocations from setup.sh which are no longer needed.

(cherry picked from commit fc10cb686d)
2025-12-10 13:43:52 +01:00
..
ns1 Replace .in with .j2 templates for simple copy_setports cases 2025-12-10 13:43:52 +01:00
ns2 Replace .in with .j2 templates for simple copy_setports cases 2025-12-10 13:43:52 +01:00
ns3 Replace .in with .j2 templates for simple copy_setports cases 2025-12-10 13:43:52 +01:00
.gitignore Revert "Drop bigkey" 2020-11-10 17:34:05 +01:00
bigkey.c standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
options.conf.j2.manual Rewrite rsabigexponent system test to pytest 2024-10-31 18:15:14 +00:00
README.md rsabigexponent: convert the test from RSASHA1 to RSASHA256 2022-08-09 16:22:19 +02:00
setup.sh Replace .in with .j2 templates for simple copy_setports cases 2025-12-10 13:43:52 +01:00
tests_rsabigexponent.py Log command stdout when using isctest.run.cmd() 2025-06-27 20:30:21 +02: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.

The rsabigexponent test is used to check max-rsa-exponent-size.

We only run this test on builds without PKCS#11, as we have control over the RSA exponent size with plain OpenSSL. We have not explored how to do this with PKCS#11, which would require generating such a key and then signing a zone with it. Additionally, even with control of the exponent size with PKCS#11, generating a DNSKEY with this property and signing such a zone would be slow and undesirable for each test run; instead, we use a pregenerated DNSKEY and a saved signed zone. These are located in rsabigexponent/ns2 and currently use RSASHA1 for the DNSKEY algorithm; however, that may need to be changed in the future.

To generate the DNSKEY used in this test, we used bigkey.c, as dnssec-keygen is not capable of generating such keys.

Do not remove bigkey.c as it may be needed to generate a new DNSKEY for testing purposes.

bigkey is used to both test that we are not running under PKCS#11 and generate a DNSKEY key with a large RSA exponent.

To regenerate ns2/example.db.bad comment out the range test in opensslrsa_parse before signing the zone with a ZSK key generated by bigkey.

    if (BN_num_bits(e) > RSA_MAX_PUBEXP_BITS) {
            DST_RET(ISC_R_RANGE);
    }