Sample code for 30+ languages & platforms
Objective-C

Write PKCS1 or PKCS8 Public Key PEM

See more PEM Examples

Demonstrates how to write either PKCS1 or PKCS8 format PEM files. PKCS1 public keys have this PEM format:
-----BEGIN RSA PUBLIC KEY-----
BASE64 ENCODED DATA
-----END RSA PUBLIC KEY-----
PKCS8 public keys have this PEM format:
-----BEGIN PUBLIC KEY-----
BASE64 ENCODED DATA
-----END PUBLIC KEY-----

Chilkat Objective-C Downloads

Objective-C
#import <CkoPem.h>

BOOL success = NO;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

success = NO;

CkoPem *pem = [[CkoPem alloc] init];

// Load a public key from a PEM file.
// (Assume the PEM contains at least one public key..)
success = [pem LoadPemFile: @"/Users/chilkat/testData/pem/myPublicKey.pem"];
if (success != YES) {
    NSLog(@"%@",pem.LastErrorText);
    return;
}

int i;
int numPublicKeys = [pem.NumPublicKeys intValue];
if (numPublicKeys == 0) {
    NSLog(@"%@",(@"Error: Expected the PEM to contain public keys."));
    return;
}

// Get each public key as PEM, first in PKCS1 format, then in PKCS8.
for (i = 1; i <= numPublicKeys; i++) {

    // First output to PKCS1 PEM format:
    NSLog(@"%@",@"This is PKCS1 format:");
    pem.PublicKeyFormat = @"pkcs1";
    NSLog(@"%@",[pem ToPem]);

    // Now PKCS8 PEM format:
    NSLog(@"%@",@"This is PKCS8 format:");
    pem.PublicKeyFormat = @"pkcs8";
    NSLog(@"%@",[pem ToPem]);

}