Sample code for 30+ languages & platforms
DataFlex

Transition from Crypt2.GetSignerCertChain to Crypt2.LastSignerCert

Provides instructions for replacing deprecated GetSignerCertChain method calls with LastSignerCert.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCrypt2
    Integer iIndex
    Variant vCertchainObj
    Handle hoCertchainObj
    Variant vSignerCert
    Handle hoSignerCert
    Variant vCertChain
    Handle hoCertChain
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt2
    If (Not(IsComObjectCreated(hoCrypt2))) Begin
        Send CreateComObject of hoCrypt2
    End

    // ...
    // ...
    Move 0 To iIndex

    // ------------------------------------------------------------------------
    // The GetSignerCertChain method is deprecated:

    Get ComGetSignerCertChain Of hoCrypt2 iIndex To vCertchainObj
    If (IsComObject(vCertchainObj)) Begin
        Get Create (RefClass(cComChilkatCertChain)) To hoCertchainObj
        Set pvComObject Of hoCertchainObj To vCertchainObj
    End
    Get ComLastMethodSuccess Of hoCrypt2 To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoCrypt2 To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // ...
    // ...

    Send Destroy of hoCertchainObj

    // ------------------------------------------------------------------------
    // Do the equivalent using LastSignerCert, and then get the certificate chain from the cert.
    // Your application creates a new, empty Cert object which is passed 
    // in the last argument and filled upon success.

    Get Create (RefClass(cComChilkatCert)) To hoSignerCert
    If (Not(IsComObjectCreated(hoSignerCert))) Begin
        Send CreateComObject of hoSignerCert
    End
    Get pvComObject of hoSignerCert to vSignerCert
    Get ComLastSignerCert Of hoCrypt2 iIndex vSignerCert To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoCrypt2 To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatCertChain)) To hoCertChain
    If (Not(IsComObjectCreated(hoCertChain))) Begin
        Send CreateComObject of hoCertChain
    End
    Get pvComObject of hoCertChain to vCertChain
    Get ComBuildCertChain Of hoSignerCert vCertChain To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoSignerCert To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure