Univention Bugzilla – Bug 23879
Integrate parts of the old technical document for SSL into the extended documentation
Last modified: 2014-09-18 11:00:23 CEST
Die Dokumentation zu den SSL-Zertifikaten ist in 2.4 ein technisches Dokument. In 3.0 werde ich einen kleinen Teil ins Handbuch integrieren, alle weiterführenden Anleitungen (wie das Verwalten von Zertifikaten mit univention-certificate) wird in die erweiterte Doku is Wiki verschoben.
Created attachment 3580 [details] Die umzuwandelnde Dokumentation
*** Bug 20931 has been marked as a duplicate of this bug. ***
*** Bug 24982 has been marked as a duplicate of this bug. ***
Documented in Chapter 3 "Advanced SSL certificate handling" of the extended domain services documentation.
Einige kleine Änderung habe ich direkt selber vorgenommen: * <programlisting> ist ein block-level-Element, d.h. bei eine Verwendung als inline-Element innerhalb eines Absatzes erzeugt das Listing trotzdem einen neuen Absatz; das führt bei Verwendung innerhalb von Sätzen zu einem seltsamen Aussehen, von daher habe ich das so umgestellt, daß ein vollständiger Satz davor steht, dann das Listing kommt, und es danach mit einem neuen Satz beginnt. * Die <programlisting>s wurden mit language="..." für ein zukpnftiges Syntax-Highlighting ausgezeichnetannotiert. * Einrückung und Zeilenumbrüche der <programlisting>s korrigiert. (noch ein Leerzeichen nach einem \ für den Zeilenumbruch ist böse!) * Umstellung der Beschreibung der Dateien von <itemizedlist> zu <variablelist>, um die Übersicht zu erhöhen. * Kleine Änderungen am Wortlaut. Nun aber zum eigentlichen Hauptproblem: Das Signieren des root-Zerifikats funktioniert so nicht! Neben einem DN für Subject und Issuer speichern Zertifikate seit X509v3 auch noch einen "x509v3 Key Identifier", der ein Zertifikat eineindeutig identifiziert. Grob gesagt wurde der damals eingeführt, um verschiedenen Generationen eines Zertifikats voneinander unterscheiden zu können, die beim Neuausstellen eines Zertifikats z.B. nach Ablauf entstehen. Diese ID wird bei der Überprüfung dazu benutzt, die Zertifikatskette zu rekonstruieren. Dadurch daß eine externe CA ein neues Zertifikat erstellt, hat dieses zar denb gleichen DN, aber eine neue ID; dadurch ist die Kette unterbrochen und die Verifizierung schlägt fehl: # openssl x509 -noout -text \ -nameopt multiline,-esc_msb,dump_unknown \ -certopt no_pubkey,no_sigdump,no_header,no_version,no_serial,no_signame,no_validity,no_subject,no_issuer \ -in CA.pem ucsCA/CAcert.pem xen12.phahn.dev/cert.pem ... X509v3 Subject Key Identifier: 28:97:14:A9:26:7A:E0:A9:27:39:2A:BD:C6:61:E7:61:D3:62:86:B6 X509v3 Authority Key Identifier: keyid:9A:D3:6B:56:9D:1D:13:D2:12:33:BE:79:B6:F0:2A:C3:A1:D2:DB:F3 DirName:/C=DE/ST=DE/L=DE/O=DE/OU=Univention Corporate Server/CN=Univention Corporate Server Root CA (ID=MV8H1id2)/emailAddress=ssl@phahn.qa ... X509v3 Subject Key Identifier: 9A:D3:6B:56:9D:1D:13:D2:12:33:BE:79:B6:F0:2A:C3:A1:D2:DB:F3 X509v3 Authority Key Identifier: keyid:83:B2:41:90:3F:0F:39:A4:6B:95:A5:E5:8A:76:4C:A6:A4:CC:85:80 DirName:/C=DE/ST=DE/L=DE/O=DE/OU=Univention Corporate Server/CN=Univention Corporate Server Root CA (ID=MV8H1id2)/emailAddress=ssl@phahn.qa ... X509v3 Subject Key Identifier: 83:B2:41:90:3F:0F:39:A4:6B:95:A5:E5:8A:76:4C:A6:A4:CC:85:80 X509v3 Authority Key Identifier: keyid:83:B2:41:90:3F:0F:39:A4:6B:95:A5:E5:8A:76:4C:A6:A4:CC:85:80 DirName:/C=DE/ST=DE/L=DE/O=DE/OU=Univention Corporate Server/CN=Univention Corporate Server Root CA (ID=MV8H1id2)/emailAddress=ssl@phahn.qa Bei einem zusätzlichen "-issuer_check" sieht man auch, warum ein Verfiy fehlschlägt: # openssl verfiy -issuer_checks - xen12.phahn.dev/cert.pem" error 29 at 0 depth lookup:subject issuer mismatch ... error 31 at 0 depth lookup:authority and issuer serial number mismatch ... error 20 at 0 depth lookup:unable to get local issuer certificate Arvid hat mal für einen Kunden untersucht, ob es trotz der KeyId möglich ist, einen Wechsel des CA Zertifikats durchzuführen. Prinzipiell ja, aber schön ist das nicht: <svn+ssh://billy.knut.univention.de/var/svn/doku/branches/ucs-2.2/customers/0009_XXX/PKI/CA_Zertifikatswechsel.tex> Gescheitert ist das Projekzt damals daran, daß keine der well-known-CAs bereit war, eine Sub-CA für unter 50k€ zu signieren. (Prinzipiell würde die CA es damit jemand anderes ermöglichen, beliebige Zertifikate in ihrem Namen auszustellen. Da es vielen CAs nur ums Geld machen geht, würden sie damit ein Geschäftsfeld verlieren) Von daher sollte nochmal überlegt werden, ob das wirklich so dokumentiert werden soll, wenn es dann doch nicht 100%ig funktioniert.
(In reply to Philipp Hahn from comment #5) > Von daher sollte nochmal überlegt werden, ob das wirklich so dokumentiert > werden soll, wenn es dann doch nicht 100%ig funktioniert. Ich habe den Teil entfernt und den Rest jetzt wieder einkommentiert (Revision 51432)
FIXED: r51432 → r51508 OK: <http://jenkins.knut.univention.de:8080/job/UCS-3.2%20Handbook%20Extended/100/artifact/webroot/domain-3.2.html#idp5695296>
http://docs.univention.de/domain-3.2.html#extdom:ssl