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

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.

Parameters
dhGroup int: to add to ChildSaProposal. Value is SaProposal.DH_GROUP_NONE, SaProposal.DH_GROUP_1024_BIT_MODP, SaProposal.DH_GROUP_1536_BIT_MODP, SaProposal.DH_GROUP_2048_BIT_MODP, SaProposal.DH_GROUP_3072_BIT_MODP, SaProposal.DH_GROUP_4096_BIT_MODP, or SaProposal.DH_GROUP_CURVE_25519

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.

Parameters
algorithm int: integrity algorithm to add to ChildSaProposal. Value is SaProposal.INTEGRITY_ALGORITHM_NONE, SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA1_96, SaProposal.INTEGRITY_ALGORITHM_AES_XCBC_96, SaProposal.INTEGRITY_ALGORITHM_AES_CMAC_96, SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA2_256_128, SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA2_384_192, or SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA2_512_256

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.