Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim pfx As New Chilkat.Pfx

// Load the PKCS12 from a file
success = pfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
If (success = False) Then
    System.DebugLog(pfx.LastErrorText)
    Return
End If

Dim numPrivateKeys As Int32
numPrivateKeys = pfx.NumPrivateKeys

Dim privKey As New Chilkat.PrivateKey

System.DebugLog("Private Keys:")

Dim i As Int32
i = 0
While i < numPrivateKeys
    success = pfx.PrivateKeyAt(i,privKey)

    // Do something with the private key ...

    i = i + 1
Wend

Dim cert As New Chilkat.Cert

Dim numCerts As Int32
numCerts = pfx.NumCerts

System.DebugLog("Certs:")
i = 0
While i < numCerts
    success = pfx.CertAt(i,cert)
    System.DebugLog(cert.SubjectDN)

    // 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) Then

        System.DebugLog("Has private key!")

        success = cert.GetPrivateKey(privKey)
        // ...

    End If

    i = i + 1
Wend