--- 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