...
Da dieser Befehl meistens auf eine Eingabe von uns wartet, beenden wir den Prozess mit ctrl + c . Für den Postausgangsserver von web.de sieht der Output folgendermassen aus:
Code Block | ||
---|---|---|
| ||
... |
...
Certificate chain |
...
0 s:/C=DE/O=1&1 Mail & Media GmbH/OU=WEB.DE/ST=Rhineland-Palatinate/L=Montabaur/emailAddress=server- |
...
certs@1und1.de/CN=smtp.web.de |
...
i:/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 |
...
1 s:/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 |
...
i:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2 |
...
2 s:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2 |
...
i:/C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2 |
...
--- |
...
Server certificate |
...
-----BEGIN CERTIFICATE----- |
...
MIIHUzCCBjugAwIBAgIJAKaEwtMgQ2s5MA0GCSqGSIb3DQEBBQUAMIHJMQswCQYD |
...
... |
...
Ulc/sMvd/LPX0f60pSQr9tkZgU4f8Jvx9EvPUCFTRXlXqkBIhgJhgCadZC+wKB1P |
...
eQMS8rksXw== |
...
-----END CERTIFICATE----- |
...
|
In diesem Output finden wir die Zertifikatskette beginnend bei 0 s:/C=DE/O=1&1 Mail & Media GmbH/OU=WEB.DE/ST=Rhineland-Palatinate... - hier also 3 Elemente (0, 1 und 2) der Kette und dann das eigentliche Zertifikat des Servers smtp.web.de, eingeschlossen zwischen -----BEGIN CERTIFICATE----- und -----END CERTIFICATE----- . Diese beiden Trenner gehören jeweils mit zum Zertifikat, also mit in die .pem-Datei. Manchmal sind die Zertifikatsdaten auch gleich mit in der Kette aufgeführt – dann steht vor dem Zertifikat hinter s: (Subject) bei CN= (Common Name) der Betreff, also der Server oder Eigentümer, dem das Zertifikat gehört. Hinter i: steht dann bei CN= der Aussteller (Issuer) des Zertifikats.
...
Wie geht das ohne grossen Aufwand? Wir markieren in einem Fenster unseres ssh-client den gewünschten Text mit der Maus und kopieren ihn (unter z.B. Windows mit ctrl + c) in die Zwischenablage. Im anderen Fenster läuft der <MC> und wir wechseln ins Verzeichnis /usr/local/ssl/certs/. Dort legen wir die neue Datei mit
Code Block | ||
---|---|---|
| ||
touch smtp.web.de.pem |
an. Nun öffnen wir die noch leere Datei mit der Taste F4 im Editor vom <MC> und können den Inhalt aus der Zwischenablage einfügen (unter z.B. Windows mit ctrl + v) und mit F2 die Datei speichern. Falls unsere Zertifikatskette weitere Zertifikate enthält (bei smtp.web.de ist dies leider nicht der Fall), fügen wir diese – sofern noch nicht vorhanden – auf die gleiche Weise in eine .pem-Datei im Verzeichnis /usr/local/ssl/certs/ ein.
Für Zertifikate die nur namentlich in der Kette aufgeführt sind (wie hier bei smtp.web.de) hilft uns google. Erst wenn wir bei einem Zertifikat angekommen sind wo Betreff (Subject) und Aussteller (Issuer) absolut identisch sind, haben wir die Zertifikatskette komplett aufgelöst und sind fertig mit diesem Schritt – aber die .pem-Datei muss natürlich existieren. Hier im Beispiel brauchen wir also noch die Zertifikate von TeleSec ServerPass DE-1 und Deutsche Telekom Root CA 2 ; dabei hilft uns wie gesagt google.
Mit den Suchbegriffen ( Suchbegriffen TeleSec ServerPass DE-1 ) ist der erste Treffer mit passendem Domainnamen momentan (Mitte Dezember 2013)
...
http://www.telesec.de/serverpass/support_rootca_akzeptanz.html
Mit den Suchbegriffen ( Suchbegriffen Deutsche Telekom Root CA 2 ) ist der erste Treffer mit passenden Domainnamen momentan (Mitte Dezember 2013)
...
Das hier als letztes heruntergeladene Zertifikat Deutsche Telekom Root CA 2 kommt auch in eine .pem-Datei (deutsche_telekom_root_ca_2 .pem) und da Subject und Issuer hier identisch sind, haben wir für smtp.web.de alle Zertifikate beisammen. Falls ein Zertifikat schon als .pem-Datei vorhanden ist, brauchen wir es nicht noch einmal anlegen – daher sollten die Namen der Dateien sehr sorgfältig vergeben werden, damit wir sie nicht doppelt anlegen (wäre kein Fehler - nur doppelte Arbeit). Falls wir bei einen Provider mehrere Postausgangsserver nutzen, muss für jeden eine eigene .pem-Datei erstellt werden (z.B. mail.gmx.de und mail.gmx.net) – ohne bekam ich Fehlermeldungen beim Versand.
Wenn wir alle Zertifikate der Zertifikatskette beisammen haben wechseln wir ins Verzeichnis /usr/local/ssl/certs/ und rehashen:
Code Block | ||
---|---|---|
| ||
cd /usr/local/ssl/certs/ |
...
/usr/bin/ssl/c_rehash |
...
|
Nun prüfen wir, ob wir auch wirklich für die .pem-Datei des Postausgangsservers alle Zertifikate haben:
...