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 |
Indicates whether some other object is "equal to" this one. |
| 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 |
hashCode()Returns a hash code value for the object. |
| open String |
toString() |
Constants
DH_GROUP_1024_BIT_MODP
static val DH_GROUP_1024_BIT_MODP: Int
1024-bit MODP Diffie-Hellman Group.
Value: 2DH_GROUP_1536_BIT_MODP
static val DH_GROUP_1536_BIT_MODP: Int
1536-bit MODP Diffie-Hellman Group.
Value: 5DH_GROUP_2048_BIT_MODP
static val DH_GROUP_2048_BIT_MODP: Int
2048-bit MODP Diffie-Hellman Group.
Value: 14DH_GROUP_3072_BIT_MODP
static val DH_GROUP_3072_BIT_MODP: Int
3072-bit MODP Diffie-Hellman Group.
Value: 15DH_GROUP_4096_BIT_MODP
static val DH_GROUP_4096_BIT_MODP: Int
4096-bit MODP Diffie-Hellman Group.
Value: 16DH_GROUP_CURVE_25519
static val DH_GROUP_CURVE_25519: Int
Elliptic Curve Diffie-Hellman 25519.
Value: 31DH_GROUP_NONE
static val DH_GROUP_NONE: Int
None Diffie-Hellman Group.
Value: 0ENCRYPTION_ALGORITHM_3DES
static val ENCRYPTION_ALGORITHM_3DES: Int
3DES Encryption/Ciphering Algorithm.
Value: 3ENCRYPTION_ALGORITHM_AES_CBC
static val ENCRYPTION_ALGORITHM_AES_CBC: Int
AES-CBC Encryption/Ciphering Algorithm.
Value: 12ENCRYPTION_ALGORITHM_AES_CTR
static val ENCRYPTION_ALGORITHM_AES_CTR: Int
AES-CTR Encryption/Ciphering Algorithm.
Value: 13ENCRYPTION_ALGORITHM_AES_GCM_12
static val ENCRYPTION_ALGORITHM_AES_GCM_12: Int
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 12-octet ICV (truncation).
Value: 19ENCRYPTION_ALGORITHM_AES_GCM_16
static val ENCRYPTION_ALGORITHM_AES_GCM_16: Int
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).
Value: 20ENCRYPTION_ALGORITHM_AES_GCM_8
static val ENCRYPTION_ALGORITHM_AES_GCM_8: Int
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 8-octet ICV (truncation).
Value: 18ENCRYPTION_ALGORITHM_CHACHA20_POLY1305
static val ENCRYPTION_ALGORITHM_CHACHA20_POLY1305: Int
ChaCha20-Poly1305 Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).
Value: 28INTEGRITY_ALGORITHM_AES_CMAC_96
static val INTEGRITY_ALGORITHM_AES_CMAC_96: Int
AES-CMAC-96 Authentication/Integrity Algorithm.
Value: 8INTEGRITY_ALGORITHM_AES_XCBC_96
static val INTEGRITY_ALGORITHM_AES_XCBC_96: Int
AES-XCBC-96 Authentication/Integrity Algorithm.
Value: 5INTEGRITY_ALGORITHM_HMAC_SHA1_96
static val INTEGRITY_ALGORITHM_HMAC_SHA1_96: Int
HMAC-SHA1 Authentication/Integrity Algorithm.
Value: 2INTEGRITY_ALGORITHM_HMAC_SHA2_256_128
static val INTEGRITY_ALGORITHM_HMAC_SHA2_256_128: Int
HMAC-SHA256 Authentication/Integrity Algorithm with 128-bit truncation.
Value: 12INTEGRITY_ALGORITHM_HMAC_SHA2_384_192
static val INTEGRITY_ALGORITHM_HMAC_SHA2_384_192: Int
HMAC-SHA384 Authentication/Integrity Algorithm with 192-bit truncation.
Value: 13INTEGRITY_ALGORITHM_HMAC_SHA2_512_256
static val INTEGRITY_ALGORITHM_HMAC_SHA2_512_256: Int
HMAC-SHA512 Authentication/Integrity Algorithm with 256-bit truncation.
Value: 14INTEGRITY_ALGORITHM_NONE
static val INTEGRITY_ALGORITHM_NONE: Int
None Authentication/Integrity Algorithm.
Value: 0KEY_LEN_AES_128
static val KEY_LEN_AES_128: Int
AES Encryption/Ciphering Algorithm key length 128 bits.
Value: 128KEY_LEN_AES_192
static val KEY_LEN_AES_192: Int
AES Encryption/Ciphering Algorithm key length 192 bits.
Value: 192KEY_LEN_AES_256
static val KEY_LEN_AES_256: Int
AES Encryption/Ciphering Algorithm key length 256 bits.
Value: 256KEY_LEN_UNUSED
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: 0PSEUDORANDOM_FUNCTION_AES128_CMAC
static val PSEUDORANDOM_FUNCTION_AES128_CMAC: Int
AES128-CMAC Pseudorandom Function.
Value: 8PSEUDORANDOM_FUNCTION_AES128_XCBC
static val PSEUDORANDOM_FUNCTION_AES128_XCBC: Int
AES128-XCBC Pseudorandom Function.
Value: 4PSEUDORANDOM_FUNCTION_HMAC_SHA1
static val PSEUDORANDOM_FUNCTION_HMAC_SHA1: Int
HMAC-SHA1 Pseudorandom Function.
Value: 2PSEUDORANDOM_FUNCTION_SHA2_256
static val PSEUDORANDOM_FUNCTION_SHA2_256: Int
HMAC-SHA2-256 Pseudorandom Function.
Value: 5PSEUDORANDOM_FUNCTION_SHA2_384
static val PSEUDORANDOM_FUNCTION_SHA2_384: Int
HMAC-SHA2-384 Pseudorandom Function.
Value: 6PSEUDORANDOM_FUNCTION_SHA2_512
static val PSEUDORANDOM_FUNCTION_SHA2_512: Int
HMAC-SHA2-384 Pseudorandom Function.
Value: 7Public methods
equals
open fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x,x.equals(x)should returntrue. - It is symmetric: for any non-null reference values
xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any non-null reference values
x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue. - It is consistent: for any non-null reference values
xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified. - For any non-null reference value
x,x.equals(null)should returnfalse.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
| 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
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
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
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
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
open fun hashCode(): Int
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.
The general contract of hashCode is:
- Whenever it is invoked on the same object more than once during an execution of a Java application, the
hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equalsmethod, then calling thehashCodemethod on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal according to the
equalsmethod, then calling thehashCodemethod on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
| Return | |
|---|---|
Int |
a hash code value for this object. |