591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt#!/bin/sh -e
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt#
9159c4c80c574867349a04d639fd303f410ed332Tinderbox User# Copyright (C) 2015-2017 Internet Systems Consortium, Inc. ("ISC")
591389c7d44e5ca20c357627dd179772cfefaaccEvan 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/.
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan HuntSYSTEMTESTTOP=../..
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt. $SYSTEMTESTTOP/conf.sh
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntzone=.
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntzonefile=root.db
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntkeyname=`$KEYGEN -qfk -r $RANDFILE $zone`
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntzskkeyname=`$KEYGEN -q -r $RANDFILE $zone`
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt$SIGNER -Sg -r $RANDFILE -o $zone $zonefile > /dev/null 2>&-
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt# Configure the resolving server with a managed trusted key.
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntcat $keyname.key | grep -v '^; ' | $PERL -n -e '
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntlocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntlocal $key = join("", @rest);
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntprint <<EOF
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntmanaged-keys {
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt "$dn" initial-key $flags $proto $alg "$key";
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt};
591389c7d44e5ca20c357627dd179772cfefaaccEvan HuntEOF
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt' > managed.conf
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntcp managed.conf ../ns2/managed.conf
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępieńcp managed.conf ../ns5/managed.conf
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt# Configure a trusted key statement (used by delve)
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntcat $keyname.key | grep -v '^; ' | $PERL -n -e '
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntlocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntlocal $key = join("", @rest);
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntprint <<EOF
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunttrusted-keys {
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt "$dn" $flags $proto $alg "$key";
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt};
591389c7d44e5ca20c357627dd179772cfefaaccEvan HuntEOF
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt' > trusted.conf
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt#
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt# Save keyname and keyid for managed key id test.
591389c7d44e5ca20c357627dd179772cfefaaccEvan Hunt#
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntecho "$keyname" > managed.key
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntkeyid=`expr $keyname : 'K\.+00.+\([0-9]*\)'`
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntkeyid=`expr $keyid + 0`
591389c7d44e5ca20c357627dd179772cfefaaccEvan Huntecho "$keyid" > managed.key.id