a8783019814daa36dd57afe3f527462822834c3bEvan Hunt#!/bin/sh -e
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Copyright (C) 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# file, You can obtain one at http://mozilla.org/MPL/2.0/.
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan HuntSYSTEMTESTTOP=../..
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt. $SYSTEMTESTTOP/conf.sh
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Huntzone=.
a8783019814daa36dd57afe3f527462822834c3bEvan Huntinfile=root.db.in
a8783019814daa36dd57afe3f527462822834c3bEvan Huntzonefile=root.db
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
cc51cd2d2076e33117c60c9effcb8caccde4983bWitold Krecicki(cd ../ns2 && $SHELL sign.sh )
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
cc51cd2d2076e33117c60c9effcb8caccde4983bWitold Krecickicp ../ns2/dsset-example$TP .
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Huntkeyname=`$KEYGEN -q -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Huntcat $infile $keyname.key > $zonefile
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt# Configure the resolving server with a trusted key.
a8783019814daa36dd57afe3f527462822834c3bEvan Huntcat $keyname.key | grep -v '^; ' | $PERL -n -e '
a8783019814daa36dd57afe3f527462822834c3bEvan Huntlocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
a8783019814daa36dd57afe3f527462822834c3bEvan Huntlocal $key = join("", @rest);
a8783019814daa36dd57afe3f527462822834c3bEvan Huntprint <<EOF
a8783019814daa36dd57afe3f527462822834c3bEvan Hunttrusted-keys {
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt "$dn" $flags $proto $alg "$key";
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt};
a8783019814daa36dd57afe3f527462822834c3bEvan HuntEOF
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt' > trusted.conf
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt# ...or with a managed key.
a8783019814daa36dd57afe3f527462822834c3bEvan Huntcat $keyname.key | grep -v '^; ' | $PERL -n -e '
a8783019814daa36dd57afe3f527462822834c3bEvan Huntlocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
a8783019814daa36dd57afe3f527462822834c3bEvan Huntlocal $key = join("", @rest);
a8783019814daa36dd57afe3f527462822834c3bEvan Huntprint <<EOF
a8783019814daa36dd57afe3f527462822834c3bEvan Huntmanaged-keys {
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt "$dn" initial-key $flags $proto $alg "$key";
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt};
a8783019814daa36dd57afe3f527462822834c3bEvan HuntEOF
a8783019814daa36dd57afe3f527462822834c3bEvan Hunt' > managed.conf
a8783019814daa36dd57afe3f527462822834c3bEvan Huntcp trusted.conf ../ns2/trusted.conf