Sample code for 30+ languages & platforms
DataFlex

Iterate over Certificates in a Certificate Store

See more Cert Store Examples

Demonstrates how to iterate over the certificates in a certificate store.

Note: Requires Chilkat v10.1.2 or later.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

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

    Move False To iSuccess

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

    // This opens the Current User certificate store on Windows,
    // On MacOS and iOS it opens the default Keychain.
    Move False To iReadOnly
    Get ComOpenCurrentUserStore Of hoCertStore iReadOnly To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoCertStore To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatCert)) To hoCert
    If (Not(IsComObjectCreated(hoCert))) Begin
        Send CreateComObject of hoCert
    End

    Get ComNumCertificates Of hoCertStore To iNumCerts
    Move 0 To i

    While (i < iNumCerts)
        // Load the cert object with the Nth certificate.
        Get pvComObject of hoCert to vCert
        Get ComGetCert Of hoCertStore i vCert To iSuccess
        Get ComSubjectCN Of hoCert To sTemp1
        Showln i ": " sTemp1
        Move (i + 1) To i
    Loop



End_Procedure