Class Overview
This class provides a concrete implementation of SCEP EnrollmentProfile.
Simple Certificate Enrollment Protocol(SCEP) is used to enroll certificate.
Please refer to SCEP Draft for more information on SCEP.
Summary
[Expand]
Inherited Constants |
From interface
android.os.Parcelable
int |
CONTENTS_FILE_DESCRIPTOR |
|
int |
PARCELABLE_WRITE_RETURN_VALUE |
|
|
Fields |
public
int |
challengeLength |
Length of the challenge password. |
public
byte[] |
challengePassword |
TLV encoded challenge password for certificate enrollment. |
public
String |
scepProfileName |
Parameter which specifies the profile name for which certificate enrollment process is triggered. |
public
String |
scepUrl |
Parameter used to define the URL of the SCEP Server used for certificate enrollment process. |
public
String |
subjectAlternativeName |
UPN name to be specified in certificate. |
public
String |
subjectName |
Represents an X.500 principal, which holds the distinguished
name of end user. |
public
long |
validitytimeForChallenge |
Parameter which specifies the validity time for the challenge in minutes. |
Public Constructors |
|
SCEPProfile()
The constructor of the SCEPProfile object, containing the needed values to
enrol and renew a certificate.
|
Fields
public
int
challengeLength
Since: API level 12
Length of the challenge password. (Optional)
public
byte[]
challengePassword
Since: API level 12
TLV encoded challenge password for certificate enrollment. (Optional)
The format of TLV is defined here as follows:
1st byte - Type of data
2nd and 3rd byte - Length of actual data (excluding the first 3 bytes)
4th byte onwards - Actual data
The following types are defined:
-------------------------------------------------------------------------------------------
| TYPE | SIGNIFICANCE |
-------------------------------------------------------------------------------------------
| 0x00 | Clear challenge password |
-------------------------------------------------------------------------------------------
| 0x01 | Encrypted challenge password. If this type is present, the parser|
| | has to look for data of the following two types in the payload |
| | which are again TLV encoded. These are mentioned below. |
-------------------------------------------------------------------------------------------
| 0x02 | Encrypted data. This is the actual challenge password which has |
| | been encrypted with a 16 byte randomly generated AES key in ECB |
| | mode.The AES key can be found in the next TLV element type. |
-------------------------------------------------------------------------------------------
| 0x03 | Encrypted AES key. This key is encrypted with the device's |
| | public key. The service has to decrypt this AES key and use it to|
| | decrypt the encrypted challenge password. |
-------------------------------------------------------------------------------------------
General TLV diagram of Clear Challenge password
Type Length Value (16 byte long)
------------------------------------------------------------------------------------------
| 0x00 |0x00 | 0x10 ||| | ........ |
------------------------------------------------------------------------------------------
General TLV diagram of Encrypted Challenge password
Type Length Type Length Value Type Length Value
------------------------------------------------------------------------------------------
| 0x01 | 0x08 | 0x16 | 0x02 | 0x00 |0x10 | ............ | 0x03 | 0x08 | 0x00 | .........|
------------------------------------------------------------------------------------------
public
String
scepProfileName
Since: API level 12
Parameter which specifies the profile name for which certificate enrollment process is triggered.
public
String
scepUrl
Since: API level 12
Parameter used to define the URL of the SCEP Server used for certificate enrollment process.
public
String
subjectAlternativeName
Since: API level 12
UPN name to be specified in certificate. (Optional)
public
String
subjectName
Since: API level 12
Represents an X.500 principal, which holds the distinguished
name of end user. An example of a distinguished
name is "O=SomeOrg, OU=SomeOrgUnit, C=US"
. The class
can be instantiated from a byte representation of an object
identifier (OID), an ASN.1 DER-encoded version, or a simple
string holding the distinguished name. The representations
must follow either RFC 2253, RFC 1779, or RFC2459.
public
long
validitytimeForChallenge
Since: API level 12
Parameter which specifies the validity time for the challenge in minutes. (Optional)
Public Constructors
public
SCEPProfile
()
The constructor of the SCEPProfile object, containing the needed values to
enrol and renew a certificate.
Public Methods
public
String
getProfileType
()
Returns the profile type.