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 # Fake an unsupported key 17 unsupportedkey=$("$KEYGEN" -q -a "$DEFAULT_ALGORITHM" -b "$DEFAULT_BITS" -n zone unsupported) 18 awk '$3 == "DNSKEY" { $6 = 255 } { print }' ${unsupportedkey}.key >${unsupportedkey}.tmp 19 mv ${unsupportedkey}.tmp ${unsupportedkey}.key 20 21 zone=bits 22 rm -f K${zone}.+*+*.key 23 rm -f K${zone}.+*+*.private 24 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 25 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 26 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 27 28 zone=noixfr 29 rm -f K${zone}.+*+*.key 30 rm -f K${zone}.+*+*.private 31 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 32 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 33 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 34 35 zone=primary 36 rm -f K${zone}.+*+*.key 37 rm -f K${zone}.+*+*.private 38 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 39 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 40 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 41 42 zone=dynamic 43 rm -f K${zone}.+*+*.key 44 rm -f K${zone}.+*+*.private 45 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 46 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 47 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 48 49 zone=updated 50 rm -f K${zone}.+*+*.key 51 rm -f K${zone}.+*+*.private 52 zsk=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -L 3600 -n zone $zone) 53 ksk=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -L 3600 -n zone -f KSK $zone) 54 $SETTIME -s -g OMNIPRESENT -k RUMOURED now -z RUMOURED now "$zsk" >settime.out.updated.1 2>&1 55 $SETTIME -s -g OMNIPRESENT -k RUMOURED now -r RUMOURED now -d HIDDEN now "$ksk" >settime.out.updated.2 2>&1 56 $DSFROMKEY -T 1200 $ksk >>../ns1/root.db 57 $SIGNER -S -x -O raw -L 2000042407 -o ${zone} ${zone}.db >/dev/null 58 cp primary2.db.in updated.db 59 60 # signatures are expired and should be regenerated on startup 61 zone=expired 62 rm -f K${zone}.+*+*.key 63 rm -f K${zone}.+*+*.private 64 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 65 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 66 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 67 $SIGNER -PS -s 20100101000000 -e 20110101000000 -O raw -L 2000042407 -o ${zone} ${zone}.db >/dev/null 68 69 zone=retransfer 70 rm -f K${zone}.+*+*.key 71 rm -f K${zone}.+*+*.private 72 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 73 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 74 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 75 76 zone=nsec3 77 rm -f K${zone}.+*+*.key 78 rm -f K${zone}.+*+*.private 79 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 80 $DSFROMKEY -T 1200 $keyname >>../ns1/root.db 81 82 zone=delayedkeys 83 rm -f K${zone}.+*+*.key 84 rm -f K${zone}.+*+*.private 85 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 86 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 87 # Keys for the "delayedkeys" zone should not be initially accessible. 88 mv K${zone}.+*+*.* ../ 89 90 zone=removedkeys-primary 91 rm -f K${zone}.+*+*.key 92 rm -f K${zone}.+*+*.private 93 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 94 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 95 96 zone=removedkeys-secondary 97 rm -f K${zone}.+*+*.key 98 rm -f K${zone}.+*+*.private 99 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 100 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 101 102 for s in a c d h k l m q z; do 103 zone=test-$s 104 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 105 done 106 107 for s in b f i o p t v; do 108 zone=test-$s 109 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone $zone) 110 keyname=$($KEYGEN -q -a ${DEFAULT_ALGORITHM} -n zone -f KSK $zone) 111 done 112 113 zone=externalkey 114 zonefile=${zone}.db 115 rm -f K${zone}.+*+*.key 116 rm -f K${zone}.+*+*.private 117 118 for alg in ${DEFAULT_ALGORITHM} ${ALTERNATIVE_ALGORITHM}; do 119 k1=$($KEYGEN -q -a $alg -n zone -f KSK $zone) 120 k2=$($KEYGEN -q -a $alg -n zone $zone) 121 k3=$($KEYGEN -q -a $alg -n zone $zone) 122 k4=$($KEYGEN -q -a $alg -n zone -f KSK $zone) 123 $DSFROMKEY -T 1200 $k4 >>../ns1/root.db 124 125 cat $k1.key $k2.key >>$zonefile 126 127 rm -f $k1.key 128 rm -f $k1.private 129 rm -f $k2.key 130 rm -f $k2.private 131 done 132