Package javax.net.ssl

Class SSLContextSpi

java.lang.Object
javax.net.ssl.SSLContextSpi
Direct Known Subclasses:
SSLContextImpl

public abstract class SSLContextSpi
extends Object
The Service Provider Interface (SPI) for the SSLContext class.
  • Constructor Details

    • SSLContextSpi

      public SSLContextSpi()
      Creates a new SSLContextSpi instance.
  • Method Details

    • engineInit

      protected abstract void engineInit​(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
      Initializes this SSLContext instance. All of the arguments are optional, and the security providers will be searched for the required implementations of the needed algorithms.
      Parameters:
      km - the key sources or null.
      tm - the trust decision sources or null.
      sr - the randomness source or null.
      Throws:
      KeyManagementException - if initializing this instance fails.
    • engineGetSocketFactory

      protected abstract SSLSocketFactory engineGetSocketFactory()
      Returns a socket factory for this instance.
      Returns:
      a socket factory for this instance.
    • engineGetServerSocketFactory

      protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
      Returns a server socket factory for this instance.
      Returns:
      a server socket factory for this instance.
    • engineCreateSSLEngine

      protected abstract SSLEngine engineCreateSSLEngine​(String host, int port)
      Creates an SSLEngine instance from this context with the specified hostname and port.
      Parameters:
      host - the name of the host
      port - the port
      Returns:
      an SSLEngine instance from this context.
      Throws:
      UnsupportedOperationException - if the provider does not support the operation.
    • engineCreateSSLEngine

      protected abstract SSLEngine engineCreateSSLEngine()
      Creates an SSLEngine instance from this context.
      Returns:
      an SSLEngine instance from this context.
      Throws:
      UnsupportedOperationException - if the provider does not support the operation.
    • engineGetServerSessionContext

      protected abstract SSLSessionContext engineGetServerSessionContext()
      Returns the SSL session context that encapsulates the set of SSL sessions that can be used for the server side of the SSL handshake.
      Returns:
      the SSL server session context for this context or null if the underlying provider does not provide an implementation of the SSLSessionContext interface.
    • engineGetClientSessionContext

      protected abstract SSLSessionContext engineGetClientSessionContext()
      Returns the SSL session context that encapsulates the set of SSL sessions that can be used for the client side of the SSL handshake.
      Returns:
      the SSL client session context for this context or null if the underlying provider does not provide an implementation of the SSLSessionContext interface.
    • engineGetDefaultSSLParameters

      protected SSLParameters engineGetDefaultSSLParameters()
      Returns a new SSLParameters instance that includes the default SSL handshake parameters values including cipher suites, protocols, and client authentication.

      The default implementation returns an SSLParameters with values based an SSLSocket created from this instances SocketFactory.

      Since:
      1.6
    • engineGetSupportedSSLParameters

      protected SSLParameters engineGetSupportedSSLParameters()
      Returns a new SSLParameters instance that includes all supported cipher suites and protocols.

      The default implementation returns an SSLParameters with values based an SSLSocket created from this instances SocketFactory.

      Since:
      1.6