# Interface SSLContext

All Known Implementing Classes:
  `OpenSSLContext`

public interface SSLContext
This interface is needed to override the default SSLContext class to allow SSL implementation pluggability without having to use JCE. With regular JSSE it will do nothing but delegate to the SSLContext.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SSLEngine`
  `createSSLEngine()`
  Creates a new SSL engine.
  `void`
  `destroy()`
  Destroys this SSL context and releases any associated resources.
  `X509Certificate[]`
  `getAcceptedIssuers()`
  Returns the accepted issuers.
  `X509Certificate[]`
  `getCertificateChain(String alias)`
  Returns the certificate chain for the given alias.
  `SSLSessionContext`
  `getServerSessionContext()`
  Returns the server session context.
  `SSLServerSocketFactory`
  `getServerSocketFactory()`
  Returns the server socket factory.
  `SSLParameters`
  `getSupportedSSLParameters()`
  Returns the supported SSL parameters.
  `void`
  `init(KeyManager[] kms, TrustManager[] tms, SecureRandom sr)`
  Initializes the SSL context with the given key managers, trust managers, and random number generator.

- ## Method Details

  - ### init

    void init(KeyManager[] kms, TrustManager[] tms, SecureRandom sr) throws KeyManagementException
    Initializes the SSL context with the given key managers, trust managers, and random number generator.
    Parameters:
      `kms` - The key managers
      `tms` - The trust managers
      `sr` - The secure random number generator
    Throws:
      `KeyManagementException` - if initialization fails

  - ### destroy

    void destroy()
    Destroys this SSL context and releases any associated resources.

  - ### getServerSessionContext

    SSLSessionContext getServerSessionContext()
    Returns the server session context.
    Returns:
      The server session context

  - ### createSSLEngine

    SSLEngine createSSLEngine()
    Creates a new SSL engine.
    Returns:
      The new SSL engine

  - ### getServerSocketFactory

    SSLServerSocketFactory getServerSocketFactory()
    Returns the server socket factory.
    Returns:
      The server socket factory

  - ### getSupportedSSLParameters

    SSLParameters getSupportedSSLParameters()
    Returns the supported SSL parameters.
    Returns:
      The supported SSL parameters

  - ### getCertificateChain

    X509Certificate[] getCertificateChain(String alias)
    Returns the certificate chain for the given alias.
    Parameters:
      `alias` - The alias
    Returns:
      The certificate chain

  - ### getAcceptedIssuers

    X509Certificate[] getAcceptedIssuers()
    Returns the accepted issuers.
    Returns:
      The accepted issuers