com.sun.mail.util
Class MailSSLSocketFactory
java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
com.sun.mail.util.MailSSLSocketFactory
public class MailSSLSocketFactory
- extends SSLSocketFactory
An SSL socket factory that makes it easier to specify trust.
This socket factory can be configured to trust all hosts or
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
- Author:
- Stephan Sann, Bill Shannon
Method Summary |
Socket |
createSocket()
|
Socket |
createSocket(InetAddress inetaddress,
int i)
|
Socket |
createSocket(InetAddress inetaddress,
int i,
InetAddress inetaddress1,
int j)
|
Socket |
createSocket(Socket socket,
String s,
int i,
boolean flag)
|
Socket |
createSocket(String s,
int i)
|
Socket |
createSocket(String s,
int i,
InetAddress inetaddress,
int j)
|
String[] |
getDefaultCipherSuites()
|
KeyManager[] |
getKeyManagers()
|
SecureRandom |
getSecureRandom()
|
String[] |
getSupportedCipherSuites()
|
String[] |
getTrustedHosts()
|
TrustManager[] |
getTrustManagers()
|
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 |
isTrustAllHosts()
|
void |
setKeyManagers(KeyManager[] keyManagers)
|
void |
setSecureRandom(SecureRandom secureRandom)
|
void |
setTrustAllHosts(boolean trustAllHosts)
|
void |
setTrustedHosts(String[] trustedHosts)
|
void |
setTrustManagers(TrustManager[] trustManagers)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MailSSLSocketFactory
public MailSSLSocketFactory()
throws GeneralSecurityException
- Initializes a new MailSSLSocketFactory.
- Throws:
GeneralSecurityException
MailSSLSocketFactory
public MailSSLSocketFactory(String protocol)
throws GeneralSecurityException
- 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 supported
GeneralSecurityException
getKeyManagers
public KeyManager[] getKeyManagers()
- Returns:
- the keyManagers
setKeyManagers
public void setKeyManagers(KeyManager[] keyManagers)
throws GeneralSecurityException
- Parameters:
keyManagers
- the keyManagers to set
- Throws:
GeneralSecurityException
getSecureRandom
public SecureRandom getSecureRandom()
- Returns:
- the secureRandom
setSecureRandom
public void setSecureRandom(SecureRandom secureRandom)
throws GeneralSecurityException
- Parameters:
secureRandom
- the secureRandom to set
- Throws:
GeneralSecurityException
getTrustManagers
public TrustManager[] getTrustManagers()
- Returns:
- the trustManagers
setTrustManagers
public void setTrustManagers(TrustManager[] trustManagers)
throws GeneralSecurityException
- Parameters:
trustManagers
- the trustManagers to set
- Throws:
GeneralSecurityException
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
public String[] getTrustedHosts()
- Returns:
- the trusted hosts
setTrustedHosts
public void setTrustedHosts(String[] trustedHosts)
- Parameters:
trustedHosts
- the hosts to trust
isServerTrusted
public 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.
- Parameters:
server
- name of the server we connected tosslSocket
- SSLSocket connected to the server
- Returns:
- true if "trustAllHosts" is set to true OR the server
is contained in the "trustedHosts" array;
createSocket
public Socket createSocket(Socket socket,
String s,
int i,
boolean flag)
throws IOException
- Specified by:
createSocket
in class SSLSocketFactory
- Throws:
IOException
getDefaultCipherSuites
public String[] getDefaultCipherSuites()
- Specified by:
getDefaultCipherSuites
in class SSLSocketFactory
getSupportedCipherSuites
public String[] getSupportedCipherSuites()
- Specified by:
getSupportedCipherSuites
in class SSLSocketFactory
createSocket
public Socket createSocket()
throws IOException
- Overrides:
createSocket
in class SocketFactory
- Throws:
IOException
createSocket
public Socket createSocket(InetAddress inetaddress,
int i,
InetAddress inetaddress1,
int j)
throws IOException
- Specified by:
createSocket
in class SocketFactory
- Throws:
IOException
createSocket
public Socket createSocket(InetAddress inetaddress,
int i)
throws IOException
- Specified by:
createSocket
in class SocketFactory
- Throws:
IOException
createSocket
public Socket createSocket(String s,
int i,
InetAddress inetaddress,
int j)
throws IOException,
UnknownHostException
- Specified by:
createSocket
in class SocketFactory
- Throws:
IOException
UnknownHostException
createSocket
public Socket createSocket(String s,
int i)
throws IOException,
UnknownHostException
- Specified by:
createSocket
in class SocketFactory
- Throws:
IOException
UnknownHostException
Copyright © 2011 Sun Microsystems, Inc.. All Rights Reserved.