Retrieve a Certificate From an Application Profile

Retrieving certificates requires extra considerations because it involves more than handling a profile. The system stores most profile payloads locally. However, it does not store AWCertificatePayload locally. To retrieve the certificate, you must wait for notification that the system downloaded the certificate.

Important: For the SDK to check the server for a certificate, you must call the loadCommands method or the notification does not trigger.

The code shows how to retrieve a certificate payload so that your application can consume and use the certificate.

Register the notification observer at start up.
	[[NSNotificationCenter defaultCenter] 



Implement the handleUpdatedProfile that will receive the notifications when a command is processed and can extract the certificate information.

- (void)handleUpdatedProfile:(NSNotification 
// Get the profile that just got received in this call; 
it could be an Application Profile, or an SDK Profile.
AWProfile *profile = (AWProfile *)notification.object;
// IMPORTANT: If expecting an application profile with a 
certificate, you can ONLY obtain the certificate values 
from the notification object.
// For security reasons the certificate does not get 
stored locally, like all the other settings in an SDK 
if (profile.certificatePayload){
AWCertificatePayload *certificatePayload = 
if ([[certificatePayload certificateData] length] > 0 & & 
[[certificatePayload certificatePassword] length] > 0)
	NSString *certificateName = [certificatePayload 
	NSData *certificateData = [certificatePayload 

	NSString *certificatePassword = [certificatePayload 

	// TO DO: Use the certificate here... If you don't 
	consume it here, it will not be available later in 
	the AWCommandManager.