Bug 23879 - Integrate parts of the old technical document for SSL into the extended documentation
Integrate parts of the old technical document for SSL into the extended docum...
Status: CLOSED FIXED
Product: UCS extended documentation
Classification: Unclassified
Component: Domain services / LDAP
unspecified
Other Linux
: P5 normal (vote)
: UCS 4.0-1-errata
Assigned To: Moritz Muehlenhoff
Philipp Hahn
:
: 20931 24982 (view as bug list)
Depends on:
Blocks: 35956
  Show dependency treegraph
 
Reported: 2011-09-30 08:01 CEST by Moritz Muehlenhoff
Modified: 2014-09-18 11:00 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Die umzuwandelnde Dokumentation (14.52 KB, text/x-tex)
2011-09-30 08:48 CEST, Moritz Muehlenhoff
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2011-09-30 08:01:43 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.
Comment 1 Moritz Muehlenhoff univentionstaff 2011-09-30 08:48:39 CEST
Created attachment 3580 [details]
Die umzuwandelnde Dokumentation
Comment 2 Moritz Muehlenhoff univentionstaff 2013-05-30 13:38:58 CEST
*** Bug 20931 has been marked as a duplicate of this bug. ***
Comment 3 Moritz Muehlenhoff univentionstaff 2013-05-30 13:50:07 CEST
*** Bug 24982 has been marked as a duplicate of this bug. ***
Comment 4 Moritz Muehlenhoff univentionstaff 2013-06-03 14:44:18 CEST
Documented in Chapter 3 "Advanced SSL certificate handling" of the extended domain services documentation.
Comment 5 Philipp Hahn univentionstaff 2013-06-14 09:39:37 CEST
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.
Comment 6 Moritz Muehlenhoff univentionstaff 2014-07-02 12:27:34 CEST
(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)
Comment 8 Moritz Muehlenhoff univentionstaff 2014-07-04 10:06:32 CEST
http://docs.univention.de/domain-3.2.html#extdom:ssl