Mailserver (POP3-SSL) Zertifikate mit OpenSSL downloaden

- 22.02.2014
von Thomas Windscheif / Microlinc



Vor Kurzem stand ich vor folgendem Problem:
Ein Pop3-Connector konnte auf Grund eines Validierungsfehlers in der Zertifikatkette keine SSL-Verbindung herstellen. Mehr stand dort dann aber leider auch nicht. Also dachte ich mir, schaue ich mir die Zertifikatkette mal an. Da fing mein Problem schon an. SSL-Zertifikate die man auf Webservern implementiert kann man i. d. R. einfach mit dem Webbrowser anzeigen lassen, Verbindungen die aber nicht via HTTP/HTTPS ablaufen kann ich hier aber leider nicht abfragen.

Nach ein wenig Suche fand ich heraus, dass OpenSSL einen Befehl zur SSL-Client-Verbindung verfügt.

Also testete ich das ganze Mal.

Der Befehl lautete (mit OpenSSL 0.9.7l):

//für Transportverschlüsselte Verbindungen:
openssl s_client -showcerts -connect domain:995

//Für STARTTLS verschlüsselte Verbindungen:
Um die Zertifikatskette von einem SMTP-Server zu laden kann man folgenden Befehl verwenden:
openssl s_client -showcerts -connect domain:25 -starttls smtp



domain wird hier natürlich durch den vollen DNS-Namen des Servers ersetzt also z.B. pop3.mailserver.com
showcerts listet alle Zertifikate der Kette auf
mehr zu den Parametern von s_client erfährt man durch die Verwendung des folgenden Befehls:
openssl s_client -help



Als Ergebnis erhält man dann folgendes:


Loading 'screen' into random state - done
CONNECTED(000002EC)
depth=1 /CN=
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
0 s:/CN=microlinc.homeip.net
i:/CN=
-----BEGIN CERTIFICATE-----
MIIFGTCCBAGgAwIBAgIKHRpYZAAAAAAAETANBgkqhkiG9w0BAQUFADAaMRgwFgYD
VQQDEw9ob21lLVNFUlZFUjItQ0EwHhcNMTIwNTMxMTEwNDUxWhcNMTQwNTMxMTEw
NDUxWjAfMR0wGwYDVQQDExRtaWNyb2xpbmMuaG9tZWlwLm5ldDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMmRZ52KWBsmb2INap3E2r9BKMUJ5fM5i9ji
XIxTv5S6beAqx53XFHGx7kUHy7qPccpm9o5dZ0SBMRtD4lRxMc02r7wInDmRcAv3
hwNifLYXQ6y5I2ytWzUzgUZbl6dRR4oDCyyhF2qlGTRIqAFffwQmWih2LXdG7tE4
XltkvOEe0W8rMyI5UMyhfmvzM5Iu7GAyIDPJbdnn3GwrBbzyJrkNEv4/VQIjgN5D
Gzist3lAcU3g6Q18uai4wIFslM734Ed84FHaWRNCScuzWzq0gX/fuBHhqKXnVAsL
xoUMeRSkLuKrzJB1p1PsLRmmXT8WtcmxOPkW3drk5xmGAnYwaH8CAwEAAaOCAlow
ggJWMCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwEwYDVR0lBAww
CgYIKwYBBQUHAwEwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBRTt0dekTMRaawQ
HNpUF8csro/SBDA6BgNVHREEMzAxghlzeW5jLm1pY3JvbGluYy5ob21laXAubmV0
ghRtaWNyb2xpbmMuaG9tZWlwLm5ldDAfBgNVHSMEGDAWgBSn8P6VR14em6S5h3ZA
xc7nqzZv7TCBzAYDVR0fBIHEMIHBMIG+oIG7oIG4hoG1bGRhcDovLy9DTj1ob21l
LVNFUlZFUjItQ0EsQ049U0VSVkVSMixDTj1DRFAsQ049UHVibGljJTIwS2V5JTIw
U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1ob21lLERD
PWxvY2FsP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFz
cz1jUkxEaXN0cmlidXRpb25Qb2ludDCBwAYIKwYBBQUHAQEEgbMwgbAwga0GCCsG
AQUFBzAChoGgbGRhcDovLy9DTj1ob21lLVNFUlZFUjItQ0EsQ049QUlBLENOPVB1
YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRp
b24sREM9aG9tZSxEQz1sb2NhbD9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xh
c3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAA2ZO
WN82hcB/ML/wrLR9cKUbyJvCHSAxnBvXy+mNh3k8IdaOO/H7rTqXs2UhOZ6BF+Lp
H+mH24llpCem7r5i689ECgSyDmEBguv8Ooms8HJKim38404LWCeRueTrRt6GktAm
+P1pYxlNPrqutaU8SS6xYaYcZGzUU5fDlrE3oEvDuQHDVCnbZhRXMuXgKZRBEnw5
/ifWznnxAOjwDv9fBOA1oJ8Mdt0GAkwX6AXNdkzXifCQ4C4dD+RCWmetIA5mYa0o
qqB0WHebKAdxTkUU8SpPQyofQcU/ykpCPlXi3TFlWNcDYvd05C26XEZ3MOs9wS/y
yq8nE1PQ8M2TVyUMpA==
-----END CERTIFICATE-----
1 s:/CN=
i:/CN=
-----BEGIN CERTIFICATE-----
MIIDDzCCAfegAwIBAgIQc/RRCNRlrLtEGAheg00r8DANBgkqhkiG9w0BAQUFADAa
MRgwFgYDVQQDEw9ob21lLVNFUlZFUjItQ0EwHhcNMTIwNTEyMjM0MzMzWhcNMTcw
NTEyMjM1MzMxWjAaMRgwFgYDVQQDEw9ob21lLVNFUlZFUjItQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVA6YL55aGHizS7XJgw4+E07DCxl2/k+Xz
ZRVyhb4T/CM/YBNDfmZFAE1c8VkJb/f6vDWhB/+8mdRak5LPnBEaQ6UY2fQn436e
FNLzhkIxEX78tq0ZcDDBm4Lo0muOjVyT53EkA1x/dFyh4UTvDpkpNNyCqu9f/UXA
8VvhB9Ls5f6H4i/WS/LtT/orMYsEJFbr8cfFrpqaUcBcOkKd6x76sCvJ9y5QpW+w
ijTs/IjK/SOamaZLKhA0HJxAvIAIiq39uxLlRhmVqpsBOTqq/l/xN7jWrCOnRP0d
W/y06iLihurc5FCzEOEnpdoTTlf8dEx0bTBleBtzsrZNRNNlKLLRAgMBAAGjUTBP
MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSn8P6VR14e
m6S5h3ZAxc7nqzZv7TAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQUFAAOC
AQEAPHHUWJvmEuvlTCQJ6Rg4PN1IvVxhQ36xiRlh3VSasQnKMqNvIFMtw19VTuYd
CyI+i6P/CjPOGdzQuKiMMQ3mxU6OFghWBW13Q8eI7er5Y1aScPnZiJtX5WNVv6Nb
8CJgBih4OX6XOUbw3+2DME/sUc0rZfjU9F8PTkQC4jo6iy7g0wFPD7W/ZFzwM51B
Xhii9hHwU2ZRCs8tglPQR42mIVOVmnXvDmi+voQjdBVuzYzUk4hcJDJjHFpyD+9Y
2+QSCzfT6aoDmcKsALhmwkQhAlTu7klWpmlU4WehuBcZH/LdQfeG3LUGg6CuGxHa
pv2fqoky9ULc8D/B2x3aRVS8cg==
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=microlinc.homeip.net
issuer=/CN=
---
Acceptable client certificate CA names
/CN=
---
SSL handshake has read 2833 bytes and written 334 bytes
---
[...]



Es sind also insgesamt 2 Zertifikate in der Kette vorhanden. Wenn man diese Zertifikate mittels Windows überprüfen möchte, muss man die gesamte Zeichenfolge von und inkl. "-----BEGIN CERTIFICATE-----" bis inkl. "-----END CERTIFICATE-----" kopieren und z.B. in Notepad einfügen. Anschließend speichert man das ganze als .crt ab. Jeweils für beide Zertifikate.

Sobald diese als .crt-Datei gespeichert wurden, kann man sich die Zertifikate via Doppelklick anzeigen lassen. Im Reiter "Zertifizierungspfad" wird i. d. R. auch der Fehler unter "Zertifizierungsstatus" angegeben, warum das Zertifikat ungültig ist.

Übrigens: In meinem Fall lag es nicht an den Zertifikaten als solches (also abgelaufen, falscher Domainname, CA nicht vertrauenswürdig, etc.), sondern daran, dass das OS kein CNG (Cryptography API: Next Generation) unterstützt (erst ab Windows XP SP3) und der Mailprovider auf SHA-2-Signaturen für die Zertifikate umgestellt hat. Weil das OS mit der SHA256RSA Signatur nichts anfangen konnte, hielt es die Signatur für ungültig und somit das Zertifikat für beschädigt bzw. manipuliert (Der exakte Zertifizierungsstatus lautete: Dieses Zertifikat hat eine ungültige digitale Signatur).
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=21&lev2=1&id=210 - Ausdruck vom 28.04.2024