Objective-C
Objective-C
Add Private Key and Certificate to a PEM
See more PEM Examples
Demonstrates how to add certificates and private keys to a PEM.Chilkat Objective-C Downloads
#import <CkoPem.h>
#import <CkoPrivateKey.h>
#import <CkoCert.h>
#import <NSString.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The Chilkat PEM class was introduced in v9.5.0.49.
// It requires the bundle to be unlocked, as shown above.
CkoPem *pem = [[CkoPem alloc] init];
// Add the private key found in alice.key to this PEM.
//
CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
success = [privKey LoadAnyFormatFile: @"qa_data/alice.key" password: @""];
if (success != YES) {
NSLog(@"%@",privKey.LastErrorText);
return;
}
// Add it to the PEM:
success = [pem AddPrivateKey: privKey];
// Add the certificate found in alice.crt to this PEM.
//
CkoCert *cert = [[CkoCert alloc] init];
success = [cert LoadFromFile: @"qa_data/alice.crt"];
if (success != YES) {
NSLog(@"%@",cert.LastErrorText);
return;
}
// Add it to the PEM:
BOOL includeCertChain = NO;
success = [pem AddCert: cert includeChain: includeCertChain];
// Write the PEM containing the private key and certificate.
// The private key will be output in PKCS8 encrypted form.
// Certificates are never encrypted.
// This is the password that will be required to open and access the private key
// from the PEM we're about to write..
NSString *password = @"secret";
BOOL extendedAttrs = NO;
BOOL noKeys = NO;
BOOL noCerts = NO;
BOOL noCaCerts = NO;
NSString *encryptAlg = @"aes128";
NSString *pemStr = [pem ToPemEx: extendedAttrs noKeys: noKeys noCerts: noCerts noCaCerts: noCaCerts encryptAlg: encryptAlg password: password];
NSLog(@"%@",pemStr);