Gibt es Probleme mit einem Zertifikat, sind häufig fehlende Zwischen- oder Stammzertifikate die Ursache.

Wir rufen zunächst im certs-Menü den Punkt „Show certificate chain“ auf und wählen das zu prüfende Zertifikat aus.

Erscheint als letzte Zeile nicht „End of chain“ sondern z. B.:

certificate : smtp.1und1.de.pem (6dc8b1dc)
subject     : /C=DE/O=1 und 1 Internet
AG/ST=Rheinland-Pfalz/L=Montabaur/emailAddress=server-certs@1und1.de/CN=smtp.1und1.de
issuer      : /C=DE/O=T-Systems International GmbH/OU=T-Systems Trust
Center/ST=NRW/postalCode=57250/L=Netphen/street=Untere Industriestr.
20/CN=TeleSec ServerPass DE-1\\
SHA1 f-print: 0C:1D:EB:7C:16:91:73:B6:7A:CE:0B:30:18:6D:84:DA:7E:85:CC:E4
+→ Error: file '/usr/local/ssl/certs/eb20b578.0' missing!

fehlt mindestens ein Zertifikat in der Kette.

Nach dem Hashlink eb20b578.0 Ausschau zu halten, ist keine gute Idee. Hier  das Verzeichnislisting für das gesuchte Zertifikat, nachdem es installiert wurde; man sieht, dass es zwei Hashlinks auf das eigentliche pem-Zertifikat gibt.

-rw-r--r-- 1 root root 2350 Nov 7 19:35 TeleSec_ServerPass_DE-1.pem\\
lrwxrwxrwx 1 root root 27 Apr 21 21:06 eb20b578.0 -> TeleSec_ServerPass_DE-1.pem\\
lrwxrwxrwx 1 root root 27 Apr 21 21:06 4804495f.0 -> TeleSec_ServerPass_DE-1.pem

Daher schauen wir in die Issuer-Zeile des vor der Fehlermeldung stehenden Zertifikats - insbesondere in die (nicht immer vorhandene) CN-Angabe - und füttern Google damit, also in diesem Fall mit folgenden Suchbegriffen:

„TeleSec ServerPass DE-1 Download“

was uns u. a. folgenden Suchtreffer beschert: https://www.telesec.de/de/serverpass/support/root-sub-ca-zertifikate

Wir wählen auf der Übersichtsseite den Link „TeleSec ServerPass DE 1“ aus und landen auf der Downloadseite für dieses Zertifikat.

Nun müssen wir schauen, in welchem Format uns das Zertifikat angeboten wird, im binär-Format oder ascii-Format (pem). Letzteres brauchen wir für den eisfair-Server.

Nach dem Download eines Zertifikats kann auch mit dem file-Befehl geprüft werden, ob es im binär- oder ascii-Format vorliegt:

# file --mime-encoding telesec-serpass-de-2.cer
telesec-serpass-de-2.cer: binary
# file --mime-encoding telesec-serpass-de-2.cer
telesec-serpass-de-2.cer: us-ascii

Finden wir einen Download-Link für das Zertifikat im ascii-Format, laden wir es uns herunter und legen es auf dem eisfair-Server im Verzeichniss /usr/local/ssl/certs ab.

Ein ascii-kodiertes pem-Zertifikat hat ungefähr folgendes Aussehen:

-----BEGIN CERTIFICATE-----
MIIGmzCCBYOgAwIBAgIIIbZ3foy9DqgwDQYJKoZIhvcNAQEFBQAwcTELMAkGA1UE
BhMCREUxHDAaBgNVBAoTE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsTFlQt
VGVsZVNlYyBUcnVzdCBDZW50ZXIxIzAhBgNVBAMTGkRldXRzY2hlIFRlbGVrb20g
...
Penv1Pe7MhUkCK0LqdTvkI/AHFzPYg/l5E3j8lQQ8hiKx8U6wf9xVKECLA2RlRqY
UX2rpjQNxnvEq/mEQv3x3mLOEFJ3TAKI+soDgOOi0OG8+ywhm6S+7Z9lTlJ+BcD6
oy1MNKd4CQbltHLMTFUH
-----END CERTIFICATE-----

Enthält das Zertifikat weitere lesbare Zertifikatsinformationen, löscht man diese bis auf den durch „BEGIN“ und „END“ eingeschlossenen Block einschliesslich der „BEGIN“- und „END“-Zeile.

Falls die Endung der Datei nicht pem sondern z. B. auf cer oder crt lautet, ändern wir diese dabei in pem ab.

Aktuell wird das Zertifikat allerdings nur binär-kodiert angeboten. Wir nutzen den Download-Link und erhalten TeleSecServerPassDE-1.der. Blicken wir z. B. per Editor in diese Datei, finden wir keine „BEGIN CERTIFICATE“-Zeile, es ist also binär-kodiert.

Nun speichern wir diese Datei zunächst in einem beliebigen Verzeichnis des eisfair-Servers ab, wandeln sie in das ascii-Format um

openssl x509 -inform der  -in TeleSecServerPassDE-1.der -out TeleSecServerPassDE1.pem

und legen sie auf dem eisfair-Server im Verzeichniss /usr/local/ssl/certs ab.

Anschliessend rehashen

/var/install/bin/certs-update-hashes (Option 1 wählen)

und führen anschließend eine erneute Prüfung der Zertifikatskette durch. Fehlt jetzt immer noch ein Zertifikat in der Kette, wiederholen wir die gerade gemachten Schritte.

Ganz zum Schluss rufen wir dann noch den Menüpunkt „Update Revocation list(s)“ im certs-Menü auf.

Über den Menüpunkt „Download ca certificate bundle“ im certs-Menü werden eine ganze Reihe von Stamm- und Zwischenzertifikaten installiert. Seit der Version 1.3.3 des certs-Paketes wird hierbei das Zertifkatsbundle des Mozilla-Projektes geladen.