# Could not convert socket to TLS - gestern liefs noch



## Joob (31. Dez 2017)

Ich baue gerade eine Klasse zum Versenden von Email.
Gestern lief auch  alles super.
Heute bekomme ich nachfolgende Fehlermeldung.
Kann mir jemand helfen und erklären was passiert ist.



javax.mail.MessagingException: Could not convert socket to TLS;
  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.startTLS(SMTPTransport.java:1918)
   at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:652)
   at javax.mail.Service.connect(Service.java:317)
   at javax.mail.Service.connect(Service.java:176)
   at javax.mail.Service.connect(Service.java:125)
   at javax.mail.Transport.send0(Transport.java:194)
   at javax.mail.Transport.send(Transport.java:124)
   at SYS.EMAIL.email(EMAIL.java:87)
   at SYS.EMAILTest.testEmail(EMAILTest.java:67)
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(Alerts.java:192)
   at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
   at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
   at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
   at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
   at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
   at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
   at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
   at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
   at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
   at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
   at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
   at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:548)
   at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:485)
   at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1913)
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(PKIXValidator.java:387)
   at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
   at sun.security.validator.Validator.validate(Validator.java:260)
   at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
   at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
   at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
   at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
   at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
   at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
   at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
   at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)


----------



## Joob (31. Dez 2017)

Hallo,
das lag an avast.
Obwohl ich nichts geändert habe, lief es gestern noch.
Ich habe die SSL Prüfungen ausgeschaltet.
Find ich aber nicht so sinnvoll.
Wie kann ich das richtig konfigurieren?


----------



## mrBrown (31. Dez 2017)

Joob hat gesagt.:


> Hallo,
> das lag an avast.
> Obwohl ich nichts geändert habe, lief es gestern noch.
> Ich habe die SSL Prüfungen ausgeschaltet.
> ...


Du müsstest das Avast-Zertifikat dem entsprechenden Zertifikatspeicher hinzufügen. Wie das geht findest du sicher auf der Avast-Seite.

Avast bricht da im wesentlichen die verschlüsselte Verbindung auf, spielt MitM, und verschlüsselt dann mit dem eigenen Zertifikat neu.

Ob du das möchtest ist deine Sache (ich persönlich würde das deaktivieren, will da aber keine Empfehlung aussprechen)


----------

