Sample code for 30+ languages & platforms
JavaScript

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.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

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

var pem = new CkPem();

// Load the PEM from a file.
// If the PEM is encrypted, provide a password.  Otherwise pass an empty string for the password.
var password = "myPassword";
success = pem.LoadPemFile("../myPemFiles/myPem.pem",password);
if (success == false) {
    console.log(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 = "... the PEM contents ...";
success = pem.LoadPem(pemContent,password);
// Check for success as before..

// Iterate over the private keys.
var numPrivateKeys = pem.NumPrivateKeys;
var i = 0;

var privKey = new CkPrivateKey();
while (i < numPrivateKeys) {
    pem.PrivateKeyAt(i,privKey);
    console.log("Private Key " + i + " is " + privKey.BitLength + " in length");
    i = i+1;
}

// Iterate over the certificates.
var cert = new CkCert();
var numCerts = pem.NumCerts;
i = 0;
while (i < numCerts) {
    pem.CertAt(i,cert);
    console.log("Certificate " + i + " : " + cert.SubjectDN);
    i = i+1;
}