Stay organized with collections
Save and categorize content based on your preferences.
HandshakeStatus
class HandshakeStatus
An SSLEngineResult
enum describing the current handshaking state of this SSLEngine
.
Summary
Enum values |
The SSLEngine has just finished handshaking.
|
The SSLEngine needs the results of one (or more) delegated tasks before handshaking can continue.
|
The SSLEngine needs to receive data from the remote side before handshaking can continue.
|
The SSLEngine must send data to the remote side before handshaking can continue, so SSLEngine.wrap() should be called.
|
The SSLEngine is not currently handshaking.
|
Enum values
FINISHED
enum val FINISHED : SSLEngineResult.HandshakeStatus
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()
.
NEED_TASK
enum val NEED_TASK : SSLEngineResult.HandshakeStatus
The SSLEngine
needs the results of one (or more) delegated tasks before handshaking can continue.
NEED_UNWRAP
enum val NEED_UNWRAP : SSLEngineResult.HandshakeStatus
The SSLEngine
needs to receive data from the remote side before handshaking can continue.
NEED_WRAP
enum val NEED_WRAP : SSLEngineResult.HandshakeStatus
The SSLEngine
must send data to the remote side before handshaking can continue, so SSLEngine.wrap()
should be called.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# SSLEngineResult.HandshakeStatus\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nHandshakeStatus\n===============\n\n```\nclass HandshakeStatus\n```\n\n|---|---|----------------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||\n| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\\\u003c[javax.net.ssl.SSLEngineResult.HandshakeStatus](#)\\\u003e ||\n| | ↳ | [javax.net.ssl.SSLEngineResult.HandshakeStatus](#) |\n\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Known Direct Subclasses [SSLEngineResult.HandshakeStatus.FINISHED](#ENUM_VALUE:FINISHED), [SSLEngineResult.HandshakeStatus.NEED_TASK](#ENUM_VALUE:NEED_TASK), [SSLEngineResult.HandshakeStatus.NEED_UNWRAP](#ENUM_VALUE:NEED_UNWRAP), [SSLEngineResult.HandshakeStatus.NEED_WRAP](#ENUM_VALUE:NEED_WRAP), [SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING](#ENUM_VALUE:NOT_HANDSHAKING) |--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| | [SSLEngineResult.HandshakeStatus.FINISHED](#ENUM_VALUE:FINISHED) | The `SSLEngine` has just finished handshaking. | | [SSLEngineResult.HandshakeStatus.NEED_TASK](#ENUM_VALUE:NEED_TASK) | The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue. | | [SSLEngineResult.HandshakeStatus.NEED_UNWRAP](#ENUM_VALUE:NEED_UNWRAP) | The `SSLEngine` needs to receive data from the remote side before handshaking can continue. | | [SSLEngineResult.HandshakeStatus.NEED_WRAP](#ENUM_VALUE:NEED_WRAP) | The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called. | | [SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING](#ENUM_VALUE:NOT_HANDSHAKING) | The `SSLEngine` is not currently handshaking. | |\n\nAn `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`.\n\nSummary\n-------\n\n| Enum values ||\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| [FINISHED](#ENUM_VALUE:FINISHED) The `SSLEngine` has just finished handshaking. |\n| [NEED_TASK](#ENUM_VALUE:NEED_TASK) The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue. |\n| [NEED_UNWRAP](#ENUM_VALUE:NEED_UNWRAP) The `SSLEngine` needs to receive data from the remote side before handshaking can continue. |\n| [NEED_WRAP](#ENUM_VALUE:NEED_WRAP) The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called. |\n| [NOT_HANDSHAKING](#ENUM_VALUE:NOT_HANDSHAKING) The `SSLEngine` is not currently handshaking. |\n\nEnum values\n-----------\n\n### FINISHED\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val FINISHED : SSLEngineResult.HandshakeStatus\n```\n\nThe `SSLEngine` has just finished handshaking.\n\nThis value is only generated by a call to `SSLEngine.wrap()/unwrap()` when that call finishes a handshake. It is never generated by `SSLEngine.getHandshakeStatus()`. \n**See Also**\n\n- [javax.net.ssl.SSLEngine#getHandshakeStatus()](/reference/kotlin/javax/net/ssl/SSLEngine#getHandshakeStatus()) \n\n### NEED_TASK\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val NEED_TASK : SSLEngineResult.HandshakeStatus\n```\n\nThe `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue. \n**See Also**\n\n- [javax.net.ssl.SSLEngine#getDelegatedTask()](/reference/kotlin/javax/net/ssl/SSLEngine#getDelegatedTask()) \n\n### NEED_UNWRAP\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val NEED_UNWRAP : SSLEngineResult.HandshakeStatus\n```\n\nThe `SSLEngine` needs to receive data from the remote side before handshaking can continue. \n\n### NEED_WRAP\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val NEED_WRAP : SSLEngineResult.HandshakeStatus\n```\n\nThe `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called. \n**See Also**\n\n### NOT_HANDSHAKING\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val NOT_HANDSHAKING : SSLEngineResult.HandshakeStatus\n```\n\nThe `SSLEngine` is not currently handshaking."]]