(PHP ActiveX) Load PKCS12 / PFX and Access Contents
Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.
<?php
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Pfx')
$pfx = new COM("Chilkat.Pfx");
// Load the PKCS12 from a file
$success = $pfx->LoadPfxFile('/someDir/my.p12','pfxFilePassword');
if ($success != 1) {
print $pfx->LastErrorText . "\n";
exit;
}
$numPrivateKeys = $pfx->NumPrivateKeys;
print 'Private Keys:' . "\n";
$i = 0;
while ($i < $numPrivateKeys) {
// privKey is a Chilkat.PrivateKey
$privKey = $pfx->GetPrivateKey($i);
// Do something with the private key ...
$i = $i + 1;
}
$numCerts = $pfx->NumCerts;
print 'Certs:' . "\n";
$i = 0;
while ($i < $numCerts) {
// cert is a Chilkat.Cert
$cert = $pfx->GetCert($i);
print $cert->SubjectDN . "\n";
// If the certificate has a private key (one of the private keys within the PFX)
// then it can also be obtained via the certificate object:
if ($cert->HasPrivateKey() == 1) {
print 'Has private key!' . "\n";
// privKey is a Chilkat.PrivateKey
$privKey = $cert->ExportPrivateKey();
// ...
}
$i = $i + 1;
}
?>
|