Objective-C
Objective-C
Iterate Keys and Certs in PEM
See more PEM Examples
Demonstrates how to access each of the private keys and certs contained within a PEM.Chilkat Objective-C Downloads
#import <CkoPem.h>
#import <NSString.h>
#import <CkoPrivateKey.h>
#import <CkoCert.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoPem *pem = [[CkoPem alloc] init];
// Load the PEM from a file.
// If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
NSString *password = @"myPassword";
success = [pem LoadPemFile: @"../myPemFiles/myPem.pem" password: password];
if (success == NO) {
NSLog(@"%@",pem.LastErrorText);
return;
}
// Note: If the app already has the PEM pre-loaded in a string variable, then load it
// by calling LoadPem instead.
NSString *pemContent = @"... the PEM contents ...";
success = [pem LoadPem: pemContent password: password];
// Check for success as before..
// Iterate over the private keys.
int numPrivateKeys = [pem.NumPrivateKeys intValue];
int i = 0;
CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
while (i < numPrivateKeys) {
[pem PrivateKeyAt: [NSNumber numberWithInt: i] privKey: privKey];
NSLog(@"%@%d%@%d%@",@"Private Key ",i,@" is ",[privKey.BitLength intValue],@" in length");
i = i + 1;
}
// Iterate over the certificates.
CkoCert *cert = [[CkoCert alloc] init];
int numCerts = [pem.NumCerts intValue];
i = 0;
while (i < numCerts) {
[pem CertAt: [NSNumber numberWithInt: i] cert: cert];
NSLog(@"%@%d%@%@",@"Certificate ",i,@" : ",cert.SubjectDN);
i = i + 1;
}