Sample code for 30+ languages & platforms
PHP Extension

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 Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

$pfx = new CkPfx();

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

$numPrivateKeys = $pfx->get_NumPrivateKeys();

$privKey = new CkPrivateKey();

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

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

    // Do something with the private key ...

    $i = $i + 1;
}

$cert = new CkCert();

$numCerts = $pfx->get_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() == true) {

        print 'Has private key!' . "\n";

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

    }

    $i = $i + 1;
}


?>