sign.sh revision 8013077aa7ed5d6e1daddc973ddb3c7cc7d28df1
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff#!/bin/sh -e
b7b6b01a0d0622181a4c28dd60401f0ab2480d00Mark Andrews#
fcb54ce0a4f7377486df5bec83b3aa4711bf4131Mark Andrews# Copyright (C) 2004, 2006-2013 Internet Systems Consortium, Inc. ("ISC")
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence# Copyright (C) 2000-2003 Internet Software Consortium.
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff#
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff# Permission to use, copy, modify, and/or distribute this software for any
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff# purpose with or without fee is hereby granted, provided that the above
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence# copyright notice and this permission notice appear in all copies.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff# PERFORMANCE OF THIS SOFTWARE.
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein# $Id: sign.sh,v 1.37 2011/05/03 16:07:44 marka Exp $
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence
ab023a65562e62b85a824509d829b6fad87e00b1Rob AusteinSYSTEMTESTTOP=../..
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Graff. $SYSTEMTESTTOP/conf.sh
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein
c803787146cadcb2d7e10cbf4491f3be513dfa1aMichael GraffRANDFILE=../random.data
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Graff
8cdfd17426179ae6f629a9b7475d46a22f535047Bob Halleyzone=.
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Graffinfile=root.db.in
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Graffzonefile=root.db
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Graff
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein(cd ../ns2 && sh sign.sh )
294802790e8030f1c19b6c2c5d5204b6f464c729Michael Graff(cd ../ns6 && sh sign.sh )
294802790e8030f1c19b6c2c5d5204b6f464c729Michael Graff
9282e3c21a20f354e22ad3f092aea4956abaea5cMichael Graffcp ../ns2/dsset-example. .
294802790e8030f1c19b6c2c5d5204b6f464c729Michael Graffcp ../ns2/dsset-dlv. .
9282e3c21a20f354e22ad3f092aea4956abaea5cMichael Graffgrep "8 [12] " ../ns2/dsset-algroll. > dsset-algroll.
294802790e8030f1c19b6c2c5d5204b6f464c729Michael Graffcp ../ns6/dsset-optout-tld. .
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graff
66bd3b3c6b171271c705b897823dcdcf29464698Michael Graffkeyname=`$KEYGEN -q -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
058eeac2105c39e7cb31fb75ee0b473717ec3bbcMark Andrews
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrencecat $infile $keyname.key > $zonefile
3024dbecbac365171bc6de0f3fa04951d6558be3Michael Graff
5fca48054b5e791a2fa0c5015bc3b6fef4fcdce1Andreas Gustafsson$SIGNER -P -g -r $RANDFILE -o $zone $zonefile > /dev/null
f181f94ec8da8b1dbcc6353e8be965ea4a5ea282Michael Graff
6028d1ce0380d0ba7f6c6ecd1ad20b31ddd1becbDavid Lawrence# Configure the resolving server with a trusted key.
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrencecat $keyname.key | grep -v '^; ' | $PERL -n -e '
3ac63b472022ff92691d1fe69ac715a729671965Michael Grafflocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
440be4c866f6935ac069db79a414304507a664c2Michael Grafflocal $key = join("", @rest);
11fcc67616fac1bc6a28b3d4fed24641137888e7Michael Graffprint <<EOF
e45d323a2a0f4ca08d4b139546e60a5fa7bd3f0cMichael Grafftrusted-keys {
29f28fe573d4b3b318b3b026d567c1eb86738015Michael Graff "$dn" $flags $proto $alg "$key";
86944a4c8002e80ae9b6eb5a5e29b797879be45fMichael Graff};
21e7034ec046105c00a0dab86c83732e2e77ad99Michael GraffEOF
e51511aa3281f8dc384eb1283115c7f8d5c402aeMichael Graff' > trusted.conf
e51511aa3281f8dc384eb1283115c7f8d5c402aeMichael Graff
d1cbf714097e900ed1703529584d3e1a50e8a4a8Brian Wellington# ...or with a managed key.
11efdeb076d65fa9f0c5fc067dc040e7c99dfba6Michael Graffcat $keyname.key | grep -v '^; ' | $PERL -n -e '
09f22ac5b09e70bc526015f37168ba33e21ea91fDavid Lawrencelocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Grafflocal $key = join("", @rest);
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrenceprint <<EOF
31fab17bcdbe302592a6c0dc5374ef56333ee879Michael Graffmanaged-keys {
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrence "$dn" initial-key $flags $proto $alg "$key";
31fab17bcdbe302592a6c0dc5374ef56333ee879Michael Graff};
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David LawrenceEOF
31fab17bcdbe302592a6c0dc5374ef56333ee879Michael Graff' > managed.conf
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrencecp trusted.conf ../ns2/trusted.conf
31fab17bcdbe302592a6c0dc5374ef56333ee879Michael Graffcp trusted.conf ../ns3/trusted.conf
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrencecp trusted.conf ../ns4/trusted.conf
31fab17bcdbe302592a6c0dc5374ef56333ee879Michael Graffcp trusted.conf ../ns6/trusted.conf
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrencecp trusted.conf ../ns7/trusted.conf
bb143613cf26e0f27dfd9caf1a7336065d064b26Michael Graffcp managed.conf ../ns4/managed.conf
92ef1a9b9dbd48ecb507b42ac62c15afefdaf838David Lawrence#
fe14eafefa91fada7cea0a55b09196c01477406cBob Halley# Save keyid for managed key id test.
11fcc67616fac1bc6a28b3d4fed24641137888e7Michael Graff#
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austeinkeyid=`expr $keyname : 'K.+001+\(.*\)'`
8cdfd17426179ae6f629a9b7475d46a22f535047Bob Halleykeyid=`expr $keyid + 0`
8cdfd17426179ae6f629a9b7475d46a22f535047Bob Halleyecho "$keyid" > managed.key.id
8cdfd17426179ae6f629a9b7475d46a22f535047Bob Halleycat $keyname.key | grep -v '^; ' | $PERL -n -e '
ad3a5c4b7e21af04d1b872f933c2e19e5c0a135bMichael Grafflocal ($dn, $class, $type, $flags, $proto, $alg, @rest) = split;
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austeinlocal $key = join("", @rest);
3115cd89bc1e1fd3ecc4705d253e3484a3f5c555Michael Graffprint "-a $alg -e -k $dn -K $key\n"
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein' > sample.key
3115cd89bc1e1fd3ecc4705d253e3484a3f5c555Michael Graff