1 #!/bin/sh -e 2 3 # Copyright (C) Internet Systems Consortium, Inc. ("ISC") 4 # 5 # SPDX-License-Identifier: MPL-2.0 6 # 7 # This Source Code Form is subject to the terms of the Mozilla Public 8 # License, v. 2.0. If a copy of the MPL was not distributed with this 9 # file, you can obtain one at https://mozilla.org/MPL/2.0/. 10 # 11 # See the COPYRIGHT file distributed with this work for additional 12 # information regarding copyright ownership. 13 14 . ../../conf.sh 15 16 zone=sub.tld 17 zonefile=sub.tld.db 18 19 keyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -qfk $zone) 20 zskkeyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -q $zone) 21 22 $SIGNER -Sg -o $zone $zonefile >/dev/null 2>/dev/null 23 keyfile_to_initial_ds $keyname >island.conf 24 cp island.conf ../ns5/island.conf 25 26 zone=tld 27 zonefile=tld.db 28 29 keyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -qfk $zone) 30 zskkeyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -q $zone) 31 32 $SIGNER -Sg -o $zone $zonefile >/dev/null 2>/dev/null 33 34 zone=. 35 zonefile=root.db 36 37 keyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -qfk $zone) 38 zskkeyname=$($KEYGEN -a ${DEFAULT_ALGORITHM} -q $zone) 39 40 $SIGNER -Sg -N unixtime -o $zone $zonefile >/dev/null 2>/dev/null 41 42 # Configure the resolving server with an initializing key. 43 keyfile_to_initial_ds $keyname >managed.conf 44 cp managed.conf ../ns2/managed.conf 45 cp managed.conf ../ns4/managed.conf 46 cp managed.conf ../ns5/managed.conf 47 48 # Configure broken trust anchor for ns3 49 # Rotate each nibble in the digest by -1 50 $DSFROMKEY $keyname.key \ 51 | awk '!/^; /{ 52 printf "trust-anchors {\n" 53 printf "\t\""$1"\" initial-ds " 54 printf $4 " " $5 " " $6 " \"" 55 for (i=7; i<=NF; i++) { 56 # rotate digest 57 digest=$i 58 gsub("0", ":", digest) 59 gsub("1", "0", digest) 60 gsub("2", "1", digest) 61 gsub("3", "2", digest) 62 gsub("4", "3", digest) 63 gsub("5", "4", digest) 64 gsub("6", "5", digest) 65 gsub("7", "6", digest) 66 gsub("8", "7", digest) 67 gsub("9", "8", digest) 68 gsub("A", "9", digest) 69 gsub("B", "A", digest) 70 gsub("C", "B", digest) 71 gsub("D", "C", digest) 72 gsub("E", "D", digest) 73 gsub("F", "E", digest) 74 gsub(":", "F", digest) 75 printf digest 76 } 77 printf "\";\n" 78 printf "};\n" 79 }' >../ns3/broken.conf 80 81 # Configure a static key to be used by delv. 82 keyfile_to_static_ds $keyname >trusted.conf 83 84 # Prepare an unsupported algorithm key. 85 unsupportedkey=Kunknown.+255+00000 86 cp unsupported.key "${unsupportedkey}.key" 87 88 # 89 # Save keyname and keyid for managed key id test. 90 # 91 echo "$keyname" >managed.key 92 echo "$zskkeyname" >zone.key 93 keyfile_to_key_id $keyname >managed.key.id 94