PHP Requires Chilkat v11.0.0+
Chilkat2 PHP
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 PHP Downloads
<?php
use Chilkat2\Cert;
use Chilkat2\Pem;
use Chilkat2\PrivateKey;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$pem = new Pem();
// Load the PEM from a file.
// If the PEM is encrypted, provide a password. Otherwise pass an empty string for the password.
$password = 'myPassword';
try {
$pem->LoadPemFile('../myPemFiles/myPem.pem', $password);
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\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 ...';
$pem->LoadPem($pemContent, $password);
// Check for success as before..
// Iterate over the private keys.
$numPrivateKeys = $pem->NumPrivateKeys;
$i = 0;
$privKey = new PrivateKey();
while ($i < $numPrivateKeys) {
$pem->PrivateKeyAt($i, $privKey);
echo 'Private Key ', $i, ' is ', $privKey->BitLength, " in length\n";
$i = $i + 1;
}
// Iterate over the certificates.
$cert = new Cert();
$numCerts = $pem->NumCerts;
$i = 0;
while ($i < $numCerts) {
$pem->CertAt($i, $cert);
echo 'Certificate ', $i, ' : ', $cert->SubjectDN, "\n";
$i = $i + 1;
}