PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cyrus pop3s: Verify return code: 20 (unable to get local issuer certificate)



daytripper
30.01.15, 11:38
Hallo,

mehrere Tage habe ich jetzt fleißig getestet, aber vermutlich habe ich ein Verständnisproblem, so dass ich immer wieder den gleichen Denkfehler mache (auch beim Bearbeiten mit Hilfe der vielen Beschreibungen im Internet).

Auf meinem Mailserver (ubuntu 14.04.1) ist Postfix, Cyrus.Imap usw installiert.
Der Mailserver läuft ordentlich, ich bin aber nicht ganz zufrieden, bzw. will ich manche Sachen noch besser verstehen.

Es geht also um die Verbindungen mit SSL (Zertifikat von GlobalSign):
In meinem Mailclient (Android, Thunderbird usw.) habe ich pop3 auf ssl (port 995) eingestellt und das funktioniert ebenso.
Im syslog werden die Verbindungen von cyrus/pop3s bedient.

1. Frage:
Wenn ich aber am PC Thunderbird starte und gleich darauf mit dem Handy die Mailservereinstellungen bearbeite, so kommt auf dem Handy (bei Einstellungen für den Posteingang) die Meldung:
Authentifizierung fehlgeschlagen. Benutzername/Kennwort falsch.

Im Syslog finde ich dazu nichts, außer dass dann auch die Meldung:


cyrus/master[20870]: service pop3s pid 21562 in READY state: now unavailable and in BUSY state
cyrus/master[20870]: service pop3s now has 0 ready workers
...
cyrus/pop3s[21562]: SSL_accept() incomplete -> wait
cyrus/pop3s[21562]: SSL_accept() succeeded -> done


Ich versteh den Hintergrund dieser Meldung nicht. Eventuell kann ich das ignorieren. (Bitte kurzes Feedback dazu!)

2. Frage
In imapd.conf habe ich die Zertifikate eingetragen: (mydomain.de ist natürlich hier nur der Platzhalter!)


tls_cert_file: /etc/ssl/certs/www.mydomain.de.pem
tls_key_file: /etc/ssl/certs/www.mydomain.de.pem
tls_ca_file: /etc/ssl/ca/www.mydomain.de.ca
tls_ca_path: /etc/ssl/certs


In www.mydomain.de.pem steht


-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
... <Inhalt aus www.mydomain.de.crt>...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... <Inhalt aus ca-file>...
-----END CERTIFICATE-----


Beim Testen:

root@wwwmail:/etc/ssl# openssl s_client -connect mydomain.de:995

CONNECTED(00000003)
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Domain Validation CA - SHA256 - G2
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/C=DE/OU=Domain Control Validated/CN=www.mydomain.de
i:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
1 s:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
..
Verify return code: 20 (unable to get local issuer certificate)


Alternativer Test:


root@wwwmail:/etc/ssl# openssl s_client -connect mydomain.de:995 -CAfile /etc/ssl/certs/GlobalSign_Root_CA.pem

CONNECTED(00000003)
depth=2 C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Domain Validation CA - SHA256 - G2
verify return:1
depth=0 C = DE, OU = Domain Control Validated, CN = www.mydomain.de
verify return:1
---
Certificate chain
0 s:/C=DE/OU=Domain Control Validated/CN=www.mydomain.de
i:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
1 s:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
...
Verify return code: 0 (ok)


Warum funktioniert openssl s_client -connect mydomain.de:995 nicht ohne Angabe des Zertifikats?
Das gleiche gilt auch imaps.
Cyrus ist Mitglied der Gruppe ssl-cert, postfix aber nicht, ist das korrekt?

Danke und viele Grüße, daytripper!