Class SafeSSLSocketFactory

java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
io.ably.lib.transport.SafeSSLSocketFactory

public class SafeSSLSocketFactory
extends javax.net.ssl.SSLSocketFactory
This is a decorator for the SSLSocketFactory which modifies the enabled TLS protocols for each created SSLSocket to only use the protocols which are considered to be safe.

This class was created because the SSLContext.getInstance() method does not allow specifying precisely which TLS protocols can be used and which cannot.

  • Constructor Summary

    Constructors 
    Constructor Description
    SafeSSLSocketFactory​(javax.net.ssl.SSLSocketFactory factory)  
  • Method Summary

    Modifier and Type Method Description
    java.net.Socket createSocket()  
    java.net.Socket createSocket​(java.lang.String host, int port)  
    java.net.Socket createSocket​(java.lang.String host, int port, java.net.InetAddress localHost, int localPort)  
    java.net.Socket createSocket​(java.net.InetAddress host, int port)  
    java.net.Socket createSocket​(java.net.InetAddress address, int port, java.net.InetAddress localAddress, int localPort)  
    java.net.Socket createSocket​(java.net.Socket socket, java.lang.String host, int port, boolean autoClose)  
    java.lang.String[] getDefaultCipherSuites()  
    java.lang.String[] getSupportedCipherSuites()  

    Methods inherited from class javax.net.ssl.SSLSocketFactory

    createSocket, getDefault

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getDefaultCipherSuites

      public java.lang.String[] getDefaultCipherSuites()
      Specified by:
      getDefaultCipherSuites in class javax.net.ssl.SSLSocketFactory
    • getSupportedCipherSuites

      public java.lang.String[] getSupportedCipherSuites()
      Specified by:
      getSupportedCipherSuites in class javax.net.ssl.SSLSocketFactory
    • createSocket

      public java.net.Socket createSocket() throws java.io.IOException
      Overrides:
      createSocket in class javax.net.SocketFactory
      Throws:
      java.io.IOException
    • createSocket

      public java.net.Socket createSocket​(java.net.Socket socket, java.lang.String host, int port, boolean autoClose) throws java.io.IOException
      Specified by:
      createSocket in class javax.net.ssl.SSLSocketFactory
      Throws:
      java.io.IOException
    • createSocket

      public java.net.Socket createSocket​(java.lang.String host, int port) throws java.io.IOException, java.net.UnknownHostException
      Specified by:
      createSocket in class javax.net.SocketFactory
      Throws:
      java.io.IOException
      java.net.UnknownHostException
    • createSocket

      public java.net.Socket createSocket​(java.lang.String host, int port, java.net.InetAddress localHost, int localPort) throws java.io.IOException, java.net.UnknownHostException
      Specified by:
      createSocket in class javax.net.SocketFactory
      Throws:
      java.io.IOException
      java.net.UnknownHostException
    • createSocket

      public java.net.Socket createSocket​(java.net.InetAddress host, int port) throws java.io.IOException
      Specified by:
      createSocket in class javax.net.SocketFactory
      Throws:
      java.io.IOException
    • createSocket

      public java.net.Socket createSocket​(java.net.InetAddress address, int port, java.net.InetAddress localAddress, int localPort) throws java.io.IOException
      Specified by:
      createSocket in class javax.net.SocketFactory
      Throws:
      java.io.IOException