Sample code for 30+ languages & platforms
Chilkat2-Python

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 Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

pfx = chilkat2.Pfx()

# Load the PKCS12 from a file
success = pfx.LoadPfxFile("/someDir/my.p12","pfxFilePassword")
if (success == False):
    print(pfx.LastErrorText)
    sys.exit()

numPrivateKeys = pfx.NumPrivateKeys

privKey = chilkat2.PrivateKey()

print("Private Keys:")

i = 0
while i < numPrivateKeys :
    pfx.PrivateKeyAt(i,privKey)

    # Do something with the private key ...

    i = i + 1

cert = chilkat2.Cert()

numCerts = pfx.NumCerts

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

        print("Has private key!")

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

    i = i + 1