PasnConfig
class PasnConfig : Parcelable
| kotlin.Any | |
| ↳ | android.net.wifi.rtt.PasnConfig |
Pre-association security negotiation (PASN) configuration.
PASN configuration in IEEE 802.11az focuses on securing the ranging process before a device fully associates with a Wi-Fi network. IEEE 802.11az supports various based AKMs as in AKM_* for PASN and cipher as in CIPHER_*. Password is also another input to some base AKMs.
Once PASN is initiated, the AP and the client device exchange messages to authenticate each other and establish security keys. This process ensures that only authorized devices can participate in ranging.
After successful PASN authentication, ranging operations are performed using the established secure channel. This protects the ranging measurements from eavesdropping and tampering.
The keys derived during the PASN process are used to protect the LTFs exchanged during ranging. This ensures that the LTFs are encrypted and authenticated, preventing unauthorized access and manipulation.
Summary
| Nested classes | |
|---|---|
|
Builder for |
|
| Constants | |
|---|---|
| static Int |
Fast Initial Link Setup (FILS) with Extensible Authentication Protocol (EAP) and SHA-256. |
| static Int |
Fast Initial Link Setup (FILS) with Extensible Authentication Protocol (EAP) and SHA-384. |
| static Int |
Fast BSS Transition (FT) with Extensible Authentication Protocol (EAP) and SHA-256. |
| static Int |
Fast BSS Transition (FT) with Extensible Authentication Protocol (EAP) and SHA-384. |
| static Int |
Fast BSS Transition (FT) with Pre-Shared Key (PSK) and SHA-256. |
| static Int |
Fast BSS Transition (FT) with Pre-Shared Key (PSK) and SHA-384. |
| static Int |
No authentication and key management. |
| static Int |
Pre-association security negotiation (PASN). |
| static Int |
Simultaneous authentication of equals (SAE). |
| static Int |
Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP) with 128-bit key. |
| static Int |
Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP) with 256-bit key. |
| static Int |
Galois/Counter Mode Protocol (GCMP) with 128-bit key. |
| static Int |
Galois/Counter Mode Protocol (GCMP) with 256-bit key. |
| static Int |
No encryption. |
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int |
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| Boolean |
Indicates whether some other object is "equal to" this one. |
| Int |
Return base AKMs (Authentication and Key Management). |
| Int |
Return pairwise ciphers. |
| ByteArray? |
Get PASN comeback cookie. |
| String? |
Get password used by base AKM. |
| ByteArray? |
getPmk()Get the PMK (pairwise master key). |
| ByteArray? |
Get the Seeker device identity key. |
| WifiSsid? |
Get Wifi SSID which is used to retrieve saved network profile if |
| Int |
hashCode()Returns a hash code value for the object. |
| String |
toString()Returns a string representation of the object. |
| Unit |
writeToParcel(dest: Parcel, flags: Int)Flatten this object in to a Parcel. |
| Properties | |
|---|---|
| static Parcelable.Creator<PasnConfig!> | |
Constants
AKM_FILS_EAP_SHA256
static val AKM_FILS_EAP_SHA256: Int
Fast Initial Link Setup (FILS) with Extensible Authentication Protocol (EAP) and SHA-256.
Value: 64AKM_FILS_EAP_SHA384
static val AKM_FILS_EAP_SHA384: Int
Fast Initial Link Setup (FILS) with Extensible Authentication Protocol (EAP) and SHA-384.
Value: 128AKM_FT_EAP_SHA256
static val AKM_FT_EAP_SHA256: Int
Fast BSS Transition (FT) with Extensible Authentication Protocol (EAP) and SHA-256.
Value: 4AKM_FT_EAP_SHA384
static val AKM_FT_EAP_SHA384: Int
Fast BSS Transition (FT) with Extensible Authentication Protocol (EAP) and SHA-384.
Value: 16AKM_FT_PSK_SHA256
static val AKM_FT_PSK_SHA256: Int
Fast BSS Transition (FT) with Pre-Shared Key (PSK) and SHA-256.
Value: 8AKM_FT_PSK_SHA384
static val AKM_FT_PSK_SHA384: Int
Fast BSS Transition (FT) with Pre-Shared Key (PSK) and SHA-384.
Value: 32AKM_NONE
static val AKM_NONE: Int
No authentication and key management.
Value: 0AKM_PASN
static val AKM_PASN: Int
Pre-association security negotiation (PASN).
Value: 1AKM_SAE
static val AKM_SAE: Int
Simultaneous authentication of equals (SAE).
Value: 2CIPHER_CCMP_128
static val CIPHER_CCMP_128: Int
Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP) with 128-bit key.
Value: 1CIPHER_CCMP_256
static val CIPHER_CCMP_256: Int
Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP) with 256-bit key.
Value: 2CIPHER_GCMP_128
static val CIPHER_GCMP_128: Int
Galois/Counter Mode Protocol (GCMP) with 128-bit key.
Value: 4CIPHER_GCMP_256
static val CIPHER_GCMP_256: Int
Galois/Counter Mode Protocol (GCMP) with 256-bit key.
Value: 8Public methods
describeContents
fun describeContents(): Int
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.
| Return | |
|---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or
|
equals
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. |
getBaseAkms
fun getBaseAkms(): Int
Return base AKMs (Authentication and Key Management).
| Return | |
|---|---|
Int |
Value is either 0 or a combination of the following:
|
getCiphers
fun getCiphers(): Int
Return pairwise ciphers.
| Return | |
|---|---|
Int |
Value is either 0 or a combination of the following:
|
getPasnComebackCookie
fun getPasnComebackCookie(): ByteArray?
Get PASN comeback cookie. See Builder.setPasnComebackCookie(byte[]).
| Return | |
|---|---|
ByteArray? |
This value may be null. |
getPassword
fun getPassword(): String?
Get password used by base AKM. If null, password is retrieved from the saved network profile for the PASN authentication. See getWifiSsid() on retrieving saved network profile.
getPmk
fun getPmk(): ByteArray?
Get the PMK (pairwise master key). See Builder.setPmk(byte[]). see PasnConfig.Builder
| Return | |
|---|---|
ByteArray? |
This value may be null. |
getProximityDetectionSeekerDeviceIdentityKey
fun getProximityDetectionSeekerDeviceIdentityKey(): ByteArray?
Get the Seeker device identity key. See Builder.setProximityDetectionSeekerDeviceIdentityKey(byte[]). see PasnConfig.Builder
| Return | |
|---|---|
ByteArray? |
This value may be null. |
getWifiSsid
fun getWifiSsid(): WifiSsid?
Get Wifi SSID which is used to retrieve saved network profile if getPassword() is null. If Wifi SSID and password are not set and there is no saved profile corresponding to the responder, unauthenticated PASN will be used if RangingRequest.getSecurityMode() allows. See SECURITY_MODE_* for more details.
hashCode
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. |
toString
fun toString(): String
Returns a string representation of the object.
| Return | |
|---|---|
String |
a string representation of the object. |
writeToParcel
fun writeToParcel(
dest: Parcel,
flags: Int
): Unit
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
dest |
Parcel: This value cannot be null. |
flags |
Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of the following:
|