[linux-l] Automatismus um TSL-Zertifikate zu erstellen

Oliver Beck lists at inetmx.de
Fr Okt 8 23:43:52 CEST 2004


Hallo Leute,

ich sehe mich zunehmend in der Aufgabe, Zertifikate für (Open)VPN's zu
erstellen. Momentan erledige ich das noch folgendermassen:

Bearbeitung von Datei vars
Aufruf von build-ca 
Aufruf von build-dh
Aufruf von build-key Server_00 (Zertifikat für den Server)

Aufruf von build-key Client_NN (Zertifikate für die Clients)

Da ich aber immer mehr dieser Zertifikate erstellen muss, und es ganz
schön stupide ist, wenn es mal 100 Zert. werden, diese alle einzeln zu
erstellen, wollte ich mal fragen, ob jemand dafür ein automatische
Lösung kennt.

Da ich ja immer einen einmaligen Namen (Common Name) angeben muss/will,
ich immer eine Angabe habe, die sich ändert. Das hinderte mich bis dato
daran, es in einem Script [1] zu lösen. 

Ich bin schonmal so weit, dass `build-key` auch nur ein Script ist,
welches `openssl` mit verschiedenen Optionen aufruft. Nun weiss ich
allerdings nicht, in wie weit ich `openssl` Optionen übergeben kann.
Werte wie KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG und KEY_EMAIL
sind in der Datei "vars" deklariert, die ich als erstes mittels `. vars`
inkludiere. Daraus holt sich ja openssl die Werte, die dann als Standart
angeboten werden und bei denen ich nur noch <Enter> drücken muss. Ich
kann mir gut vorstellen, das dies auch mit "Common Name" machbar wäre.
Wie das dann mit dem Passwort aussieht, welches für jedes Zertifikat
benötigt (naja...viel mehr erwünscht) ist, weiß ich schonmal. Dieses
kann ich ja mittels "pass:", "env:" oder dergleichen angeben. Bzw.
angeben, von wo das Passwort bezogen werden soll. Die manpage von
opennssl fand ich (wg. den vielen referenzen zu anderen manpages) etwas
verwirrend. 

Vielleicht findet sich auch jemand, der Lust hat, an einer Lösung zu
arbeiten. Zeit und Muse hätt ich schon. Nur eben zu wenig Erfahrung mit
`openssl` an sich.



Mit freundlichen Gruessen/Best Regards Oliver Beck



,------------[1]-------------
|
| #!/bin/sh
| for i in `seq -w 01 99`; do
| 	build-key Client_$i
|
`----------------------------
done


-- 
 /"\ -ASCII-Ribbon-Campaign- |  Linux && EPIA-> http://epia.std-err.de
 \ /    Against HTML Mail    | ---                                  ---
  X                          |  --  German GNU/Hurd documentation   --
 / \                         |   -  http://de-hurd-doc.berlios.de   -



Mehr Informationen über die Mailingliste linux-l