Class SSLParametersImpl

java.lang.Object
org.conscrypt.SSLParametersImpl
All Implemented Interfaces:
Cloneable

final class SSLParametersImpl extends Object implements Cloneable
The instances of this class encapsulate all the info about enabled cipher suites and protocols, as well as the information about client/server mode of ssl socket, whether it require/want client authentication or not, and controls whether new SSL sessions may be established by this socket or not.
  • Field Details

    • defaultX509KeyManager

      private static volatile X509KeyManager defaultX509KeyManager
    • defaultX509TrustManager

      private static volatile X509TrustManager defaultX509TrustManager
    • defaultParameters

      private static volatile SSLParametersImpl defaultParameters
    • clientSessionContext

      private final ClientSessionContext clientSessionContext
    • serverSessionContext

      private final ServerSessionContext serverSessionContext
    • x509KeyManager

      private final X509KeyManager x509KeyManager
    • pskKeyManager

      private final PSKKeyManager pskKeyManager
    • x509TrustManager

      private final X509TrustManager x509TrustManager
    • spake2PlusTrustManager

      private final Spake2PlusTrustManager spake2PlusTrustManager
    • spake2PlusKeyManager

      private final Spake2PlusKeyManager spake2PlusKeyManager
    • enabledProtocols

      String[] enabledProtocols
    • isEnabledProtocolsFiltered

      boolean isEnabledProtocolsFiltered
    • enabledCipherSuites

      String[] enabledCipherSuites
    • namedGroups

      String[] namedGroups
    • client_mode

      private boolean client_mode
    • need_client_auth

      private boolean need_client_auth
    • want_client_auth

      private boolean want_client_auth
    • enable_session_creation

      private boolean enable_session_creation
    • endpointIdentificationAlgorithm

      private String endpointIdentificationAlgorithm
    • useCipherSuitesOrder

      private boolean useCipherSuitesOrder
    • sniMatchers

      private Collection<SNIMatcher> sniMatchers
    • algorithmConstraints

      private AlgorithmConstraints algorithmConstraints
    • ctVerificationEnabled

      private boolean ctVerificationEnabled
    • sctExtension

      byte[] sctExtension
    • ocspResponse

      byte[] ocspResponse
    • applicationProtocols

      byte[] applicationProtocols
    • applicationProtocolSelector

      ApplicationProtocolSelectorAdapter applicationProtocolSelector
    • useSessionTickets

      boolean useSessionTickets
    • useSni

      private Boolean useSni
    • channelIdEnabled

      boolean channelIdEnabled
      Whether the TLS Channel ID extension is enabled. This field is server-side only.
    • EMPTY_STRING_ARRAY

      private static final String[] EMPTY_STRING_ARRAY
  • Constructor Details

  • Method Details

    • initSpake

      void initSpake() throws KeyManagementException
      Initializes the SSL credential for the Spake.
      Throws:
      KeyManagementException
    • getDefault

      static SSLParametersImpl getDefault() throws KeyManagementException
      Throws:
      KeyManagementException
    • getSessionContext

      AbstractSessionContext getSessionContext()
    • getClientSessionContext

      ClientSessionContext getClientSessionContext()
    • getServerSessionContext

      ServerSessionContext getServerSessionContext()
    • getX509KeyManager

      X509KeyManager getX509KeyManager()
      Returns X.509 key manager or null for none.
    • getPSKKeyManager

      PSKKeyManager getPSKKeyManager()
    • getSpake2PlusKeyManager

      Spake2PlusKeyManager getSpake2PlusKeyManager()
    • getX509TrustManager

      X509TrustManager getX509TrustManager()
    • getEnabledCipherSuites

      String[] getEnabledCipherSuites()
    • setEnabledCipherSuites

      void setEnabledCipherSuites(String[] cipherSuites)
    • getEnabledProtocols

      String[] getEnabledProtocols()
    • setEnabledProtocols

      void setEnabledProtocols(String[] protocols)
    • setNamedGroups

      void setNamedGroups(String[] namedGroups)
    • getNamedGroups

      String[] getNamedGroups()
    • setApplicationProtocols

      void setApplicationProtocols(String[] protocols)
    • getApplicationProtocols

      String[] getApplicationProtocols()
    • setApplicationProtocolSelector

      void setApplicationProtocolSelector(ApplicationProtocolSelectorAdapter applicationProtocolSelector)
    • getApplicationProtocolSelector

      ApplicationProtocolSelectorAdapter getApplicationProtocolSelector()
    • setUseClientMode

      void setUseClientMode(boolean mode)
    • getUseClientMode

      boolean getUseClientMode()
    • setNeedClientAuth

      void setNeedClientAuth(boolean need)
    • getNeedClientAuth

      boolean getNeedClientAuth()
    • setWantClientAuth

      void setWantClientAuth(boolean want)
    • getWantClientAuth

      boolean getWantClientAuth()
    • setEnableSessionCreation

      void setEnableSessionCreation(boolean flag)
    • getEnableSessionCreation

      boolean getEnableSessionCreation()
    • setUseSessionTickets

      void setUseSessionTickets(boolean useSessionTickets)
    • setUseSni

      void setUseSni(boolean flag)
    • getUseSni

      boolean getUseSni()
    • setCTVerificationEnabled

      void setCTVerificationEnabled(boolean enabled)
    • setSCTExtension

      void setSCTExtension(byte[] extension)
    • setOCSPResponse

      void setOCSPResponse(byte[] response)
    • getOCSPResponse

      byte[] getOCSPResponse()
    • filterFromProtocols

      private static String[] filterFromProtocols(String[] protocols, List<String> obsoleteProtocols)
    • filterFromCipherSuites

      private static String[] filterFromCipherSuites(String[] cipherSuites, Set<String> toRemove)
    • isSniEnabledByDefault

      private boolean isSniEnabledByDefault()
    • clone

      protected Object clone()
      Overrides:
      clone in class Object
    • cloneWithTrustManager

      SSLParametersImpl cloneWithTrustManager(X509TrustManager newTrustManager)
    • cloneWithSpake

      SSLParametersImpl cloneWithSpake()
    • getDefaultX509KeyManager

      private static X509KeyManager getDefaultX509KeyManager() throws KeyManagementException
      Throws:
      KeyManagementException
    • createDefaultX509KeyManager

      private static X509KeyManager createDefaultX509KeyManager() throws KeyManagementException
      Throws:
      KeyManagementException
    • findFirstX509KeyManager

      private static X509KeyManager findFirstX509KeyManager(KeyManager[] kms)
    • findFirstPSKKeyManager

      private static PSKKeyManager findFirstPSKKeyManager(KeyManager[] kms)
    • findFirstSpake2PlusKeyManager

      private static Spake2PlusKeyManager findFirstSpake2PlusKeyManager(KeyManager[] kms)
    • getDefaultX509TrustManager

      static X509TrustManager getDefaultX509TrustManager() throws KeyManagementException
      Throws:
      KeyManagementException
    • createDefaultX509TrustManager

      private static X509TrustManager createDefaultX509TrustManager() throws KeyManagementException
      Throws:
      KeyManagementException
    • findFirstX509TrustManager

      private static X509TrustManager findFirstX509TrustManager(TrustManager[] tms)
    • findFirstSpake2PlusTrustManager

      private static Spake2PlusTrustManager findFirstSpake2PlusTrustManager(TrustManager[] tms)
    • getEndpointIdentificationAlgorithm

      String getEndpointIdentificationAlgorithm()
    • setEndpointIdentificationAlgorithm

      void setEndpointIdentificationAlgorithm(String endpointIdentificationAlgorithm)
    • getUseCipherSuitesOrder

      boolean getUseCipherSuitesOrder()
    • getSNIMatchers

      Collection<SNIMatcher> getSNIMatchers()
    • setSNIMatchers

      void setSNIMatchers(Collection<SNIMatcher> sniMatchers)
    • getAlgorithmConstraints

      AlgorithmConstraints getAlgorithmConstraints()
    • setAlgorithmConstraints

      void setAlgorithmConstraints(AlgorithmConstraints algorithmConstraints)
    • setUseCipherSuitesOrder

      void setUseCipherSuitesOrder(boolean useCipherSuitesOrder)
    • getDefaultCipherSuites

      private static String[] getDefaultCipherSuites(boolean x509CipherSuitesNeeded, boolean pskCipherSuitesNeeded, boolean spake2PlusCipherSuitesNeeded)
    • isCTVerificationEnabled

      boolean isCTVerificationEnabled(String hostname)
    • isSpake

      boolean isSpake()