1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-02-27 00:13:13 +00:00

Fixed not recognizing cert errors

This commit is contained in:
M66B 2020-01-12 19:10:10 +01:00
parent 0bb4282e5c
commit df59723f08

View file

@ -59,7 +59,6 @@ import javax.mail.Session;
import javax.mail.Store;
import javax.mail.event.StoreListener;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
@ -379,11 +378,14 @@ public class MailService implements AutoCloseable {
} else
throw new NoSuchProviderException(protocol);
} catch (MessagingException ex) {
if (factory != null &&
ex.getCause() instanceof SSLHandshakeException &&
ex.getCause().getCause() instanceof CertificateException)
if (factory != null) {
Throwable ce = ex;
while (ce != null) {
if (ce instanceof CertificateException)
throw new UntrustedException(factory.getFingerPrint(), ex);
else
ce = ce.getCause();
}
}
throw ex;
}
}