Sample code for 30+ languages & platforms
DataFlex

Load P7B and List Certificates

Demonstrates how to load a .p7b containing certificates and accesses each individual certificate.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoPem
    Integer i
    Integer iNumCerts
    Variant vCert
    Handle hoCert
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Move False To iSuccess

    Get Create (RefClass(cComChilkatPem)) To hoPem
    If (Not(IsComObjectCreated(hoPem))) Begin
        Send CreateComObject of hoPem
    End

    // Load the .p7b from a file.
    Get ComLoadP7bFile Of hoPem "/Users/chilkat/testData/p7b/myCerts.p7b" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoPem To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComNumCerts Of hoPem To iNumCerts
    If (iNumCerts = 0) Begin
        Showln (("Error: Expected the .p7b to contain certificates."))
        Procedure_Return
    End

    // Access each certificate and show the DN (Distinguished Name)
    For i From 1 To iNumCerts
        Get ComGetCert Of hoPem (i - 1) To vCert
        If (IsComObject(vCert)) Begin
            Get Create (RefClass(cComChilkatCert)) To hoCert
            Set pvComObject Of hoCert To vCert
        End
        Get ComSubjectDN Of hoCert To sTemp1
        Showln i ": " sTemp1
        Send Destroy of hoCert
    Loop



End_Procedure