SaProposal
public
abstract
class
SaProposal
extends Object
java.lang.Object | |
↳ | 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 | |
---|---|
int |
DH_GROUP_1024_BIT_MODP
1024-bit MODP Diffie-Hellman Group. |
int |
DH_GROUP_1536_BIT_MODP
1536-bit MODP Diffie-Hellman Group. |
int |
DH_GROUP_2048_BIT_MODP
2048-bit MODP Diffie-Hellman Group. |
int |
DH_GROUP_3072_BIT_MODP
3072-bit MODP Diffie-Hellman Group. |
int |
DH_GROUP_4096_BIT_MODP
4096-bit MODP Diffie-Hellman Group. |
int |
DH_GROUP_CURVE_25519
Elliptic Curve Diffie-Hellman 25519. |
int |
DH_GROUP_NONE
None Diffie-Hellman Group. |
int |
ENCRYPTION_ALGORITHM_3DES
3DES Encryption/Ciphering Algorithm. |
int |
ENCRYPTION_ALGORITHM_AES_CBC
AES-CBC Encryption/Ciphering Algorithm. |
int |
ENCRYPTION_ALGORITHM_AES_CTR
AES-CTR Encryption/Ciphering Algorithm. |
int |
ENCRYPTION_ALGORITHM_AES_GCM_12
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 12-octet ICV (truncation). |
int |
ENCRYPTION_ALGORITHM_AES_GCM_16
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation). |
int |
ENCRYPTION_ALGORITHM_AES_GCM_8
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 8-octet ICV (truncation). |
int |
ENCRYPTION_ALGORITHM_CHACHA20_POLY1305
ChaCha20-Poly1305 Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation). |
int |
INTEGRITY_ALGORITHM_AES_CMAC_96
AES-CMAC-96 Authentication/Integrity Algorithm. |
int |
INTEGRITY_ALGORITHM_AES_XCBC_96
AES-XCBC-96 Authentication/Integrity Algorithm. |
int |
INTEGRITY_ALGORITHM_HMAC_SHA1_96
HMAC-SHA1 Authentication/Integrity Algorithm. |
int |
INTEGRITY_ALGORITHM_HMAC_SHA2_256_128
HMAC-SHA256 Authentication/Integrity Algorithm with 128-bit truncation. |
int |
INTEGRITY_ALGORITHM_HMAC_SHA2_384_192
HMAC-SHA384 Authentication/Integrity Algorithm with 192-bit truncation. |
int |
INTEGRITY_ALGORITHM_HMAC_SHA2_512_256
HMAC-SHA512 Authentication/Integrity Algorithm with 256-bit truncation. |
int |
INTEGRITY_ALGORITHM_NONE
None Authentication/Integrity Algorithm. |
int |
KEY_LEN_AES_128
AES Encryption/Ciphering Algorithm key length 128 bits. |
int |
KEY_LEN_AES_192
AES Encryption/Ciphering Algorithm key length 192 bits. |
int |
KEY_LEN_AES_256
AES Encryption/Ciphering Algorithm key length 256 bits. |
int |
KEY_LEN_UNUSED
Key length unused. |
int |
PSEUDORANDOM_FUNCTION_AES128_CMAC
AES128-CMAC Pseudorandom Function. |
int |
PSEUDORANDOM_FUNCTION_AES128_XCBC
AES128-XCBC Pseudorandom Function. |
int |
PSEUDORANDOM_FUNCTION_HMAC_SHA1
HMAC-SHA1 Pseudorandom Function. |
int |
PSEUDORANDOM_FUNCTION_SHA2_256
HMAC-SHA2-256 Pseudorandom Function. |
int |
PSEUDORANDOM_FUNCTION_SHA2_384
HMAC-SHA2-384 Pseudorandom Function. |
int |
PSEUDORANDOM_FUNCTION_SHA2_512
HMAC-SHA2-384 Pseudorandom Function. |
Public methods | |
---|---|
boolean
|
equals(Object o)
Indicates whether some other object is "equal to" this one. |
List<Integer>
|
getDhGroups()
Gets all proposed Diffie-Hellman groups |
List<Pair<Integer, Integer>>
|
getEncryptionAlgorithms()
Gets all proposed encryption algorithms |
List<Integer>
|
getIntegrityAlgorithms()
Gets all proposed integrity algorithms |
static
Set<Integer>
|
getSupportedDhGroups()
Returns supported DH groups for IKE and Child SA proposal negotiation. |
int
|
hashCode()
Returns a hash code value for the object. |
Inherited methods | |
---|---|
Constants
DH_GROUP_1024_BIT_MODP
public static final int DH_GROUP_1024_BIT_MODP
1024-bit MODP Diffie-Hellman Group.
Constant Value: 2 (0x00000002)
DH_GROUP_1536_BIT_MODP
public static final int DH_GROUP_1536_BIT_MODP
1536-bit MODP Diffie-Hellman Group.
Constant Value: 5 (0x00000005)
DH_GROUP_2048_BIT_MODP
public static final int DH_GROUP_2048_BIT_MODP
2048-bit MODP Diffie-Hellman Group.
Constant Value: 14 (0x0000000e)
DH_GROUP_3072_BIT_MODP
public static final int DH_GROUP_3072_BIT_MODP
3072-bit MODP Diffie-Hellman Group.
Constant Value: 15 (0x0000000f)
DH_GROUP_4096_BIT_MODP
public static final int DH_GROUP_4096_BIT_MODP
4096-bit MODP Diffie-Hellman Group.
Constant Value: 16 (0x00000010)
DH_GROUP_CURVE_25519
public static final int DH_GROUP_CURVE_25519
Elliptic Curve Diffie-Hellman 25519.
Constant Value: 31 (0x0000001f)
DH_GROUP_NONE
public static final int DH_GROUP_NONE
None Diffie-Hellman Group.
Constant Value: 0 (0x00000000)
ENCRYPTION_ALGORITHM_3DES
public static final int ENCRYPTION_ALGORITHM_3DES
3DES Encryption/Ciphering Algorithm.
Constant Value: 3 (0x00000003)
ENCRYPTION_ALGORITHM_AES_CBC
public static final int ENCRYPTION_ALGORITHM_AES_CBC
AES-CBC Encryption/Ciphering Algorithm.
Constant Value: 12 (0x0000000c)
ENCRYPTION_ALGORITHM_AES_CTR
public static final int ENCRYPTION_ALGORITHM_AES_CTR
AES-CTR Encryption/Ciphering Algorithm.
Constant Value: 13 (0x0000000d)
ENCRYPTION_ALGORITHM_AES_GCM_12
public static final int ENCRYPTION_ALGORITHM_AES_GCM_12
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 12-octet ICV (truncation).
Constant Value: 19 (0x00000013)
ENCRYPTION_ALGORITHM_AES_GCM_16
public static final int ENCRYPTION_ALGORITHM_AES_GCM_16
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).
Constant Value: 20 (0x00000014)
ENCRYPTION_ALGORITHM_AES_GCM_8
public static final int ENCRYPTION_ALGORITHM_AES_GCM_8
AES-GCM Authentication/Integrity + Encryption/Ciphering Algorithm with 8-octet ICV (truncation).
Constant Value: 18 (0x00000012)
ENCRYPTION_ALGORITHM_CHACHA20_POLY1305
public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305
ChaCha20-Poly1305 Authentication/Integrity + Encryption/Ciphering Algorithm with 16-octet ICV (truncation).
Constant Value: 28 (0x0000001c)
INTEGRITY_ALGORITHM_AES_CMAC_96
public static final int INTEGRITY_ALGORITHM_AES_CMAC_96
AES-CMAC-96 Authentication/Integrity Algorithm.
Constant Value: 8 (0x00000008)
INTEGRITY_ALGORITHM_AES_XCBC_96
public static final int INTEGRITY_ALGORITHM_AES_XCBC_96
AES-XCBC-96 Authentication/Integrity Algorithm.
Constant Value: 5 (0x00000005)
INTEGRITY_ALGORITHM_HMAC_SHA1_96
public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96
HMAC-SHA1 Authentication/Integrity Algorithm.
Constant Value: 2 (0x00000002)
INTEGRITY_ALGORITHM_HMAC_SHA2_256_128
public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128
HMAC-SHA256 Authentication/Integrity Algorithm with 128-bit truncation.
Constant Value: 12 (0x0000000c)
INTEGRITY_ALGORITHM_HMAC_SHA2_384_192
public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192
HMAC-SHA384 Authentication/Integrity Algorithm with 192-bit truncation.
Constant Value: 13 (0x0000000d)
INTEGRITY_ALGORITHM_HMAC_SHA2_512_256
public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256
HMAC-SHA512 Authentication/Integrity Algorithm with 256-bit truncation.
Constant Value: 14 (0x0000000e)
INTEGRITY_ALGORITHM_NONE
public static final int INTEGRITY_ALGORITHM_NONE
None Authentication/Integrity Algorithm.
Constant Value: 0 (0x00000000)
KEY_LEN_AES_128
public static final int KEY_LEN_AES_128
AES Encryption/Ciphering Algorithm key length 128 bits.
Constant Value: 128 (0x00000080)
KEY_LEN_AES_192
public static final int KEY_LEN_AES_192
AES Encryption/Ciphering Algorithm key length 192 bits.
Constant Value: 192 (0x000000c0)
KEY_LEN_AES_256
public static final int KEY_LEN_AES_256
AES Encryption/Ciphering Algorithm key length 256 bits.
Constant Value: 256 (0x00000100)
KEY_LEN_UNUSED
public static final int KEY_LEN_UNUSED
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
.
Constant Value: 0 (0x00000000)
PSEUDORANDOM_FUNCTION_AES128_CMAC
public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC
AES128-CMAC Pseudorandom Function.
Constant Value: 8 (0x00000008)
PSEUDORANDOM_FUNCTION_AES128_XCBC
public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC
AES128-XCBC Pseudorandom Function.
Constant Value: 4 (0x00000004)
PSEUDORANDOM_FUNCTION_HMAC_SHA1
public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1
HMAC-SHA1 Pseudorandom Function.
Constant Value: 2 (0x00000002)
PSEUDORANDOM_FUNCTION_SHA2_256
public static final int PSEUDORANDOM_FUNCTION_SHA2_256
HMAC-SHA2-256 Pseudorandom Function.
Constant Value: 5 (0x00000005)
PSEUDORANDOM_FUNCTION_SHA2_384
public static final int PSEUDORANDOM_FUNCTION_SHA2_384
HMAC-SHA2-384 Pseudorandom Function.
Constant Value: 6 (0x00000006)
PSEUDORANDOM_FUNCTION_SHA2_512
public static final int PSEUDORANDOM_FUNCTION_SHA2_512
HMAC-SHA2-384 Pseudorandom Function.
Constant Value: 7 (0x00000007)
Public methods
equals
public boolean equals (Object o)
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
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons 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 | |
---|---|
o |
Object : the reference object with which to compare. |
Returns | |
---|---|
boolean |
true if this object is the same as the obj
argument; false otherwise. |
getDhGroups
public List<Integer> getDhGroups ()
Gets all proposed Diffie-Hellman groups
Returns | |
---|---|
List<Integer> |
A list of the IANA-defined IDs for the proposed Diffie-Hellman groups
This value cannot be null . |
getEncryptionAlgorithms
public List<Pair<Integer, Integer>> getEncryptionAlgorithms ()
Gets all proposed encryption algorithms
Returns | |
---|---|
List<Pair<Integer, Integer>> |
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
public List<Integer> getIntegrityAlgorithms ()
Gets all proposed integrity algorithms
Returns | |
---|---|
List<Integer> |
A list of the IANA-defined IDs for the proposed integrity algorithms
This value cannot be null . |
getSupportedDhGroups
public static Set<Integer> getSupportedDhGroups ()
Returns supported DH groups for IKE and Child SA proposal negotiation.
Returns | |
---|---|
Set<Integer> |
This value cannot be null . |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
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
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons 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
equals
method, then calling thehashCode
method 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
equals
method, then calling thehashCode
method 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.
Returns | |
---|---|
int |
a hash code value for this object. |