Home › Foren › Support für jAnrufmonitor 5.0 (Windows) › Support für Module unter Windows › Support für die Emailbenachrichtigung › Zertifikatsfehler auf allen Ports
- Dieses Thema ist leer.
-
AutorBeiträge
-
13. März 2014 um 16:54 #16507AnonymInaktiv
Hallo,
ich habe hier einen merkwürdigen Zertifikatsfehler beim Versuch, eine Emailbenachrichtigung über meinen Server zu verschicken, den ich nicht richtig „greifen“ kann.
Ich habe von der israelischen CA StartSSL signierte Zertifikate. Diese kommen mit einem Satz „Intermediate certificates“ in diesem Fall mit dem schönen Namen „Class 2“. Diese werden von Postfix mit ausgeliefert
Für „Perfect Forward Secrecy“ habe ich außerdem per TLS sowohl 512, als auch 2048 bit Diffie-Hellman Schlüssel im Angebot.
Ich muß hoffentlich nicht hinzufügen (tue es aber dennoch), daß ich keine Schwierigkeiten mit Microsoft(r) Outlook(tm), Ritlabs The Bat!, Mozilla Thunderbird und sendmail beim Mailversand über den SSL Port 465, oder ohne SSL auf Port 25 habe.
Außerdem bescheinigt mir die bekannte SSL-Tools Website:
http://de.ssl-tools.net/mailservers/hostingundservice.de
daß mit meiner SSL-Konfiguration alles Bestens ist.Nun endlich zum Problem (die Hälfte der Leser ist bereits eingeschlafen und stört mich mit lauten Schnarchgeräuschen):
Weder mit, noch ohne SSL kann sich die Emailbenachrichtigung mit meinem Mailserver verbinden.[ SEVERE - 13/Mrz/2014:16:08:20 +0100 - Timer-14 - de.janrufmonitor.service.notification.MailNotification$MailTask.run() - javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ]
javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1611)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at de.janrufmonitor.service.notification.MailNotification$MailTask.run(MailNotification.java:242)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at sun.security.ssl.AppInputStream.read(Unknown Source)
at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88)
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589)
... 6 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
... 19 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 25 more
„unable to find valid certification path to requested target“ hört sich in meinen Ohren so an, als ob die Intermediate certificates nicht berücksichtigt werden. Kann ich diese (als .pam-Datei vorhandenen Zwischenzertifikate) evtl. irgendwie bei jAnrufmonitor, bzw. Java anmelden?
Irgendwelche Ideen?
Ganz, ganz heissen Dank im Voraus!
14. März 2014 um 8:01 #27003Thilo BrandtKeymasterHallo m.s.,
also im jAnrufmonitor kannst du keine Zertifikate hinterlegen, wenn, dann nur bei deiner Java VM. Ich denke, dass dein Problem besser in einer Java Community adressiert wäre. Ich bin leider kein SSL Spezialist und nutze im jAnrufmonitor nur die Standard-Java Methode für die SSLv3/TLSv1 Verschlüsselung. Wie man aber für Java unbekannt Zertifikate installiert, kann ich dir leider auch nicht sagen.
Viele Grüße
Thilo15. März 2014 um 12:01 #27004AnonymInaktivIch habe etwas gegoogled und bin auf folgende Zeile gestoßen:
System.setProperty("javax.net.ssl.trustStore",path_to_your_cacerts_file);
Ich habe nur keine Ahnung, wo ich diese Einstellung eintippen soll und ob mein „Intermediate certificate“ im richtigen Format ist. Das Ding sieht nämlich so aus [sub.class2.server.ca.pem]:
BEGIN CERTIFICATE
MIIGNDCCBBygAwIBAgIBGjANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwHhcNMDcxMDI0MjA1NzA5WhcNMTcxMDI0MjA1NzA5WjCB
jDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsT
IlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0
YXJ0Q29tIENsYXNzIDIgUHJpbWFyeSBJbnRlcm1lZGlhdGUgU2VydmVyIENBMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4k85L6GMmoWtCA4IPlfyiAEh
G5SpbOK426oZGEY6UqH1D/RujOqWjJaHeRNAUS8i8gyLhw9l33F0NENVsTUJm9m8
H/rrQtCXQHK3Q5Y9upadXVACHJuRjZzArNe7LxfXyz6CnXPrB0KSss1ks3RVG7RL
hiEs93iHMuAW5Nq9TJXqpAp+tgoNLorPVavD5d1Bik7mb2VsskDPF125w2oLJxGE
d2H2wnztwI14FBiZgZl1Y7foU9O6YekO+qIw80aiuckfbIBaQKwn7UhHM7BUxkYa
8zVhwQIpkFR+ZE3EMFICgtffziFuGJHXuKuMJxe18KMBL47SLoc6PbQpZ4rEAwID
AQABo4IBrTCCAakwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
VR0OBBYEFBHbI0X9VMxqcW+EigPXvvcBLyaGMB8GA1UdIwQYMBaAFE4L7xqkQFul
F2mHMMo0aEPQQa7yMGYGCCsGAQUFBwEBBFowWDAnBggrBgEFBQcwAYYbaHR0cDov
L29jc3Auc3RhcnRzc2wuY29tL2NhMC0GCCsGAQUFBzAChiFodHRwOi8vd3d3LnN0
YXJ0c3NsLmNvbS9zZnNjYS5jcnQwWwYDVR0fBFQwUjAnoCWgI4YhaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMCegJaAjhiFodHRwOi8vY3JsLnN0YXJ0
c3NsLmNvbS9zZnNjYS5jcmwwgYAGA1UdIAR5MHcwdQYLKwYBBAGBtTcBAgEwZjAu
BggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0
BggrBgEFBQcCARYoaHR0cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRl
LnBkZjANBgkqhkiG9w0BAQUFAAOCAgEAnQfh7pB2MWcWRXCMy4SLS1doRKWJwfJ+
yyiL9edwd9W29AshYKWhdHMkIoDW2LqNomJdCTVCKfs5Y0ULpLA4Gmj0lRPM4EOU
7Os5GuxXKdmZbfWEzY5zrsncavqenRZkkwjHHMKJVJ53gJD2uSl26xNnSFn4Ljox
uMnTiOVfTtIZPUOO15L/zzi24VuKUx3OrLR2L9j3QGPV7mnzRX2gYsFhw3XtsntN
rCEnME5ZRmqTF8rIOS0Bc2Vb6UGbERecyMhK76F2YC2uk/8M1TMTn08Tzt2G8fz4
NVQVqFvnhX76Nwn/i7gxSZ4Nbt600hItuO3Iw/G2QqBMl3nf/sOjn6H0bSyEd6Si
BeEX/zHdmvO4esNSwhERt1Axin/M51qJzPeGmmGSTy+UtpjHeOBiS0N9PN7WmrQQ
oUCcSyrcuNDUnv3xhHgbDlePaVRCaHvqoO91DweijHOZq1X1BwnSrzgDapADDC+P
4uhDwjHpb62H5Y29TiyJS1HmnExUdsASgVOb7KD8LJzaGJVuHjgmQid4YAjff20y
6NjAbx/rJnWfk/x7G/41kNxTowemP4NVCitOYoIlzmYwXSzg+RkbdbmdmFamgyd6
0Y+NWZP8P3PXLrQsldiL98l+x/ydrHIEH9LMF/TtNGCbnkqXBP7dcg5XVFEGcE3v
qhykguAzx/Q=
END CERTIFICATE
15. März 2014 um 12:59 #27005Thilo BrandtKeymasterHallo m.s.,
die System-Properties kann man in der JAVA Umgebung beim Start setzen -D=. Der jAnrufmonitor startet über jam.exe und der dazugehörigen loader.ini (32-bit) bzw. jam.ini (64-bit). Dort kannst du das System-Property dann auch hinterlegen.
Viele Grüße
Thilo16. März 2014 um 18:57 #27006AnonymInaktivEs ist mir leider nicht gelungen, diesen Parameter zu setzen. Auch habe ich probiert, eine Umgebungsvariable zu setzen, das Certfile im Hauptverzeichnis zu speichern und mit „C:\cacert.pem“ anzusprechen,
Aber ich fand noch einen Workaround: Man kann das Root-Zertifikat der StartSSL dem Zertifikatsspeicher von Java selber hinzufügen. Warum Oracle das Root-Zertifikat entfernt hat, entzieht sich zwar meiner Kenntnis, aber da es im Betriebssystem Windows, als auch in meinem Firefox standardmäßig installiert ist, schadet es in der Java-Konfiguration nun auch nicht mehr.
Alles spielt sich in folgendem Verzeichnis ab. Um dort reinzuschreiben, muß man ein Tool mit administrativen Rechten verwenden:
C:Program Files (x86)Javajre7libsecurityMan spielt die Datei „ca.pem“ der StartSSL in dieses Verzeichnis und erstellt zusätzlich eine Datei „addcert.cmd“ mit folgendem Inhalt:
SET PATH=%PATH%;c:Program Files (x86)Javajre7bin
keytool.exe -import -noprompt -trustcacerts -alias startsslca -file ca.pem -keystore cacerts -storepass changeitDiese Datei führt ihr mit administrativen Rechten aus. Sie fügt dann die Root-CA „StartSSL“ systemweit für alle Java-Programme hinzu. Danach könnt ihr ca.pem und addcert.cmd löschen. Mir ist aber nicht bekannt, ob Java das certfile bei einem Update überschreibt. Ich lasse sie also mal stehen.
Möge diese Information noch irgendjemandem in der Post-Snowden-Zeit behilflich sein.
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.