# HG changeset patch # User Andre Suess # Date 1277119972 -7200 # Node ID 960f5e7f78ebf3df1834274a2ebb909823e7d373 # Parent b37919de433cb68a7da25d79de1db49b884b93d4 creatksk und creatzsk zusammengefuegt zu creatkey diff -r b37919de433c -r 960f5e7f78eb README --- a/README Fri Jun 18 16:04:42 2010 +0200 +++ b/README Mon Jun 21 13:32:52 2010 +0200 @@ -1,8 +1,8 @@ zonedatei erstellen - mkdomain kundenname domainname -- creatzsk domainname -- creatksk domainname +- creatkey domainname +- creatkey -k domainname - mkready @@ -21,12 +21,10 @@ neuen ZSK erstellen - creatzsk domainname - -- spaeter oder per Cron killkeys ausfuehren +- spaeter oder per cron killkeys ausfuehren neuen KSK erstellen -- creatksk domainname - +- creatksk -k domainname - spaeter oder per cron killkeys ausfuehren diff -r b37919de433c -r 960f5e7f78eb creatkey --- a/creatkey Fri Jun 18 16:04:42 2010 +0200 +++ b/creatkey Mon Jun 21 13:32:52 2010 +0200 @@ -7,18 +7,17 @@ \? ) echo "SYNOPSIS: creatkey [-k] zonename" exit 1 esac # prueft ob -k als option angegeben wurde + shift done -test $# -lt $[$K_OPTION+1] && echo "SYNOPSIS: creatkey [-k] zonename" && exit 1 - # prueft ob eine es eine domain gibt +test $# -lt 1 && echo "SYNOPSIS: creatkey [-k] zonename" && exit 1 + # prueft ob die eingabe stimmt -# durchgang fuer jede eingabe -for DOMAIN in $@ +for DOMAIN in $@ # durchgang fuer jede eingabe do - ZONE_DIR=/etc/bind/master # konfiguration ZONE_NAME=`idn --quiet $DOMAIN` - + if [ -d $ZONE_DIR/$ZONE_NAME ] # prueft die existens des zoneordners then cd $ZONE_DIR/$ZONE_NAME/ @@ -26,25 +25,25 @@ test -f index.ksk || touch index.ksk test -f index.zsk || touch index.zsk - if test # erzeugt die schluessel und erstelt eine indexdatei + if test $K_OPTION # erzeugt die schluessel und erstelt eine indexdatei then + echo "erzeugt ksk fuer" $DOMAIN + dnssec-keygen -a RSASHA1 -b 2048 -n ZONE -f KSK $ZONE_NAME >> index.ksk + INDEX_KSK=$( tail -n2 index.ksk ) ; echo $INDEX_KSK | fmt -w1 > index.ksk + else echo "erzeugt zsk fuer" $DOMAIN dnssec-keygen -a RSASHA1 -b 512 -n ZONE $ZONE_NAME >> index.zsk INDEX_ZSK=$( tail -n2 index.zsk ) ; echo $INDEX_ZSK | fmt -w1 > index.zsk - else - echo "erzeugt ksk fuer" $DOMAIN - dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -f KSK $ZONE_NAME >> index.ksk - INDEX_KSK=$( tail -n2 index.ksk ) ; echo $INDEX_KSK | fmt -w1 > index.ksk fi - #loesche alle Schluessel die nicht in der indexdatei stehen + #loescht alle Schluessel die nicht in der indexdatei stehen rm $(ls K*[key,private] | grep -v "`cat index.zsk`" | grep -v "`cat index.ksk`") 2> /dev/null #erzeugt ein backup und entfernt alle schluessel aus der zonedatei mv $ZONE_NAME $ZONE_NAME.old grep -v 'DNSKEY' $ZONE_NAME.old >> $ZONE_NAME - #fuegt die schluessel in die zonedatei ein + #fuegt die existirenden schluessel in die zonedatei ein cat K$ZONE_NAME.*key >>$ZONE_NAME #signiert die zonedatei - erzeugt zone.signed @@ -55,5 +54,4 @@ done - exit 0 diff -r b37919de433c -r 960f5e7f78eb creatksk --- a/creatksk Fri Jun 18 16:04:42 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -#!/bin/bash - -test $# -lt 1 && echo "SYNOPSIS: mkseckey domainname" && exit 1 - -# durchgang fuer jede eingabe -for DOMAIN in $@ -do - #konfiguration - ZONE_DIR=/etc/bind/master - ZONE_NAME=`idn --quiet $DOMAIN` - - # pruefe die existens des ordners der zone - # und beende den durchlauf bei negativer pruefung - if [ -d $ZONE_DIR/$ZONE_NAME ] - then - cd $ZONE_DIR/$ZONE_NAME/ - - test -f index.ksk || touch index.ksk - test -f index.zsk || touch index.zsk - - #erzeugt die schluessel - #echo "erzeugt zsk fuer" $DOMAIN - #dnssec-keygen -a RSASHA1 -b 512 -n ZONE $ZONE_NAME >> index.zsk - echo "erzeugt ksk fuer" $DOMAIN - dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -f KSK $ZONE_NAME >> index.ksk - - #aktuallisiert die schluesselindexdateien - # INDEX_ZSK=$( tail -n2 index.zsk ) ; echo $INDEX_ZSK | fmt -w1 > index.zsk - INDEX_KSK=$( tail -n2 index.ksk ) ; echo $INDEX_KSK | fmt -w1 > index.ksk - - #loesche alle Schluessel die nicht in der indexdatei stehen - rm $(ls K*[key,private] | grep -v "`cat index.zsk`" | grep -v "`cat index.ksk`") 2> /dev/null - - #erzeugt ein backup und entfernt alle schluessel aus der zonedatei - mv $ZONE_NAME $ZONE_NAME.old - grep -v 'DNSKEY' $ZONE_NAME.old >> $ZONE_NAME - - #fuegt die schluessel in die zonedatei ein - cat K$ZONE_NAME.*key >>$ZONE_NAME - - #signiert die zonedatei - erzeugt zone.signed - dnssec-signzone $ZONE_NAME - else - echo "zone $ZONE_NAME nicht gefunden" - fi - -done - - -exit 0 diff -r b37919de433c -r 960f5e7f78eb creatzsk --- a/creatzsk Fri Jun 18 16:04:42 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -#!/bin/bash - -test $# -lt 1 && echo "SYNOPSIS: mkseckey domainname" && exit 1 - -# durchgang fuer jede eingabe -for DOMAIN in $@ -do - #konfiguration - ZONE_DIR=/etc/bind/master - ZONE_NAME=`idn --quiet $DOMAIN` - - # pruefe die existens des ordners der zone - # und beende den durchlauf bei negativer pruefung - if [ -d $ZONE_DIR/$ZONE_NAME ] - then - cd $ZONE_DIR/$ZONE_NAME/ - - test -f index.ksk || touch index.ksk - test -f index.zsk || touch index.zsk - - #erzeugt die schluessel - echo "erzeugt zsk fuer" $DOMAIN - dnssec-keygen -a RSASHA1 -b 512 -n ZONE $ZONE_NAME >> index.zsk - # echo "erzeugt ksk fuer" $DOMAIN - # dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -f KSK $ZONE_NAME >> index.ksk - - #aktuallisiert die schluesselindexdateien - INDEX_ZSK=$( tail -n2 index.zsk ) ; echo $INDEX_ZSK | fmt -w1 > index.zsk - # INDEX_KSK=$( tail -n2 index.ksk ) ; echo $INDEX_KSK | fmt -w1 > index.ksk - - #loesche alle Schluessel die nicht in der indexdatei stehen - rm $(ls K*[key,private] | grep -v "`cat index.zsk`" | grep -v "`cat index.ksk`") 2> /dev/null - - #erzeugt ein backup und entfernt alle schluessel aus der zonedatei - mv $ZONE_NAME $ZONE_NAME.old - grep -v 'DNSKEY' $ZONE_NAME.old >> $ZONE_NAME - - #fuegt die schluessel in die zonedatei ein - cat K$ZONE_NAME.*key >>$ZONE_NAME - - #signiert die zonedatei - erzeugt zone.signed - dnssec-signzone $ZONE_NAME - else - echo "zone $ZONE_NAME nicht gefunden" - fi - -done - - -exit 0