Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let pem = CkoPem()!
// Load the PEM from a file.
// If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
var password: String? = "myPassword"
success = pem.loadFile(path: "../myPemFiles/myPem.pem", password: password)
if success == false {
print("\(pem.lastErrorText!)")
return
}
// Note: If the app already has the PEM pre-loaded in a string variable, then load it
// by calling LoadPem instead.
var pemContent: String? = "... the PEM contents ..."
success = pem.load(pemContent: pemContent, password: password)
// Check for success as before..
// Iterate over the private keys.
var numPrivateKeys: Int = pem.numPrivateKeys.intValue
var i: Int = 0
let privKey = CkoPrivateKey()!
while i < numPrivateKeys {
pem.privateKey(at: i, privKey: privKey)
print("Private Key \(i) is \(privKey.bitLength.intValue) in length")
i = i + 1
}
// Iterate over the certificates.
let cert = CkoCert()!
var numCerts: Int = pem.numCerts.intValue
i = 0
while i < numCerts {
pem.cert(at: i, cert: cert)
print("Certificate \(i) : \(cert.subjectDN!)")
i = i + 1
}
}