diff -r 960f5e7f78eb -r 920c1a51ba0e creatkey --- a/creatkey Mon Jun 21 13:32:52 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -#!/bin/bash - -while getopts ":k" opt -do - case $opt in - k ) K_OPTION="1";; - \? ) echo "SYNOPSIS: creatkey [-k] zonename" - exit 1 - esac # prueft ob -k als option angegeben wurde - shift -done - -test $# -lt 1 && echo "SYNOPSIS: creatkey [-k] zonename" && exit 1 - # prueft ob die eingabe stimmt - -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/ - - test -f index.ksk || touch index.ksk - test -f index.zsk || touch index.zsk - - 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 - fi - - #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 existirenden 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