Package 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 javax.net.ssl.SSLSocketFactoryAn 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.socketFactoryproperty.- Since:
 - JavaMail 1.4.2
 
 
- 
- 
Constructor Summary
Constructors Constructor Description MailSSLSocketFactory()Initializes a new MailSSLSocketFactory.MailSSLSocketFactory(java.lang.String protocol)Initializes a new MailSSLSocketFactory with a given protocol. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.SocketcreateSocket()java.net.SocketcreateSocket(java.lang.String s, int i)java.net.SocketcreateSocket(java.lang.String s, int i, java.net.InetAddress inetaddress, int j)java.net.SocketcreateSocket(java.net.InetAddress inetaddress, int i)java.net.SocketcreateSocket(java.net.InetAddress inetaddress, int i, java.net.InetAddress inetaddress1, int j)java.net.SocketcreateSocket(java.net.Socket socket, java.lang.String s, int i, boolean flag)java.lang.String[]getDefaultCipherSuites()javax.net.ssl.KeyManager[]getKeyManagers()java.security.SecureRandomgetSecureRandom()java.lang.String[]getSupportedCipherSuites()java.lang.String[]getTrustedHosts()javax.net.ssl.TrustManager[]getTrustManagers()booleanisServerTrusted(java.lang.String server, javax.net.ssl.SSLSocket sslSocket)After a successful conection to the server, this method is called to ensure that the server should be trusted.booleanisTrustAllHosts()voidsetKeyManagers(javax.net.ssl.KeyManager[] keyManagers)voidsetSecureRandom(java.security.SecureRandom secureRandom)voidsetTrustAllHosts(boolean trustAllHosts)voidsetTrustedHosts(java.lang.String[] trustedHosts)voidsetTrustManagers(javax.net.ssl.TrustManager[] trustManagers) 
 - 
 
- 
- 
Constructor Detail
- 
MailSSLSocketFactory
public MailSSLSocketFactory() throws java.security.GeneralSecurityExceptionInitializes a new MailSSLSocketFactory.- Throws:
 java.security.GeneralSecurityException- for security errors
 
- 
MailSSLSocketFactory
public MailSSLSocketFactory(java.lang.String protocol) throws java.security.GeneralSecurityExceptionInitializes a new MailSSLSocketFactory with a given protocol. Normally the protocol will be specified as "TLS".- Parameters:
 protocol- The protocol to use- Throws:
 java.security.NoSuchAlgorithmException- if given protocol is not supportedjava.security.GeneralSecurityException- for security errors
 
 - 
 
- 
Method Detail
- 
getKeyManagers
public javax.net.ssl.KeyManager[] getKeyManagers()
- Returns:
 - the keyManagers
 
 
- 
setKeyManagers
public void setKeyManagers(javax.net.ssl.KeyManager[] keyManagers) throws java.security.GeneralSecurityException- Parameters:
 keyManagers- the keyManagers to set- Throws:
 java.security.GeneralSecurityException- for security errors
 
- 
getSecureRandom
public java.security.SecureRandom getSecureRandom()
- Returns:
 - the secureRandom
 
 
- 
setSecureRandom
public void setSecureRandom(java.security.SecureRandom secureRandom) throws java.security.GeneralSecurityException- Parameters:
 secureRandom- the secureRandom to set- Throws:
 java.security.GeneralSecurityException- for security errors
 
- 
getTrustManagers
public javax.net.ssl.TrustManager[] getTrustManagers()
- Returns:
 - the trustManagers
 
 
- 
setTrustManagers
public void setTrustManagers(javax.net.ssl.TrustManager[] trustManagers) throws java.security.GeneralSecurityException- Parameters:
 trustManagers- the trustManagers to set- Throws:
 java.security.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
public java.lang.String[] getTrustedHosts()
- Returns:
 - the trusted hosts
 
 
- 
setTrustedHosts
public void setTrustedHosts(java.lang.String[] trustedHosts)
- Parameters:
 trustedHosts- the hosts to trust
 
- 
isServerTrusted
public boolean isServerTrusted(java.lang.String server, javax.net.ssl.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 java.net.Socket createSocket(java.net.Socket socket, java.lang.String s, int i, boolean flag) throws java.io.IOException- Specified by:
 createSocketin classjavax.net.ssl.SSLSocketFactory- Throws:
 java.io.IOException
 
- 
getDefaultCipherSuites
public java.lang.String[] getDefaultCipherSuites()
- Specified by:
 getDefaultCipherSuitesin classjavax.net.ssl.SSLSocketFactory
 
- 
getSupportedCipherSuites
public java.lang.String[] getSupportedCipherSuites()
- Specified by:
 getSupportedCipherSuitesin classjavax.net.ssl.SSLSocketFactory
 
- 
createSocket
public java.net.Socket createSocket() throws java.io.IOException- Overrides:
 createSocketin classjavax.net.SocketFactory- Throws:
 java.io.IOException
 
- 
createSocket
public java.net.Socket createSocket(java.net.InetAddress inetaddress, int i, java.net.InetAddress inetaddress1, int j) throws java.io.IOException- Specified by:
 createSocketin classjavax.net.SocketFactory- Throws:
 java.io.IOException
 
- 
createSocket
public java.net.Socket createSocket(java.net.InetAddress inetaddress, int i) throws java.io.IOException- Specified by:
 createSocketin classjavax.net.SocketFactory- Throws:
 java.io.IOException
 
- 
createSocket
public java.net.Socket createSocket(java.lang.String s, int i, java.net.InetAddress inetaddress, int j) throws java.io.IOException, java.net.UnknownHostException- Specified by:
 createSocketin classjavax.net.SocketFactory- Throws:
 java.io.IOExceptionjava.net.UnknownHostException
 
- 
createSocket
public java.net.Socket createSocket(java.lang.String s, int i) throws java.io.IOException, java.net.UnknownHostException- Specified by:
 createSocketin classjavax.net.SocketFactory- Throws:
 java.io.IOExceptionjava.net.UnknownHostException
 
 - 
 
 -