Credential

public final class Credential
extends Object implements Parcelable

java.lang.Object
   ↳ android.net.wifi.hotspot2.pps.Credential


Class representing Credential subtree in the PerProviderSubscription (PPS) Management Object (MO) tree. For more info, refer to Hotspot 2.0 PPS MO defined in section 9.1 of the Hotspot 2.0 Release 2 Technical Specification. In addition to the fields in the Credential subtree, this will also maintain necessary information for the private key and certificates associated with this credential.

Summary

Nested classes

class Credential.CertificateCredential

Certificate based credential. 

class Credential.SimCredential

SIM (Subscriber Identify Module) based credential. 

class Credential.UserCredential

Username-password based credential. 

Inherited constants

Fields

public static final Creator<Credential> CREATOR

Public constructors

Credential()

Constructor for creating Credential with default values.

Credential(Credential source)

Copy constructor.

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean equals(Object thatObject)

Indicates whether some other object is "equal to" this one.

X509Certificate getCaCertificate()

Get the CA (Certification Authority) certificate associated with this credential.

Credential.CertificateCredential getCertCredential()

Get the certificate credential information.

X509Certificate[] getClientCertificateChain()

Get the client certificate chain associated with this credential.

PrivateKey getClientPrivateKey()

Get the client private key associated with this credential.

int getMinimumTlsVersion()

Get the minimum TLS version for TLS-based EAP methods.

String getRealm()

Get the realm associated with this credential.

Credential.SimCredential getSimCredential()

Get the SIM credential information.

Credential.UserCredential getUserCredential()

Get the user credential information.

int hashCode()

Returns a hash code value for the object.

void setCaCertificate(X509Certificate caCertificate)

Set the CA (Certification Authority) certificate associated with this credential.

void setCertCredential(Credential.CertificateCredential certCredential)

Set the certificate credential information.

void setClientCertificateChain(X509Certificate[] certificateChain)

Set the client certificate chain associated with this credential.

void setClientPrivateKey(PrivateKey clientPrivateKey)

Set the client private key associated with this credential.

void setMinimumTlsVersion(int tlsVersion)

Set the minimum TLS version for TLS-based EAP methods.

void setRealm(String realm)

Set the realm associated with this credential.

void setSimCredential(Credential.SimCredential simCredential)

Set the SIM credential information.

void setUserCredential(Credential.UserCredential userCredential)

Set the user credential information.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

Added in API level 26
public static final Creator<Credential> CREATOR

Public constructors

Credential

Added in API level 26
public Credential ()

Constructor for creating Credential with default values.

Credential

Added in API level 26
public Credential (Credential source)

Copy constructor.

Parameters
source Credential: The source to copy from

Public methods

describeContents

Added in API level 26
public int describeContents ()

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.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 26
public boolean equals (Object thatObject)

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 return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

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
thatObject Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getCaCertificate

Added in API level 26
public X509Certificate getCaCertificate ()

Get the CA (Certification Authority) certificate associated with this credential.

Returns
X509Certificate CA certificate associated with this credential, null if certificate is not set or certificate is more than one.

getCertCredential

Added in API level 26
public Credential.CertificateCredential getCertCredential ()

Get the certificate credential information.

Returns
Credential.CertificateCredential certificate credential information

getClientCertificateChain

Added in API level 26
public X509Certificate[] getClientCertificateChain ()

Get the client certificate chain associated with this credential.

Returns
X509Certificate[] client certificate chain associated with this credential

getClientPrivateKey

Added in API level 26
public PrivateKey getClientPrivateKey ()

Get the client private key associated with this credential.

Returns
PrivateKey client private key associated with this credential.

getMinimumTlsVersion

Added in API level 34
public int getMinimumTlsVersion ()

Get the minimum TLS version for TLS-based EAP methods.

Returns
int the TLS version Value is WifiEnterpriseConfig.TLS_V1_0, WifiEnterpriseConfig.TLS_V1_1, WifiEnterpriseConfig.TLS_V1_2, or WifiEnterpriseConfig.TLS_V1_3

getRealm

Added in API level 26
public String getRealm ()

Get the realm associated with this credential.

Returns
String the realm associated with this credential

getSimCredential

Added in API level 26
public Credential.SimCredential getSimCredential ()

Get the SIM credential information.

Returns
Credential.SimCredential SIM credential information

getUserCredential

Added in API level 26
public Credential.UserCredential getUserCredential ()

Get the user credential information.

Returns
Credential.UserCredential user credential information

hashCode

Added in API level 26
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 in equals 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 the hashCode 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 the hashCode 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.

setCaCertificate

Added in API level 26
public void setCaCertificate (X509Certificate caCertificate)

Set the CA (Certification Authority) certificate associated with this credential.

Parameters
caCertificate X509Certificate: The CA certificate to set to

setCertCredential

Added in API level 26
public void setCertCredential (Credential.CertificateCredential certCredential)

Set the certificate credential information.

Parameters
certCredential Credential.CertificateCredential: The certificate credential to set to

setClientCertificateChain

Added in API level 26
public void setClientCertificateChain (X509Certificate[] certificateChain)

Set the client certificate chain associated with this credential.

Parameters
certificateChain X509Certificate: The client certificate chain to set to

setClientPrivateKey

Added in API level 26
public void setClientPrivateKey (PrivateKey clientPrivateKey)

Set the client private key associated with this credential.

Parameters
clientPrivateKey PrivateKey: the client private key to set to

setMinimumTlsVersion

Added in API level 34
public void setMinimumTlsVersion (int tlsVersion)

Set the minimum TLS version for TLS-based EAP methods. WifiManager.isTlsMinimumVersionSupported() indicates whether or not a minimum TLS version can be set. If not supported, the minimum TLS version is always TLS v1.0.

WifiManager.isTlsV13Supported() indicates whether or not TLS v1.3 is supported. If requested minimum is not supported, it will default to the maximum supported version.

Parameters
tlsVersion int: the TLS version Value is WifiEnterpriseConfig.TLS_V1_0, WifiEnterpriseConfig.TLS_V1_1, WifiEnterpriseConfig.TLS_V1_2, or WifiEnterpriseConfig.TLS_V1_3

Throws
IllegalArgumentException if the TLS version is invalid.

setRealm

Added in API level 26
public void setRealm (String realm)

Set the realm associated with this credential.

Parameters
realm String: The realm to set to

setSimCredential

Added in API level 26
public void setSimCredential (Credential.SimCredential simCredential)

Set the SIM credential information.

Parameters
simCredential Credential.SimCredential: The SIM credential to set to

setUserCredential

Added in API level 26
public void setUserCredential (Credential.UserCredential userCredential)

Set the user credential information.

Parameters
userCredential Credential.UserCredential: The user credential to set to

toString

Added in API level 26
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 26
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES