java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
org.eclipse.angus.mail.util.MailSSLSocketFactory
An SSL socket factory that makes it easier to specify trust.
This socket factory can be configured to trust all hosts or
trust a specific set of hosts, in which case the server's
certificate isn't verified. Alternatively, a custom TrustManager
can be supplied.
An instance of this factory can be set as the value of the
mail.<protocol>.ssl.socketFactory
property.
- Since:
- JavaMail 1.4.2
-
Constructor Summary
ConstructorDescriptionInitializes a new MailSSLSocketFactory.MailSSLSocketFactory
(String protocol) Initializes a new MailSSLSocketFactory with a given protocol. -
Method Summary
Modifier and TypeMethodDescriptioncreateSocket
(String s, int i) createSocket
(String s, int i, InetAddress inetaddress, int j) createSocket
(InetAddress inetaddress, int i) createSocket
(InetAddress inetaddress, int i, InetAddress inetaddress1, int j) createSocket
(Socket socket, String s, int i, boolean flag) String[]
String[]
String[]
boolean
isServerTrusted
(String server, SSLSocket sslSocket) After a successful conection to the server, this method is called to ensure that the server should be trusted.boolean
void
setKeyManagers
(KeyManager... keyManagers) void
setSecureRandom
(SecureRandom secureRandom) void
setTrustAllHosts
(boolean trustAllHosts) void
setTrustedHosts
(String... trustedHosts) void
setTrustManagers
(TrustManager... trustManagers) Methods inherited from class javax.net.ssl.SSLSocketFactory
createSocket, getDefault
-
Constructor Details
-
MailSSLSocketFactory
Initializes a new MailSSLSocketFactory.- Throws:
GeneralSecurityException
- for security errors
-
MailSSLSocketFactory
Initializes a new MailSSLSocketFactory with a given protocol. Normally the protocol will be specified as "TLS".- Parameters:
protocol
- The protocol to use- Throws:
NoSuchAlgorithmException
- if given protocol is not supportedGeneralSecurityException
- for security errors
-
-
Method Details
-
getKeyManagers
- Returns:
- the keyManagers
-
setKeyManagers
- Parameters:
keyManagers
- the keyManagers to set- Throws:
GeneralSecurityException
- for security errors
-
getSecureRandom
- Returns:
- the secureRandom
-
setSecureRandom
- Parameters:
secureRandom
- the secureRandom to set- Throws:
GeneralSecurityException
- for security errors
-
getTrustManagers
- Returns:
- the trustManagers
-
setTrustManagers
- Parameters:
trustManagers
- the trustManagers to set- Throws:
GeneralSecurityException
- for security errors
-
isTrustAllHosts
public boolean isTrustAllHosts()- Returns:
- true if all hosts should be trusted
-
setTrustAllHosts
public void setTrustAllHosts(boolean trustAllHosts) - Parameters:
trustAllHosts
- should all hosts be trusted?
-
getTrustedHosts
- Returns:
- the trusted hosts
-
setTrustedHosts
- Parameters:
trustedHosts
- the hosts to trust
-
isServerTrusted
After a successful conection to the server, this method is called to ensure that the server should be trusted.- Parameters:
sslSocket
- SSLSocket connected to the serverserver
- name of the server we connected to- Returns:
- true if "trustAllHosts" is set to true OR the server is contained in the "trustedHosts" array;
-
createSocket
- Specified by:
createSocket
in classSSLSocketFactory
- Throws:
IOException
-
getDefaultCipherSuites
- Specified by:
getDefaultCipherSuites
in classSSLSocketFactory
-
getSupportedCipherSuites
- Specified by:
getSupportedCipherSuites
in classSSLSocketFactory
-
createSocket
- Overrides:
createSocket
in classSocketFactory
- Throws:
IOException
-
createSocket
public Socket createSocket(InetAddress inetaddress, int i, InetAddress inetaddress1, int j) throws IOException - Specified by:
createSocket
in classSocketFactory
- Throws:
IOException
-
createSocket
- Specified by:
createSocket
in classSocketFactory
- Throws:
IOException
-
createSocket
public Socket createSocket(String s, int i, InetAddress inetaddress, int j) throws IOException, UnknownHostException - Specified by:
createSocket
in classSocketFactory
- Throws:
IOException
UnknownHostException
-
createSocket
- Specified by:
createSocket
in classSocketFactory
- Throws:
IOException
UnknownHostException
-