EMProvisioningConfiguration Class Reference

Inherits from NSObject
Declared in EMProvisioningConfiguration.h

Overview

The provisioning configuration

– wipe

Wipes internal state of secure container objects.

- (void)wipe

Declared In

EMProvisioningConfiguration.h

+ legacyTokenConfigurationWithCodeGeneratorData:deviceUniqueData:simCardUniqueData:provisioningProtocol:error:

Creates EMProvisioningConfiguration. This instance is used to create a token from a legacy 1.x credential blob.

+ (EMProvisioningConfiguration *)legacyTokenConfigurationWithCodeGeneratorData:(id<EMSecureByteArray>)codeGeneratorData deviceUniqueData:(id<EMSecureByteArray>)deviceUniqueData simCardUniqueData:(id<EMSecureByteArray>)simCardUniqueData provisioningProtocol:(EMMobileProvisioningProtocol)provisioningProtocol error:(NSError **)error

Parameters

codeGeneratorData

Code Generation Data blob created by previous Mobile Protector SDK.

deviceUniqueData

Device Unique Data that the codeGeneratorData is protected under. Provide nil if no such data.

simCardUniqueData

SIM Card Unique Data that the codeGeneratorData is protected under. Provide nil if no such data.

provisioningProtocol

The provisioning protocol to use when decoding the credentials.

error

If an error occurs, upon return contains an NSError object that describes the problem. error will belong to the EMLegacyTokenErrorDomain and contain a EMLegacyTokenErrorCode. If you are not interested in possible errors, you may pass in NULL.

Return Value

EMProvisioningConfiguration instance.

Availability

4.0

Declared In

EMProvisioningConfiguration.h

+ clearTextSeedImportConfigurationWithPin:secret:optionalParameters:

Creates EMProvisioningConfiguration. This instance is used for creation of clear text secret token import.

+ (EMProvisioningConfiguration *)clearTextSeedImportConfigurationWithPin:(id<EMPinAuthInput>)pin secret:(id<EMSecureByteArray>)secret optionalParameters:(void ( ^ ) ( EMClearTextSecretTokenConfigurationBuilder *))optionalParameters

Parameters

pin

The pin to be used for wrapping the secret. The value stored in this array will be wiped by the constructor if ‘wipePinAndSecret’ is set to ‘YES’.

secret

The clear text secret seed or key to be provisioned in the SDK. The value stored in this array will be wiped by the constructor if in optionalParameters'wipePinAndSecret' is set to ‘YES’.

optionalParameters

Block where optional parameters set. See the EMClearTextSecretTokenConfigurationBuilder class for more details about the parameters and there optiona values.

Return Value

EMProvisioningConfiguration instance.

Availability

4.0

Declared In

EMProvisioningConfiguration.h

+ offlineTokenConfigurationWithSessionKey:withHmacKey:provisioningResponse:provisioningProtocol:

Creates offline EMProvisioningConfiguration.

+ (EMProvisioningConfiguration *)offlineTokenConfigurationWithSessionKey:(id<EMSecureByteArray>)sessionKey withHmacKey:(id<EMSecureByteArray>)hmacKey provisioningResponse:(id<EMSecureByteArray>)provisioningResponse provisioningProtocol:(EMMobileProvisioningProtocol)provisioningProtocol

Parameters

sessionKey

key to decrypt the provisioning response

hmacKey

key to authenticate the provisioning response.

provisioningResponse

the provisioning response from EPS

provisioningProtocol

The provisioning protocol to use when decoding the credentials. @warning: Must be version 3.

Return Value

EMProvisioningConfiguration instance.

Availability

4.0

Declared In

EMProvisioningConfiguration.h

+ offlineTokenConfigurationWithSessionKey:provisioningResponse:provisioningProtocol:

Creates offline EMProvisioningConfiguration.

+ (EMProvisioningConfiguration *)offlineTokenConfigurationWithSessionKey:(id<EMSecureByteArray>)sessionKey provisioningResponse:(id<EMSecureByteArray>)provisioningResponse provisioningProtocol:(EMMobileProvisioningProtocol)provisioningProtocol

Parameters

sessionKey

key to decrypt the provisioning response

provisioningResponse

the provisioning response from EPS

provisioningProtocol

The provisioning protocol to use when decoding the credentials. Must be version 2 or lower.

Return Value

EMProvisioningConfiguration instance.

Availability

4.0

Declared In

EMProvisioningConfiguration.h

+ epsConfigurationWithURL:rsaKeyId:rsaExponent:rsaModulus:registrationCode:provisioningProtocol:optionalParameters:

Creates EMProvisioningConfiguration. This instance to modify Eps configuration.

+ (EMProvisioningConfiguration *)epsConfigurationWithURL:(NSURL *)url rsaKeyId:(NSString *)rsaKeyId rsaExponent:(NSData *)rsaExponent rsaModulus:(NSData *)rsaModulus registrationCode:(id<EMSecureString>)registrationCode provisioningProtocol:(EMMobileProvisioningProtocol)provisioningProtocol optionalParameters:(void ( ^ ) ( EMEpsConfigurationBuilder *))optionalParameters

Parameters

url

The URL of the Enrollment API endpoint, e.g:

  • http(s)://<host>:<port>/EnrolmentServlet/GetAppCredentials for EPS 1.x
  • http(s)://<host>:<port>/provisioner/api/provisioning/pp for EPS 2.x
rsaKeyId

Identifier for the EPS server’s public RSA key.

rsaExponent

The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).

rsaModulus

The RSA modulus of the EPS public key (on provisioning protocol level, not transport level).

registrationCode

The registration code. Mininum registration code length is 2, and maximum registration code length is 14.

provisioningProtocol

The provisioning protocol to use when decoding the credentials.

optionalParameters

Block where optional parameters set. See the EMEpsConfigurationBuilder class for more details about the parameters and there optional values.

Return Value

EMProvisioningConfiguration instance.

Availability

4.0

Discussion

Warning: This API does not support Mobile Provisioning Protocol version 5

Declared In

EMProvisioningConfiguration.h

+ epsConfigurationWithURL:domain:rsaKeyId:rsaExponent:rsaModulus:registrationCode:provisioningProtocol:optionalParameters:

Creates EMProvisioningConfiguration. This instance to modify Eps configuration. Use this API for Mobile Provisioning Protocol version 5

+ (EMProvisioningConfiguration *)epsConfigurationWithURL:(NSURL *)url domain:(NSString *)domain rsaKeyId:(NSString *)rsaKeyId rsaExponent:(NSData *)rsaExponent rsaModulus:(NSData *)rsaModulus registrationCode:(id<EMSecureString>)registrationCode provisioningProtocol:(EMMobileProvisioningProtocol)provisioningProtocol optionalParameters:(void ( ^ ) ( EMEpsConfigurationBuilder *))optionalParameters

Parameters

url

The URL of the Enrollment API endpoint, e.g:

  • http(s)://<host>:<port>/EnrolmentServlet/GetAppCredentials for EPS 1.x
  • http(s)://<host>:<port>/provisioner/api/provisioning/pp for EPS 2.x
  • http(s)://<host>:<port>/provisioner/domains/DomainName/provision for EPS 3.x with PPv5
domain

for EPS. This domain can only be use when EMMobileProvisioningProtocol set to EMMobileProvisioningProtocolVersion5 and above as well as when EPS that is being use is version 3 and above. Otherwise, this domain can be put nil or empty.

rsaKeyId

Identifier for the EPS server’s public RSA key.

rsaExponent

The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).

rsaModulus

The RSA modulus of the EPS public key (on provisioning protocol level, not transport level).

registrationCode

The registration code. Mininum registration code length is 2, and maximum registration code length is 14.

provisioningProtocol

The provisioning protocol to use when decoding the credentials.

optionalParameters

Block where optional parameters set. See the EMEpsConfigurationBuilder class for more details about the parameters and there optional values.

Return Value

EMProvisioningConfiguration instance.

Availability

5.0

Declared In

EMProvisioningConfiguration.h

+ dskppConfigurationWithUrl:uid:password:dskppCallback:provisioningProtocol:shouldWipeUserIdAndPassword:optionalParameters:

Creates EMProvisioningConfiguration. This configuration is used for DSKPP provisioning.

+ (EMProvisioningConfiguration *)dskppConfigurationWithUrl:(NSURL *)url uid:(id<EMSecureString>)uid password:(id<EMSecureString>)password dskppCallback:(EMDskppProvisioningCallback *)dskppCallback provisioningProtocol:(EMDskppProvisioningProtocol)provisioningProtocol shouldWipeUserIdAndPassword:(BOOL)shouldWipe optionalParameters:(void ( ^ ) ( EMDskppConfigurationBuilder *))optionalParameters

Parameters

url

The URL of the Enrollment API endpoint.

uid

User identifier for DSKPP provisioning.

password

Password for DSKPP provisioning.

dskppCallback

The callback to be called during stages of DKSPP provisioning. All the callbacks will be invoked in the main thread.

provisioningProtocol

The provisioning protocol to use when decoding the credentials.

shouldWipe

If YES, user identifier and password will be wiped upon completion.

optionalParameters

Block where optional parameters set. See the EMDskppConfigurationBuilder class for more details about the parameters and there optiona values.

Return Value

EMProvisioningConfiguration instance.

Availability

4.1

Declared In

EMProvisioningConfiguration.h

+ dskppConfigurationWithBase64:dskppCallback:provisioningProtocol:shouldWipeBase64Data:optionalParameters:

Creates EMProvisioningConfiguration. This configuration is used for DSKPP provisioning.

+ (EMProvisioningConfiguration *)dskppConfigurationWithBase64:(id<EMSecureString>)base64 dskppCallback:(EMDskppProvisioningCallback *)dskppCallback provisioningProtocol:(EMDskppProvisioningProtocol)provisioningProtocol shouldWipeBase64Data:(BOOL)shouldWipe optionalParameters:(void ( ^ ) ( EMDskppConfigurationBuilder *))optionalParameters

Parameters

base64

The base64 string for DKSPP provisioning. Contains url uid, and password.

dskppCallback

The callback to be called during stages of DKSPP provisioning. All the callbacks will be invoked in the main thread.

provisioningProtocol

The provisioning protocol to use when decoding the credentials.

shouldWipe

If YES, base64 string will be wiped upon completion.

optionalParameters

Block where optional parameters set. See the EMDskppConfigurationBuilder class for more details about the parameters and there optiona values.

Return Value

EMProvisioningConfiguration instance.

Availability

4.1

Declared In

EMProvisioningConfiguration.h