bind9/bin/tests/system/rsabigexponent
Evan Hunt 22d688f656 Remove -n option from dnssec-keygen/keyfromlabel
The -n (nametype) option for keys defaults to ZONE for DNSKEY
type keys, and HOST for KEY type keys. There is currently no
practical reason to use any other name type; we can simplify
things by removing the option.
2025-03-25 23:48:23 +00:00
..
ns1 Remove -n option from dnssec-keygen/keyfromlabel 2025-03-25 23:48:23 +00:00
ns2 Reformat shell scripts with shfmt 2023-10-26 10:23:50 +02:00
ns3 Rename system test directory with common files to _common 2023-09-19 13:29:27 +02:00
.gitignore Revert "Drop bigkey" 2020-11-10 17:34:05 +01:00
bigkey.c Replace isc_mem_destroy() with isc_mem_detach() 2025-03-05 11:17:17 +01:00
options.conf.j2.manual Rewrite rsabigexponent system test to pytest 2024-10-31 16:46:51 +00:00
README.md rsabigexponent: convert the test from RSASHA1 to RSASHA256 2022-08-09 16:22:19 +02:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests_rsabigexponent.py Replace clean.sh files with extra_artifacts mark 2024-11-08 10:54:24 +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.

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);
    }