Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$pem = chilkat::CkPem->new();
# Load the PEM from a file.
# If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
$password = "myPassword";
$success = $pem->LoadPemFile("../myPemFiles/myPem.pem",$password);
if ($success == 0) {
print $pem->lastErrorText() . "\r\n";
exit;
}
# Note: If the app already has the PEM pre-loaded in a string variable, then load it
# by calling LoadPem instead.
$pemContent = "... the PEM contents ...";
$success = $pem->LoadPem($pemContent,$password);
# Check for success as before..
# Iterate over the private keys.
$numPrivateKeys = $pem->get_NumPrivateKeys();
$i = 0;
$privKey = chilkat::CkPrivateKey->new();
while ($i < $numPrivateKeys) {
$pem->PrivateKeyAt($i,$privKey);
print "Private Key " . $i . " is " . $privKey->get_BitLength() . " in length" . "\r\n";
$i = $i + 1;
}
# Iterate over the certificates.
$cert = chilkat::CkCert->new();
$numCerts = $pem->get_NumCerts();
$i = 0;
while ($i < $numCerts) {
$pem->CertAt($i,$cert);
print "Certificate " . $i . " : " . $cert->subjectDN() . "\r\n";
$i = $i + 1;
}