IkeSaProposal.Builder

public static final class IkeSaProposal.Builder
extends Object

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


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

Summary

Public constructors

Builder()

Public methods

IkeSaProposal.Builder addDhGroup(int dhGroup)

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

IkeSaProposal.Builder addEncryptionAlgorithm(int algorithm, int keyLength)

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

IkeSaProposal.Builder addIntegrityAlgorithm(int algorithm)

Adds an integrity algorithm to the SA proposal being built.

IkeSaProposal.Builder addPseudorandomFunction(int algorithm)

Adds a pseudorandom function to the SA proposal being built.

IkeSaProposal build()

Validates and builds the IkeSaProposal.

Inherited methods

Public constructors

Builder

Added in API level 31
public Builder ()

Public methods

addDhGroup

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

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

Parameters
dhGroup int: to add to IkeSaProposal. 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
IkeSaProposal.Builder Builder of IkeSaProposal. This value cannot be null.

addEncryptionAlgorithm

Added in API level 31
public IkeSaProposal.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 IkeSaProposal. 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
IkeSaProposal.Builder Builder of IkeSaProposal. This value cannot be null.

addIntegrityAlgorithm

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

Adds an integrity algorithm to the SA proposal being built.

Parameters
algorithm int: integrity algorithm to add to IkeSaProposal. 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
IkeSaProposal.Builder Builder of IkeSaProposal. This value cannot be null.

addPseudorandomFunction

Added in API level 31
public IkeSaProposal.Builder addPseudorandomFunction (int algorithm)

Adds a pseudorandom function to the SA proposal being built.

Parameters
algorithm int: pseudorandom function to add to IkeSaProposal. Value is SaProposal.PSEUDORANDOM_FUNCTION_HMAC_SHA1, SaProposal.PSEUDORANDOM_FUNCTION_AES128_XCBC, SaProposal.PSEUDORANDOM_FUNCTION_SHA2_256, SaProposal.PSEUDORANDOM_FUNCTION_SHA2_384, SaProposal.PSEUDORANDOM_FUNCTION_SHA2_512, or SaProposal.PSEUDORANDOM_FUNCTION_AES128_CMAC

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

build

Added in API level 31
public IkeSaProposal build ()

Validates and builds the IkeSaProposal.

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