SSLEngineResult.HandshakeStatus (Java Platform SE 8 )
Keywords: javax.net.ssl.SSLEngineResult.HandshakeStatus class
Date: 2026-04-17

compact1, compact2, compact3
javax.net.ssl

## Enum SSLEngineResult.HandshakeStatus

- java.lang.Object
- - java.lang.Enum<SSLEngineResult.HandshakeStatus>
  - - javax.net.ssl.SSLEngineResult.HandshakeStatus

- All Implemented Interfaces:
    Serializable, Comparable<SSLEngineResult.HandshakeStatus>
  Enclosing class:
    SSLEngineResult

      public static enum SSLEngineResult.HandshakeStatus
      extends Enum<SSLEngineResult.HandshakeStatus>

  An `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`.
  Since:
    1.5

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `FINISHED` The `SSLEngine` has just finished handshaking.
    `NEED_TASK` The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue.
    `NEED_UNWRAP` The `SSLEngine` needs to receive data from the remote side before handshaking can continue.
    `NEED_WRAP` The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called.
    `NOT_HANDSHAKING` The `SSLEngine` is not currently handshaking.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SSLEngineResult.HandshakeStatus` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static SSLEngineResult.HandshakeStatus[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### NOT_HANDSHAKING

          public static final SSLEngineResult.HandshakeStatus NOT_HANDSHAKING

      The `SSLEngine` is not currently handshaking.

    - #### FINISHED

          public static final SSLEngineResult.HandshakeStatus FINISHED

      The `SSLEngine` has just finished handshaking.

      This value is only generated by a call to `SSLEngine.wrap()/unwrap()` when that call finishes a handshake. It is never generated by `SSLEngine.getHandshakeStatus()`.

      See Also:
        `SSLEngine.wrap(ByteBuffer, ByteBuffer)`, `SSLEngine.unwrap(ByteBuffer, ByteBuffer)`, `SSLEngine.getHandshakeStatus()`

    - #### NEED_TASK

          public static final SSLEngineResult.HandshakeStatus NEED_TASK

      The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue.
      See Also:
        `SSLEngine.getDelegatedTask()`

    - #### NEED_WRAP

          public static final SSLEngineResult.HandshakeStatus NEED_WRAP

      The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called.
      See Also:
        `SSLEngine.wrap(ByteBuffer, ByteBuffer)`

    - #### NEED_UNWRAP

          public static final SSLEngineResult.HandshakeStatus NEED_UNWRAP

      The `SSLEngine` needs to receive data from the remote side before handshaking can continue.

  - ### Method Detail

    - #### values

          public static SSLEngineResult.HandshakeStatus[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (SSLEngineResult.HandshakeStatus c : SSLEngineResult.HandshakeStatus.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static SSLEngineResult.HandshakeStatus valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.