ChildSaProposal.Builder


public static final class ChildSaProposal.Builder
extends Object

java.lang.Object
   ↳ android.net.ipsec.ike.ChildSaProposal.Builder


This class is used to incrementally construct a ChildSaProposal. ChildSaProposal instances are immutable once built.

Summary

Public constructors

Builder()

Public methods

ChildSaProposal.Builder addDhGroup(int dhGroup)

Adds a Diffie-Hellman Group to the SA proposal being built.

ChildSaProposal.Builder addEncryptionAlgorithm(int algorithm, int keyLength)

Adds an encryption algorithm with a specific key length to the SA proposal being built.

ChildSaProposal.Builder addIntegrityAlgorithm(int algorithm)

Adds an integrity algorithm to the SA proposal being built.

ChildSaProposal build()

Validates and builds the ChildSaProposal.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the 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(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.

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()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

Builder

Added in API level 31
public Builder ()

Public methods

addDhGroup

Added in API level 31
public ChildSaProposal.Builder addDhGroup (int dhGroup)

Adds a Diffie-Hellman Group to the SA proposal being built.

If this ChildSaProposal will be used for the first Child SA created as part of IKE AUTH exchange, DH groups configured here will only apply when the Child SA is later rekeyed. In this case, configuring different DH groups for IKE and Child SA may cause Rekey Child to fail.

If no DH groups are supplied here, but the server requests a DH exchange during rekey, the IKE SA's negotiated DH group will still be accepted.

Returns
ChildSaProposal.Builder Builder of ChildSaProposal. This value cannot be null.

addEncryptionAlgorithm

Added in API level 31
public ChildSaProposal.Builder addEncryptionAlgorithm (int algorithm, 
                int keyLength)

Adds an encryption algorithm with a specific key length to the SA proposal being built.

Parameters
algorithm int: encryption algorithm to add to ChildSaProposal. Value is SaProposal.ENCRYPTION_ALGORITHM_3DES, SaProposal.ENCRYPTION_ALGORITHM_AES_CBC, SaProposal.ENCRYPTION_ALGORITHM_AES_CTR, SaProposal.ENCRYPTION_ALGORITHM_AES_GCM_8, SaProposal.ENCRYPTION_ALGORITHM_AES_GCM_12, SaProposal.ENCRYPTION_ALGORITHM_AES_GCM_16, or SaProposal.ENCRYPTION_ALGORITHM_CHACHA20_POLY1305

keyLength int: key length of algorithm. For algorithms that have fixed key length (e.g. 3DES) only SaProposal.KEY_LEN_UNUSED is allowed.

Returns
ChildSaProposal.Builder Builder of ChildSaProposal. This value cannot be null.

addIntegrityAlgorithm

Added in API level 31
public ChildSaProposal.Builder addIntegrityAlgorithm (int algorithm)

Adds an integrity algorithm to the SA proposal being built.

Returns
ChildSaProposal.Builder Builder of ChildSaProposal. This value cannot be null.

build

Added in API level 31
public ChildSaProposal build ()

Validates and builds the ChildSaProposal.

Returns
ChildSaProposal the validated ChildSaProposal. This value cannot be null.