Univention Bugzilla – Bug 24187
konfigurierbare Zertifikats-Erweiterungen an Rechner Zertifikaten
Last modified: 2015-01-02 08:47:09 CET
Damit könnte man z.B. neben dem FQDN auch den Hostnamen im Zertifikat speichern, extensions = myx509v3 [ myx509v3 ] # ucs default basicConstraints = CA:FALSE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer:always # alternative name subjectAltName = DNS:$fqdn, DNS:$hostname um Rechner per https wahlweise mit dem FQDN oder dem Hostnamen anzusprechen.
Über die neue Variable "ssl/host/extensions" kann ein Shell-Script definiert werden. Diese wird beim Erstellen/Erneuern von Zertifikaten eingebunden. Dort muss die Funktion "createHostExtensionsFile" definiert werden, die als Parameter den FQDN des Rechners bekommt und einen Dateinamen mit den Erweiterung zurück gibt. Diese Datei wird dann bei der Generierung der Zertifikate mit der Option "-extfile" verwendet. Ein Beispiel für eine solches Shell-Skript liegt hier /usr/share/doc/univention-ssl/extensions-example.sh. (Es definiert zusätzlich zu den Standard UCS Extension noch subjectAltName, so dass im Zertifikat dann zusätzlich z.B. X509v3 Subject Alternative Name -> DNS:master.ww.ee, DNS:master gesetzt ist).
Ich habe in /usr/sbin/univention-certificate den Hash Bang von /bin/sh (also dash) auf /bin/bash geändert, da es sonst mit dem Konstrukt "count=$[count+1];" Probleme gibt, die zu einer Endlos-Schleife führen ... -> dash -> echo $[count+1] $[count+1] -> bash -> echo $[count+1] 1
(In reply to comment #2) > Ich habe in /usr/sbin/univention-certificate den Hash Bang von /bin/sh (also > dash) auf /bin/bash geändert, da es sonst mit dem Konstrukt "count=$[count+1];" > Probleme gibt, die zu einer Endlos-Schleife führen ... > > -> dash > -> echo $[count+1] > $[count+1] > > -> bash > -> echo $[count+1] > 1 Die $[...]-Syntax ist selbst in Bash deprecated. Empfohlen ist $((count + 1)) was auch mit dash tut. Ansonsten ist $(expr $count + 1) die portabelste Variante.
(In reply to comment #3) > (In reply to comment #2) > > Ich habe in /usr/sbin/univention-certificate den Hash Bang von /bin/sh (also > > dash) auf /bin/bash geändert, da es sonst mit dem Konstrukt "count=$[count+1];" > > Probleme gibt, die zu einer Endlos-Schleife führen ... > > > > -> dash > > -> echo $[count+1] > > $[count+1] > > > > -> bash > > -> echo $[count+1] > > 1 > > Die $[...]-Syntax ist selbst in Bash deprecated. Empfohlen ist > $((count + 1)) > was auch mit dash tut. Ansonsten ist > $(expr $count + 1) > die portabelste Variante. $[count+1] wurde durch $((count + 1)) ersetzt, univention-certificate verwendet trotzdem noch /bin/bash, da dies auch in make-certificates.sh gesetzt ist.
(In reply to comment #1) > Über die neue Variable "ssl/host/extensions" kann ein Shell-Script definiert > werden. Diese wird beim Erstellen/Erneuern von Zertifikaten eingebunden. Dort > muss die Funktion "createHostExtensionsFile" definiert werden, die als > Parameter den FQDN des Rechners bekommt und einen Dateinamen mit den > Erweiterung zurück gibt. Diese Datei wird dann bei der Generierung der > Zertifikate mit der Option "-extfile" verwendet. Das Funktioniert. > Ein Beispiel für eine solches Shell-Skript liegt hier > /usr/share/doc/univention-ssl/extensions-example.sh. (Es definiert zusätzlich > zu den Standard UCS Extension noch subjectAltName, so dass im Zertifikat dann > zusätzlich z.B. X509v3 Subject Alternative Name -> > DNS:master.ww.ee, DNS:master gesetzt ist). Dieses Beispiel funktioniert auch (FF akzeptiert dann auch den Hostnamen für SSL)
Changelog OK
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"