Perl
Perl
Load PKCS12 / PFX and Access Contents
See more PFX/P12 Examples
Loads a PKCS12 / PFX file and iterates over the contents which include private keys and certificates.Chilkat Perl Downloads
use chilkat();
$success = 0;
$pfx = chilkat::CkPfx->new();
# Load the PKCS12 from a file
$success = $pfx->LoadPfxFile("/someDir/my.p12","pfxFilePassword");
if ($success == 0) {
print $pfx->lastErrorText() . "\r\n";
exit;
}
$numPrivateKeys = $pfx->get_NumPrivateKeys();
$privKey = chilkat::CkPrivateKey->new();
print "Private Keys:" . "\r\n";
$i = 0;
while ($i < $numPrivateKeys) {
$pfx->PrivateKeyAt($i,$privKey);
# Do something with the private key ...
$i = $i + 1;
}
$cert = chilkat::CkCert->new();
$numCerts = $pfx->get_NumCerts();
print "Certs:" . "\r\n";
$i = 0;
while ($i < $numCerts) {
$pfx->CertAt($i,$cert);
print $cert->subjectDN() . "\r\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!" . "\r\n";
$success = $cert->GetPrivateKey($privKey);
# ...
}
$i = $i + 1;
}