Objective-C
Objective-C
Load PKCS12 / PFX and Access Contents
See more PFX/P12 Examples
Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.Chilkat Objective-C Downloads
#import <CkoPfx.h>
#import <CkoPrivateKey.h>
#import <CkoCert.h>
BOOL success = NO;
CkoPfx *pfx = [[CkoPfx alloc] init];
// Load the PKCS12 from a file
success = [pfx LoadPfxFile: @"/someDir/my.p12" password: @"pfxFilePassword"];
if (success == NO) {
NSLog(@"%@",pfx.LastErrorText);
return;
}
int numPrivateKeys = [pfx.NumPrivateKeys intValue];
CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
NSLog(@"%@",@"Private Keys:");
int i = 0;
while (i < numPrivateKeys) {
[pfx PrivateKeyAt: [NSNumber numberWithInt: i] privKey: privKey];
// Do something with the private key ...
i = i + 1;
}
CkoCert *cert = [[CkoCert alloc] init];
int numCerts = [pfx.NumCerts intValue];
NSLog(@"%@",@"Certs:");
i = 0;
while (i < numCerts) {
[pfx CertAt: [NSNumber numberWithInt: i] cert: cert];
NSLog(@"%@",cert.SubjectDN);
// If the certificate has a private key (one of the private keys within the PFX)
// then it can also be obtained via the certificate object:
if ([cert HasPrivateKey] == YES) {
NSLog(@"%@",@"Has private key!");
success = [cert GetPrivateKey: privKey];
// ...
}
i = i + 1;
}