Added in API level 31

SaProposal

abstract class SaProposal
kotlin.Any
   ↳ android.net.ipsec.ike.SaProposal

SaProposal represents a proposed configuration to negotiate an IKE or Child SA.

SaProposal will contain cryptograhic algorithms and key generation materials for the negotiation of an IKE or Child SA.

User must provide at least one valid SaProposal when they are creating a new IKE or Child SA.

Summary

Constants
static Int

1024-bit MODP Diffie-Hellman Group.

static Int

1536-bit MODP Diffie-Hellman Group.

static Int

2048-bit MODP Diffie-Hellman Group.

static Int

3072-bit MODP Diffie-Hellman Group.

static Int

4096-bit MODP Diffie-Hellman Group.

static Int

Elliptic Curve Diffie-Hellman 25519.

static Int

None Diffie-Hellman Group.

static Int

3DES Encryption/Ciphering Algorithm.

static Int

AES-CBC Encryption/Ciphering Algorithm.

static Int

AES-CTR Encryption/Ciphering Algorithm.

static Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 12-octet ICV (truncation).

static Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).

static Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 8-octet ICV (truncation).

static Int

ChaCha20-Poly1305 Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).

static Int

AES-CMAC-96 Authentication/Integrity Algorithm.

static Int

AES-XCBC-96 Authentication/Integrity Algorithm.

static Int

HMAC-SHA1 Authentication/Integrity Algorithm.

static Int

HMAC-SHA256 Authentication/Integrity Algorithm with 128-bit truncation.

static Int

HMAC-SHA384 Authentication/Integrity Algorithm with 192-bit truncation.

static Int

HMAC-SHA512 Authentication/Integrity Algorithm with 256-bit truncation.

static Int

None Authentication/Integrity Algorithm.

static Int

AES Encryption/Ciphering Algorithm key length 128 bits.

static Int

AES Encryption/Ciphering Algorithm key length 192 bits.

static Int

AES Encryption/Ciphering Algorithm key length 256 bits.

static Int

Key length unused.

static Int

AES128-CMAC Pseudorandom Function.

static Int

AES128-XCBC Pseudorandom Function.

static Int

HMAC-SHA1 Pseudorandom Function.

static Int

HMAC-SHA2-256 Pseudorandom Function.

static Int

HMAC-SHA2-384 Pseudorandom Function.

static Int

HMAC-SHA2-384 Pseudorandom Function.

Public methods
open Boolean
equals(other: Any?)

open MutableList<Int!>

Gets all proposed Diffie-Hellman groups

open MutableList<Pair<Int!, Int!>!>

Gets all proposed encryption algorithms

open MutableList<Int!>

Gets all proposed integrity algorithms

open static MutableSet<Int!>

Returns supported DH groups for IKE and Child SA proposal negotiation.

open Int

Constants

DH_GROUP_1024_BIT_MODP

Added in API level 31
static val DH_GROUP_1024_BIT_MODP: Int

1024-bit MODP Diffie-Hellman Group.

Value: 2

DH_GROUP_1536_BIT_MODP

Added in API level 31
static val DH_GROUP_1536_BIT_MODP: Int

1536-bit MODP Diffie-Hellman Group.

Value: 5

DH_GROUP_2048_BIT_MODP

Added in API level 31
static val DH_GROUP_2048_BIT_MODP: Int

2048-bit MODP Diffie-Hellman Group.

Value: 14

DH_GROUP_3072_BIT_MODP

Added in API level 31
static val DH_GROUP_3072_BIT_MODP: Int

3072-bit MODP Diffie-Hellman Group.

Value: 15

DH_GROUP_4096_BIT_MODP

Added in API level 31
static val DH_GROUP_4096_BIT_MODP: Int

4096-bit MODP Diffie-Hellman Group.

Value: 16

DH_GROUP_CURVE_25519

Added in API level 31
static val DH_GROUP_CURVE_25519: Int

Elliptic Curve Diffie-Hellman 25519.

Value: 31

DH_GROUP_NONE

Added in API level 31
static val DH_GROUP_NONE: Int

None Diffie-Hellman Group.

Value: 0

ENCRYPTION_ALGORITHM_3DES

Added in API level 31
static val ENCRYPTION_ALGORITHM_3DES: Int

3DES Encryption/Ciphering Algorithm.

Value: 3

ENCRYPTION_ALGORITHM_AES_CBC

Added in API level 31
static val ENCRYPTION_ALGORITHM_AES_CBC: Int

AES-CBC Encryption/Ciphering Algorithm.

Value: 12

ENCRYPTION_ALGORITHM_AES_CTR

Added in API level 31
static val ENCRYPTION_ALGORITHM_AES_CTR: Int

AES-CTR Encryption/Ciphering Algorithm.

Value: 13

ENCRYPTION_ALGORITHM_AES_GCM_12

Added in API level 31
static val ENCRYPTION_ALGORITHM_AES_GCM_12: Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 12-octet ICV (truncation).

Value: 19

ENCRYPTION_ALGORITHM_AES_GCM_16

Added in API level 31
static val ENCRYPTION_ALGORITHM_AES_GCM_16: Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).

Value: 20

ENCRYPTION_ALGORITHM_AES_GCM_8

Added in API level 31
static val ENCRYPTION_ALGORITHM_AES_GCM_8: Int

AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 8-octet ICV (truncation).

Value: 18

ENCRYPTION_ALGORITHM_CHACHA20_POLY1305

Added in API level 31
static val ENCRYPTION_ALGORITHM_CHACHA20_POLY1305: Int

ChaCha20-Poly1305 Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).

Value: 28

INTEGRITY_ALGORITHM_AES_CMAC_96

Added in API level 31
static val INTEGRITY_ALGORITHM_AES_CMAC_96: Int

AES-CMAC-96 Authentication/Integrity Algorithm.

Value: 8

INTEGRITY_ALGORITHM_AES_XCBC_96

Added in API level 31
static val INTEGRITY_ALGORITHM_AES_XCBC_96: Int

AES-XCBC-96 Authentication/Integrity Algorithm.

Value: 5

INTEGRITY_ALGORITHM_HMAC_SHA1_96

Added in API level 31
static val INTEGRITY_ALGORITHM_HMAC_SHA1_96: Int

HMAC-SHA1 Authentication/Integrity Algorithm.

Value: 2

INTEGRITY_ALGORITHM_HMAC_SHA2_256_128

Added in API level 31
static val INTEGRITY_ALGORITHM_HMAC_SHA2_256_128: Int

HMAC-SHA256 Authentication/Integrity Algorithm with 128-bit truncation.

Value: 12

INTEGRITY_ALGORITHM_HMAC_SHA2_384_192

Added in API level 31
static val INTEGRITY_ALGORITHM_HMAC_SHA2_384_192: Int

HMAC-SHA384 Authentication/Integrity Algorithm with 192-bit truncation.

Value: 13

INTEGRITY_ALGORITHM_HMAC_SHA2_512_256

Added in API level 31
static val INTEGRITY_ALGORITHM_HMAC_SHA2_512_256: Int

HMAC-SHA512 Authentication/Integrity Algorithm with 256-bit truncation.

Value: 14

INTEGRITY_ALGORITHM_NONE

Added in API level 31
static val INTEGRITY_ALGORITHM_NONE: Int

None Authentication/Integrity Algorithm.

Value: 0

KEY_LEN_AES_128

Added in API level 31
static val KEY_LEN_AES_128: Int

AES Encryption/Ciphering Algorithm key length 128 bits.

Value: 128

KEY_LEN_AES_192

Added in API level 31
static val KEY_LEN_AES_192: Int

AES Encryption/Ciphering Algorithm key length 192 bits.

Value: 192

KEY_LEN_AES_256

Added in API level 31
static val KEY_LEN_AES_256: Int

AES Encryption/Ciphering Algorithm key length 256 bits.

Value: 256

KEY_LEN_UNUSED

Added in API level 31
static val KEY_LEN_UNUSED: Int

Key length unused.

This value should only be used with the Encryption/Ciphering Algorithm that accepts a fixed key size such as ENCRYPTION_ALGORITHM_3DES.

Value: 0

PSEUDORANDOM_FUNCTION_AES128_CMAC

Added in API level 31
static val PSEUDORANDOM_FUNCTION_AES128_CMAC: Int

AES128-CMAC Pseudorandom Function.

Value: 8

PSEUDORANDOM_FUNCTION_AES128_XCBC

Added in API level 31
static val PSEUDORANDOM_FUNCTION_AES128_XCBC: Int

AES128-XCBC Pseudorandom Function.

Value: 4

PSEUDORANDOM_FUNCTION_HMAC_SHA1

Added in API level 31
static val PSEUDORANDOM_FUNCTION_HMAC_SHA1: Int

HMAC-SHA1 Pseudorandom Function.

Value: 2

PSEUDORANDOM_FUNCTION_SHA2_256

Added in API level 31
static val PSEUDORANDOM_FUNCTION_SHA2_256: Int

HMAC-SHA2-256 Pseudorandom Function.

Value: 5

PSEUDORANDOM_FUNCTION_SHA2_384

Added in API level 31
static val PSEUDORANDOM_FUNCTION_SHA2_384: Int

HMAC-SHA2-384 Pseudorandom Function.

Value: 6

PSEUDORANDOM_FUNCTION_SHA2_512

Added in API level 31
static val PSEUDORANDOM_FUNCTION_SHA2_512: Int

HMAC-SHA2-384 Pseudorandom Function.

Value: 7

Public methods

equals

Added in API level 31
open fun equals(other: Any?): Boolean
Parameters
obj the reference object with which to compare.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getDhGroups

Added in API level 31
open fun getDhGroups(): MutableList<Int!>

Gets all proposed Diffie-Hellman groups

Return
MutableList<Int!> A list of the IANA-defined IDs for the proposed Diffie-Hellman groups This value cannot be null.

getEncryptionAlgorithms

Added in API level 31
open fun getEncryptionAlgorithms(): MutableList<Pair<Int!, Int!>!>

Gets all proposed encryption algorithms

Return
MutableList<Pair<Int!, Int!>!> A list of Pairs, with the IANA-defined ID for the proposed encryption algorithm as the first item, and the key length (in bits) as the second. This value cannot be null.

getIntegrityAlgorithms

Added in API level 31
open fun getIntegrityAlgorithms(): MutableList<Int!>

Gets all proposed integrity algorithms

Return
MutableList<Int!> A list of the IANA-defined IDs for the proposed integrity algorithms This value cannot be null.

getSupportedDhGroups

Added in API level 31
open static fun getSupportedDhGroups(): MutableSet<Int!>

Returns supported DH groups for IKE and Child SA proposal negotiation.

Return
MutableSet<Int!> This value cannot be null.

hashCode

Added in API level 31
open fun hashCode(): Int
Return
Int a hash code value for this object.