SSLEngines
public
class
SSLEngines
extends Object
| java.lang.Object | |
| ↳ | android.net.ssl.SSLEngines |
Static utility methods for accessing additional functionality of supported instances of
SSLEngine. Engines from the platform TLS provider will be compatible with all
methods in this class.
Summary
Public methods | |
|---|---|
static
byte[]
|
exportKeyingMaterial(SSLEngine engine, String label, byte[] context, int length)
Exports a value derived from the TLS master secret as described in RFC 5705. |
static
boolean
|
isSupportedEngine(SSLEngine engine)
Returns whether the given engine can be used with the methods in this class. |
static
void
|
setUseSessionTickets(SSLEngine engine, boolean useSessionTickets)
Enables or disables the use of session tickets. |
Inherited methods | |
|---|---|
Public methods
exportKeyingMaterial
public static byte[] exportKeyingMaterial (SSLEngine engine, String label, byte[] context, int length)
Exports a value derived from the TLS master secret as described in RFC 5705.
A number of protocols leverage Transport Layer Security (TLS) to perform key
establishment but then use some of the keying material for their own purposes.
This method allows an application to export keying material from a TLS connection.
The exported material will be the same on the client and server if they pass in
the same values for label and context. See RFC 5705 for further
details.
| Parameters | |
|---|---|
engine |
SSLEngine: the engine to use for exporting keying material.
This value cannot be null. |
label |
String: the label to use in calculating the exported value. This must be
an ASCII-only string.
This value cannot be null. |
context |
byte: the application-specific context value to use in calculating the
exported value. This may be null to use no application context, which is
treated differently than an empty byte array. |
length |
int: the number of bytes of keying material to return. |
| Returns | |
|---|---|
byte[] |
a value of the specified length, or null if the handshake has not yet
completed or the connection has been closed. |
| Throws | |
|---|---|
SSLException |
if the value could not be exported. |
isSupportedEngine
public static boolean isSupportedEngine (SSLEngine engine)
Returns whether the given engine can be used with the methods in this class. In general, only engines from the platform TLS provider are supported.
| Parameters | |
|---|---|
engine |
SSLEngine: This value cannot be null. |
| Returns | |
|---|---|
boolean |
|
setUseSessionTickets
public static void setUseSessionTickets (SSLEngine engine, boolean useSessionTickets)
Enables or disables the use of session tickets.
This function must be called before the handshake is started or it will have no effect.
| Parameters | |
|---|---|
engine |
SSLEngine: the engine.
This value cannot be null. |
useSessionTickets |
boolean: whether to enable or disable the use of session tickets |
| Throws | |
|---|---|
IllegalArgumentException |
if the given engine is not a platform engine |