Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vCert
Store    Handle hoCertStore
    String sPfxPath
    String sPfxPassword
    Integer iNumCerts
    Variant vCert
    Handle hoCert
    Integer i
    String sTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatCertStore)) To hoCertStore
    If (Not(IsComObjectCreated(hoCertStore))) Begin
        Send CreateComObject of hoCertStore
    End

    Move "/Users/chilkat/testData/pfx/chilkat_ssl.pfx" To sPfxPath
    Move "test" To sPfxPassword
    Get ComLoadPfxFile Of hoCertStore sPfxPath sPfxPassword To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoCertStore To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComNumCertificates Of hoCertStore To iNumCerts

    Showln "PFX contains " iNumCerts " certificates"

    Get Create (RefClass(cComChilkatCert)) To hoCert
    If (Not(IsComObjectCreated(hoCert))) Begin
        Send CreateComObject of hoCert
    End
    Move 0 To i
    While (i < iNumCerts)
        Get pvComObject of hoCert to vCert
        Get ComGetCert Of hoCertStore i vCert To iSuccess

        Get ComSubjectCN Of hoCert To sTemp1
        Showln i ": (Common Name) " sTemp1
        Get ComSerialNumber Of hoCert To sTemp1
        Showln i ": (Serial Number) " sTemp1
        Get ComSubjectDN Of hoCert To sTemp1
        Showln i ": (Distinguished Name) " sTemp1

        Move (i + 1) To i
    Loop



End_Procedure