Perl Requires Chilkat v11.0.0+
Chilkat2 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 strict;
use warnings;
use Chilkat2;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
my $pem = Chilkat2::Pem->new;
# Load the PEM from a file.
# If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
my $password = 'myPassword';
my $success = $pem->LoadPemFile('../myPemFiles/myPem.pem', $password);
if (!$success) {
print $pem->LastErrorText, "\n";
exit;
}
# Note: If the app already has the PEM pre-loaded in a string variable, then load it
# by calling LoadPem instead.
my $pemContent = '... the PEM contents ...';
$success = $pem->LoadPem($pemContent, $password);
# Check for success as before..
# Iterate over the private keys.
my $numPrivateKeys = $pem->NumPrivateKeys;
my $i = 0;
my $privKey = Chilkat2::PrivateKey->new;
while ($i < $numPrivateKeys) {
$pem->PrivateKeyAt($i, $privKey);
print 'Private Key ', $i, ' is ', $privKey->BitLength, " in length\n";
$i = $i + 1;
}
# Iterate over the certificates.
my $cert = Chilkat2::Cert->new;
my $numCerts = $pem->NumCerts;
$i = 0;
while ($i < $numCerts) {
$pem->CertAt($i, $cert);
print 'Certificate ', $i, ' : ', $cert->SubjectDN, "\n";
$i = $i + 1;
}