die Links und die Namen der Zertifikate wurden geändert, bitte Doku anpassen
Wenn Ihr PC eine verschlüsselte Verbindung über SSL bzw. TLS zu einem Server der Hochschule herstellt, überprüft Ihr PC, ob die Verbindung wirklich zum korrekten Server hergestellt wurde. Sie wollen schließlich nicht Ihre Zugangsdaten zu HSM-Diensten an irgendjemanden aushändigen, der sich lediglich als HSM ausgibt.
Für diese Überprüfung stellt jeder Server-Dienst ein Dienst-Zertifikat bereit. Dieses enthält den öffentlichen Schlüssel (public key) des Dienstes und ist von einer Zertifizierungsstelle (certification authority, CA) unterschrieben (signiert).
Damit die Unterschrift des CA unter dem Public Key überprüft werden kann, muss der öffentliche Schlüssel des CA auf Ihrem PC als vertrauenswürdige Stammzertifizierungsstelle (trusted CA) konfiguriert sein.
Nach der Installation aktueller Windows- und Linux-Installationen sind bereits einige vertrauenswürdige Stammzertifizierungsstellen vorkonfiguriert, hauptsächlich die für Updates benötigten.
Die Menge der vorkonfigurierten CAs unterscheidet sich, abhängig von der Windows-Version bzw. Linux-Distribution. Daher sind ggf. Anpassungen erforderlich.
Aus Kosten- und Aufwandsgründen verwenden einige Dienste der HSM selbst-signierte Zertifikate. Daher ist es sinnvoll, die CA-Zertifikate der HSM und die zugehörige CA-Kette zu importieren.
Auf der DFN-Webseite für Zertifikate finden Sie das Wurzelzertifikat, das DFN-PCA-Zertifikat und das DFN-CA Global G2 Zertifikat. Klicken Sie jeden der drei Links mit der rechten Maustaste an, wählen Sie im Kontextmenü „Ziel speichern unter…“ und speichern Sie die Zertifikate mit den korrigierten Dateinamen „dfn-rootcert.crt“, „dfn-intermediatecacert.crt“ und „dfn-cacert.crt“ ab. Sie können sich auch die Zertifikatskette als PEM-Datei herunterladen.
Zusätzlich wird das CA-Zertifikat für hochschulinterne Dienste benötigt. Speichern Sie auch iukca3.crt in C:\Temp bzw. /tmp ab.
Unter Windows können Zertifikate benutzerabhängig oder systemweit abgespeichert werden. Sinnvoll ist für die CA-Zertifikate die systemweite Speicherung, da der Vorgang sonst für jeden Benutzer durchgeführt werden muss.
Unter Cygwin stehen die Zertifikate nicht wie sonst unter Linux üblich im Verzeichnis /etc/openldap/cacerts bzw. /etc/pki/tls/certs sondern in /usr/ssl/certs. Starten Sie eine Cygwin Bash Shell als Administrator und verwenden Sie die nachfolgenden Kommandos. Die Zieldateinamen in den ln-Befehlen und im chmod-Befehl müssen ggf an die Hash-Werte angepasst werden, die von den openssl-Kommandos ausgegeben wurden:
cd /usr/ssl/certs cp /cygdrive/c/temp/dfn-rootcert.crt dfn-rootcert.crt cp /cygdrive/c/temp/dfn-intermediatecert.crt dfn-intermediatecert.crt cp /cygdrive/c/temp/dfn-cacert.crt dfn-cacert.crt cp /cygdrive/c/temp/iukca3.crt iuk3ca.crt openssl x509 -subject_hash -noout -inform der -in dfn-rootcert.crt openssl x509 -subject_hash -noout -inform der -in dfn-intermediatecert.crt openssl x509 -subject_hash -noout -inform der -in dfn-cacert.crt openssl x509 -subject_hash -noout -in iukca3.crt ln -s dfn-rootcert.crt 1e09d511.0 ln -s dfn-intermediatecert.crt 8dcb65b2.0 ln -s dfn-cacert.crt 6ab64010.0 ln -s iukca3.crt 7a869ab8.0 chmod 644 812e17de.0 6107e209.0 74f0e817.0 7a869ab8.0
Achten Sie darauf, dass im Zieldateinamen der „ln -s“-Anweisung der Hexadezimalwert vor „.0“ der Wert ist, der von der „openssl x509“-Anweisung als Hashwert ausgegeben wurde. Mit älteren Versionen des Programmes OpenSSL erhalten Sie evtl. andere Hash-Werte.
Hier sind die Werte vom 21.04.2021 angegeben. Für erneuerte Zertifikate ändern sich die Hashwerte natürlich
Zertifikat-Versionen im PEM-Format werden mit den Kommandos
for i in telekom dfn cacert do openssl x509 -inform DER -in $i.crt -outform PEM $i.pem done cp iukca3.crt iukca3.pem
erzeugt.
Mit
yum install ca-certificates
update-ca-trust force-enable
wird das dynamische Zertifikate-Management installiert und aktiviert.
Das Verzeichnis /etc/pki/ca-trust/source/anchors wird angelegt, falls noch nicht vorhanden. Die oben erzeugten *.pem-Dateien werden dorthin kopiert.
Mit
update-ca-trust
werden die Zertifikate in den systemweiten Zertifikatsbestand übernommen.
Das Verzeichnis /etc/pki/ca-trust/source/anchors wird angelegt, falls noch nicht vorhanden. Die oben erzeugten *.pem-Dateien werden dorthin kopiert.
Mit
update-ca-trust
werden die Zertifikate in den systemweiten Zertifikatsbestand übernommen.
Das Verzeichnis /usr/local/share/ca-certificates wird angelegt, falls noch nicht vorhanden. Die oben erzeugten *.pem-Dateien werden dorthin kopiert, erhalten aber die Endung „*.crt“.
Mit
update-ca-certificates
werden die Zertifikate in den systemweiten Zertifikatsbestand übernommen.
Java verwendet nicht den systemweiten Zertifikatsspeicher, sondern einen eigenen Keystore. Sollen Java-Programme SSL-Verbindungen aufbauen (z.B. LDAP-Browser, die ldaps verwenden), müssen die benötigten CA-Zertifikate auch in diesem Keystore enthalten sein.
Der Keystore befindet sich in einer Datei cacerts innerhalb der Java-Directory-Struktur. Wurde z.B. Java JRE 1.7.0.51 nach /usr/local/jre1.7.0_51 installiert, ist das Java-Binary die Datei /usr/local/jre1.7.0_51/bin/java und der Keystore die Datei /usr/local/jre1.7.0_51/lib/security/cacerts.
Wird OpenJDK verwendet, ist das Java-Binary /usr/bin/java, der Keystore /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51.x86_64/jre/lib/security/cacerts ist ein symbolischer Link zu /etc/pki/java/cacerts.
In den nachfolgenden keytool-Befehlen muss der Name der Keystore-Datei angepasst werden.
Mit
keytool -list -keystore /usr/local/jre1.7.0_51/lib/security/cacerts
werden die Zertifikate im Java-Keystore angezeigt. Für jedes Zertifikat wird u.a. ein Kurzname (Alias) angezeigt sowie ein Fingerprint. Das Standard-Passwort für Java-Keystores ist „changeit“.
Wichtig: Verwenden Sie das keytool-Programm der jeweiligen Java-Version!
Mit
openssl x509 -noout -fingerprint -in /.../dfn-rootcert.pem openssl x509 -noout -fingerprint -in /.../dfn-intermediatecert.pem openssl x509 -noout -fingerprint -in /.../dfn-cacert.pem openssl x509 -noout -fingerprint -in /.../iukca3.pem
werden die Fingerprints der an der FHS benötigten Zertifikate angezeigt (richtigen Pfad zum Zertifikat einsetzen).
Ein Abgleich mit der Ausgabe des keytool-Befehles oben zeigt, welche Zertifikate bereits im Keystore enthalten sind und welche noch importiert werden müssen. Für JRE 1.7.0.51 ist das Telekom-Zertifikat bereits enthalten, die restlichen drei müssen noch importiert werden.
Mit
cp /usr/local/jre1.7.0_51/lib/security/cacerts /usr/local/jre1.7.0_51/lib/security/cacerts.backup keytool -import -trustcacerts -alias dfnroot -file /etc/pki/tls/certs/dfn-rootcert.crt -keystore /usr/local/jre1.7.0_51/lib/security/cacerts keytool -import -trustcacerts -alias dfnintermediate -file /etc/pki/tls/certs/dfn-intermediatecert.crt -keystore /usr/local/jre1.7.0_51/lib/security/cacerts keytool -import -trustcacerts -alias dfnca -file /etc/pki/tls/certs/dfn-cacert.crt -keystore /usr/local/jre1.7.0_51/lib/security/cacerts keytool -import -trustcacerts -alias hsmiukca3 -file /etc/pki/tls/certs/iukca3.crt -keystore /usr/local/jre1.7.0_51/lib/security/cacerts
werden die Zertifikate in den Java-Keystore importiert (JRE 1.7.0.51).
Während des Importes wird nach einem Passwort für den Keystore gefragt. Standardmäßig ist dies „changeit“.
Das Zertifikat iukca3.crt ist selbst-signiert, keytool kann daher die Vertrauenskette nicht prüfen. Daher erscheint ein Prompt mit der Abfrage, ob der Import wirklich erfolgen soll. Hier mit „ja“ bestätigen.
Auf Windows-Systemen können Zertifikate in verschiedene Stores (Zertifikate-Kategorien) importiert werden:
Name (deutsch) | Name (englisch) | Name (Kommandozeile) | Verwendung |
---|---|---|---|
Eigene Zertifikate | Personal | MY | Zertifikate des Benutzers, Computers oder Dienstes, der Eigentümer besitzt sowohl den öffentlichen und auch den privaten Schlüssel |
Vertrauenswürdige Stammzertifizierungsstellen | Trusted Root Certification Authorities | ROOT | Vertrauenswürdige CAs, die nach der Windows-Installation vorinstalliert sind. Zusätzlich dazu werden noch Zertifikate aus „Organisationsvertrauen“ und „Drittanbieter-Stammzertifizierungsstellen“ hier eingeblendet. |
Organisationsvertrauen | Enterprise Trust | CA | Selbstsignierte CA-Zertifikate der eigenen Organisation. Die hier importierten CA-Zertifikate werden unter den „Vertrauenswürdigen Stammzertifizierungsstellen“ mit eingeblendet. |
Zwischenzertifizierungsstellen | Intermediate Certification Authorities | Sub-Authentifizierungsstellen | |
Active-Directory-Benutzerobjekt | Active Directory User Object | UserDS | |
Vertrauenswürdige Herausgeber | Trusted Publishers | TrustedPublisher | Softwarehersteller, die ihre Software signieren |
Nicht vertrauenswürdige Zertifikate | Untrusted Certificates | Disallowed | Zertifikate, denen nicht vertraut wird |
Drittanbieter-Stammzertifizierungsstellen | Third-Party Root Certification Authorities | Root-CAs, die weder zu MS, noch zur eigenen Organisation gehören und auch nicht als vertrauenswürdige Zertifikate vorinstalliert sind. Die hier importierten Zertifikate werden unter „Vertrauenswürdige Stammzertifizierungsstellen“ mit eingeblendet. | |
Vertrauenswürdige Personen | Trusted People | TrustedPeople | Selbst-signierte Zertifikate von Einzel-Personen |
Andere Personen | Other People | Zertifikate von Personen, die nicht als vertrauenswürdig angesehen werden | |
Zertifikatsregistrierungsanforderungen | Certificate Enrollment Requests | REQUEST | Zertifikatsanforderungen, Antwort steht noch aus |