# Class HttpsParameters

java.lang.Object
com.sun.net.httpserver.HttpsParameters

public abstract class HttpsParameters extends Object
Represents the set of parameters for each https connection negotiated with clients. One of these is created and passed to `HttpsConfigurator.configure(HttpsParameters)` for every incoming https connection, in order to determine the parameters to use.

The underlying SSL parameters may be established either via the set/get methods of this class, or else via a `SSLParameters` object. `SSLParameters` is the preferred method, because in the future, additional configuration capabilities may be added to that class, and it is easier to determine the set of supported parameters and their default values with SSLParameters. Also, if an `SSLParameters` object is provided via `setSSLParameters(SSLParameters)` then those parameter settings are used, and any settings made in this object are ignored.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `HttpsParameters()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String[]`
  `getCipherSuites()`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `abstract InetSocketAddress`
  `getClientAddress()`
  Returns the address of the remote client initiating the connection.
  `abstract HttpsConfigurator`
  `getHttpsConfigurator()`
  Returns the `HttpsConfigurator` for this `HttpsParameters`.
  `boolean`
  `getNeedClientAuth()`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `String[]`
  `getProtocols()`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `boolean`
  `getWantClientAuth()`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `void`
  `setCipherSuites(String[] cipherSuites)`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `void`
  `setNeedClientAuth(boolean needClientAuth)`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `void`
  `setProtocols(String[] protocols)`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
  `abstract void`
  `setSSLParameters(SSLParameters params)`
  Sets the `SSLParameters` to use for this `HttpsParameters`.
  `void`
  `setWantClientAuth(boolean wantClientAuth)`
  Deprecated.
  It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### HttpsParameters

    protected HttpsParameters()
    Constructor for subclasses to call.

- ## Method Details

  - ### getHttpsConfigurator

    public abstract HttpsConfigurator getHttpsConfigurator()
    Returns the `HttpsConfigurator` for this `HttpsParameters`.
    Returns:
      `HttpsConfigurator` for this instance of `HttpsParameters`

  - ### getClientAddress

    public abstract InetSocketAddress getClientAddress()
    Returns the address of the remote client initiating the connection.
    Returns:
      address of the remote client initiating the connection

  - ### setSSLParameters

    public abstract void setSSLParameters(SSLParameters params)
    Sets the `SSLParameters` to use for this `HttpsParameters`. The parameters must be supported by the `SSLContext` contained by the `HttpsConfigurator` associated with this `HttpsParameters`. If no parameters are set, then the default behavior is to use the default parameters from the associated `SSLContext`.
    Parameters:
      `params` - the `SSLParameters` to set. If `null` then the existing parameters (if any) remain unchanged
    Throws:
      `IllegalArgumentException` - if any of the parameters are invalid or unsupported

  - ### getCipherSuites

    @Deprecated(since="23") public String[] getCipherSuites()
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
    Returns a copy of the array of ciphersuites or `null` if none have been set.
    Returns:
      a copy of the array of ciphersuites or `null` if none have been set

  - ### setCipherSuites

    @Deprecated(since="23") public void setCipherSuites(String[] cipherSuites)
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`. Use `SSLParameters.setCipherSuites(String[])` instead.
    Sets the array of ciphersuites.
    Parameters:
      `cipherSuites` - the array of ciphersuites (or `null`)

  - ### getProtocols

    @Deprecated(since="23") public String[] getProtocols()
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
    Returns a copy of the array of protocols or `null` if none have been set.
    Returns:
      a copy of the array of protocols or `null` if none have been set

  - ### setProtocols

    @Deprecated(since="23") public void setProtocols(String[] protocols)
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`. Use `SSLParameters.setProtocols(String[])` instead.
    Sets the array of protocols.
    Parameters:
      `protocols` - the array of protocols (or `null`)

  - ### getWantClientAuth

    @Deprecated(since="23") public boolean getWantClientAuth()
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
    Returns whether client authentication should be requested.
    Returns:
      whether client authentication should be requested

  - ### setWantClientAuth

    @Deprecated(since="23") public void setWantClientAuth(boolean wantClientAuth)
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`. Use `SSLParameters.setWantClientAuth(boolean)` instead.
    Sets whether client authentication should be requested. Calling this method clears the `needClientAuth` flag.
    Parameters:
      `wantClientAuth` - whether client authentication should be requested

  - ### getNeedClientAuth

    @Deprecated(since="23") public boolean getNeedClientAuth()
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`.
    Returns whether client authentication should be required.
    Returns:
      whether client authentication should be required

  - ### setNeedClientAuth

    @Deprecated(since="23") public void setNeedClientAuth(boolean needClientAuth)
    Deprecated.
    It is recommended that the SSL parameters be configured and read through the use of `SSLParameters`. Use `SSLParameters.setNeedClientAuth(boolean)` instead.
    Sets whether client authentication should be required. Calling this method clears the `wantClientAuth` flag.
    Parameters:
      `needClientAuth` - whether client authentication should be required