diff --git a/README.md b/README.md
index 1c5b14b..3456fa0 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,74 @@
Das Schließsystem läuft auf einem RaspberryPi mit der Erweiterungsplatine "PiFaceDigitalIO".
+##Software##
+
+###Installation###
+apt-get install python-pifacedigitalio
+
+Um das Paket zu installieren muss die */etc/apt/sources.list* angepasst werden.
+
+deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
+
+deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
+
+Wer apt-get benutzt, kann den Raspbian Pubkey zum keyring hinzufügen.
+
+wget http://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -
+
+
+
+###Dateiliste###
+Der Deamon besteht aus folgenden Dateien.
+
+* foodoor
+* foodoord
+* foodoord.conf
+* foodoord_initd
+* foodoor-ssh-wrapper
+* foodoor-update-keydb
+
+##Schüssel
+
+###Schlüsselupdate
+
foodoor-update-keydb
+
+Aktualisiert die die Schlüssel auf der Tür und baut die *Authorized_Keys* für die User *open* und *close*. Keys die nicht dem OpenSSH-Format mit 4096 bit entsprechen, werden ignoriert. Wenn das Script von Hand aufgerufen wird, werden die betroffenen Keys angezeigt. Über einen Cronjob werden die Keys alle **5 Min aktualisiert**.
+
+###Schlüsselformate###
+Der foodoord akzeptiert nur Pub-Keys im *OpenSSH2-Format*. Keys lassen sich unter anderem mit OpenSSH oder PuTTygen erzeugen.
+
+###OpenSSH####
+
+####Keys generieren####
+* Mit ssh-keygen -b 4096
lassen sich Keys generieren.
+* ssh-add $Pfad_zum_Key
fügt den Key dem ssh-Agent hinzu. Die Option ssh-add -l
zeigt geladene Keys an.
+* ssh-kegen -l -f $Pfad_zum_Key
gibt den Fingerprint und andere Informationen zurück.
+
+####Keys konvertieren(PuTTy>OpenSSH):####
+* ssh-keygen -i $Pfad_zum_Key > $Pfad_neuer_Pfad.pub
liest ssh2-kompatible Keys(RFC 4716) ein und speichert diese im OpenSSH-Format.
+
+###PuTTy###
+Da die Tür nur Keys im OpenSSH-Format verträgt, dürfen auch mit Putty nur OpenSSH-Keys genutzt werden.
+
+###Keys generieren (OpenSSH-Format mit PuttyGen):###
+1. PuTTYgen öffnen
+2. Unten "Number of Bits in a generated Key:" 4096 eintippen
+3. "Generate" klicken um Key zu generieren
+4. Nach dem generieren oben im Menu "Conversions" > "Export OpenSSH-Key"
+5. Speichern
+
+Es ist zu beachten, dass Putty den PrivateKey im Putty-Format benötigt! Das heißt, falls der generierte Key vor dem Export nicht gespeichert wurde, muss der private Key noch konvertiert werden, siehe nächster Punkt!
+
+###Keys konvertieren(OpenSSH>PuTTy):###
+1. PuTTYgen öffnen
+2. "Load" drücken
+3. OpenSSH-Key auswählen
+4. "Save Private-Key" drücken
+5. Speichern
+
+##Hardware
+
### Input:
* ssh-login
* Klingel
@@ -10,4 +78,4 @@ Das Schließsystem läuft auf einem RaspberryPi mit der Erweiterungsplatine "PiF
### Output:
* Status LEDs
* Summer
-* Keymatic
\ No newline at end of file
+* Keymatic
diff --git a/foodoor-update-keydb b/foodoor-update-keydb
index fa9670f..4031c54 100755
--- a/foodoor-update-keydb
+++ b/foodoor-update-keydb
@@ -24,13 +24,14 @@ do
do
valid_key=$(ssh-keygen -l -f ${keyfile})
if [ "$?" -eq "0" ]; then
- if [ $(echo "${valid_key}" | cut -d" " -f1) -ne "4096" ]; then
- echo "Key size of key ${keyfile} not equal to 4096. Not adding it to key database." >&2
+ if [ $(echo "${valid_key}" | cut -d" " -f1) -lt "4096" ]; then
+ echo "Size of key ${keyfile} is less than 4096. Not adding it to key database." >&2
continue
fi
fi
printf "command=\"/usr/sbin/foodoor ${action}\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding " >> ${outfile}
cat "${keyfile}" >> ${outfile}
+ echo >> ${outfile}
done
install -d -o ${action} -g nogroup -m 0700 /var/lib/foodoor/${action}/.ssh
install -b -S .last -o ${action} -g nogroup -m 0600 ${outfile} /var/lib/foodoor/${action}/.ssh/authorized_keys