Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v10.1.2+

Load PFX (PKCS#12) and List Certificates

See more Certificates Examples

Loads a PFX file (.pfx, .p12) and iterates over the certificates found within.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oCertStore
LOCAL cPfxPath
LOCAL cPfxPassword
LOCAL nNumCerts
LOCAL oCert
LOCAL i

nSuccess := 0

oCertStore := CreateObject("Chilkat.CertStore")

cPfxPath := "/Users/chilkat/testData/pfx/chilkat_ssl.pfx"
cPfxPassword := "test"
nSuccess := oCertStore:LoadPfxFile(cPfxPath, cPfxPassword)
IF (nSuccess != 1)
    ? oCertStore:LastErrorText
    oCertStore:destroy()
    RETURN
ENDIF

nNumCerts := oCertStore:NumCertificates

? "PFX contains " + Str(nNumCerts) + " certificates"

oCert := CreateObject("Chilkat.Cert")
i := 0
DO WHILE i < nNumCerts
    oCertStore:GetCert(i, oCert)

    ? Str(i) + ": (Common Name) " + oCert:SubjectCN
    ? Str(i) + ": (Serial Number) " + oCert:SerialNumber
    ? Str(i) + ": (Distinguished Name) " + oCert:SubjectDN

    i := i + 1
ENDDO

oCertStore:destroy()
oCert:destroy()