Sample code for 30+ languages & platforms
Objective-C

Export Digital Certificate's Public Key

See more Certificates Examples

The ExportPublicKey method can be called to get a certificate's public key. It can then be saved to any of a number of formats: (1) OpenSSL DER, (2) OpenSSL PEM, (3) RSA DER, (4) XML.

Chilkat Objective-C Downloads

Objective-C
#import <CkoCert.h>
#import <CkoPublicKey.h>

BOOL success = NO;

CkoCert *cert = [[CkoCert alloc] init];

// LoadFromFile will load virtually any certificate format file.
// It will auto-recognize the format and load appropiately.
success = [cert LoadFromFile: @"/Users/chilkat/testData/cer/chilkat.cer"];
if (success == NO) {
    NSLog(@"%@",cert.LastErrorText);
    return;
}

// Get the public key:
CkoPublicKey *pubkey = [[CkoPublicKey alloc] init];
[cert GetPublicKey: pubkey];

// Save to various formats:
success = [pubkey SaveDerFile: NO path: @"/Users/chilkat/testData/pubkeys/chilkat_pkcs8.der"];
if (success != YES) {
    NSLog(@"%@",pubkey.LastErrorText);
    return;
}

success = [pubkey SavePemFile: NO path: @"/Users/chilkat/testData/pubkeys/chilkat.pem"];
if (success != YES) {
    NSLog(@"%@",pubkey.LastErrorText);
    return;
}

success = [pubkey SaveDerFile: YES path: @"/Users/chilkat/testData/pubkeys/chilkat_pkcs1.der"];
if (success != YES) {
    NSLog(@"%@",pubkey.LastErrorText);
    return;
}

success = [pubkey SaveXmlFile: @"/Users/chilkat/testData/pubkeys/chilkat.xml"];
if (success != YES) {
    NSLog(@"%@",pubkey.LastErrorText);
    return;
}

NSLog(@"%@",@"Public key exported to all file formats.");