Use Android trust manager

pull/169/head
M66B 5 years ago
parent 2bdfa9f21c
commit 965aef3a1b

@ -23,6 +23,7 @@ import java.net.Inet6Address;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.cert.Certificate; import java.security.cert.Certificate;
import java.security.cert.CertificateEncodingException; import java.security.cert.CertificateEncodingException;
@ -48,6 +49,7 @@ import javax.mail.Session;
import javax.mail.Store; import javax.mail.Store;
import javax.mail.event.StoreListener; import javax.mail.event.StoreListener;
import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManagerFactory;
public class MailService implements AutoCloseable { public class MailService implements AutoCloseable {
private Context context; private Context context;
@ -129,6 +131,10 @@ public class MailService implements AutoCloseable {
} }
}; };
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init((KeyStore) null);
sf.setTrustManagers(tmf.getTrustManagers());
properties.put("mail." + protocol + ".ssl.socketFactory", sf); properties.put("mail." + protocol + ".ssl.socketFactory", sf);
properties.put("mail." + protocol + ".socketFactory.fallback", "false"); properties.put("mail." + protocol + ".socketFactory.fallback", "false");
} catch (GeneralSecurityException ex) { } catch (GeneralSecurityException ex) {

Loading…
Cancel
Save