Sample code for 30+ languages & platforms
AutoIt

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

AutoIt
Local $bSuccess = False

$oPfx = ObjCreate("Chilkat.Pfx")

; Load the PKCS12 from a file
$bSuccess = $oPfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
If ($bSuccess = False) Then
    ConsoleWrite($oPfx.LastErrorText & @CRLF)
    Exit
EndIf

Local $iNumPrivateKeys = $oPfx.NumPrivateKeys

$oPrivKey = ObjCreate("Chilkat.PrivateKey")

ConsoleWrite("Private Keys:" & @CRLF)

Local $i = 0
While $i < $iNumPrivateKeys
    $oPfx.PrivateKeyAt($i,$oPrivKey)

    ; Do something with the private key ...

    $i = $i + 1
Wend

$oCert = ObjCreate("Chilkat.Cert")

Local $iNumCerts = $oPfx.NumCerts

ConsoleWrite("Certs:" & @CRLF)
$i = 0
While $i < $iNumCerts
    $oPfx.CertAt($i,$oCert)
    ConsoleWrite($oCert.SubjectDN & @CRLF)

    ; 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 ($oCert.HasPrivateKey() = True) Then

        ConsoleWrite("Has private key!" & @CRLF)

        $bSuccess = $oCert.GetPrivateKey($oPrivKey)
        ; ...

    EndIf

    $i = $i + 1
Wend