Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$pfx = new COM("Chilkat.Pfx");

// Load the PKCS12 from a file
$success = $pfx->LoadPfxFile('/someDir/my.p12','pfxFilePassword');
if ($success == 0) {
    print $pfx->LastErrorText . "\n";
    exit;
}

$numPrivateKeys = $pfx->NumPrivateKeys;

$privKey = new COM("Chilkat.PrivateKey");

print 'Private Keys:' . "\n";

$i = 0;
while ($i < $numPrivateKeys) {
    $pfx->PrivateKeyAt($i,$privKey);

    // Do something with the private key ...

    $i = $i + 1;
}

$cert = new COM("Chilkat.Cert");

$numCerts = $pfx->NumCerts;

print 'Certs:' . "\n";
$i = 0;
while ($i < $numCerts) {
    $pfx->CertAt($i,$cert);
    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";

        $success = $cert->GetPrivateKey($privKey);
        // ...

    }

    $i = $i + 1;
}


?>