Sample code for 30+ languages & platforms
DataFlex

Example: Crypt2.ClearSigningCerts method

Demonstrates how to call the ClearSigningCerts method.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCrypt
    Variant vCert1
    Handle hoCert1
    Variant vCert2
    Handle hoCert2
    Variant vCert3
    Handle hoCert3
    Variant vBd
    Handle hoBd
    Variant vCert4
    Handle hoCert4
    Variant vCert5
    Handle hoCert5

    Move False To iSuccess

    Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
    If (Not(IsComObjectCreated(hoCrypt))) Begin
        Send CreateComObject of hoCrypt
    End
    Move False To iSuccess

    // Tell the crypt object to use 3 certificates.
    // Do this by calling AddSigningCert for each certificate.

    Get Create (RefClass(cComChilkatCert)) To hoCert1
    If (Not(IsComObjectCreated(hoCert1))) Begin
        Send CreateComObject of hoCert1
    End
    // ...
    // Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
    // ...
    Get pvComObject of hoCert1 to vCert1
    Get ComAddSigningCert Of hoCrypt vCert1 To iSuccess

    Get Create (RefClass(cComChilkatCert)) To hoCert2
    If (Not(IsComObjectCreated(hoCert2))) Begin
        Send CreateComObject of hoCert2
    End
    // ...
    Get pvComObject of hoCert2 to vCert2
    Get ComAddSigningCert Of hoCrypt vCert2 To iSuccess

    Get Create (RefClass(cComChilkatCert)) To hoCert3
    If (Not(IsComObjectCreated(hoCert3))) Begin
        Send CreateComObject of hoCert3
    End
    // ...
    Get pvComObject of hoCert3 to vCert3
    Get ComAddSigningCert Of hoCrypt vCert3 To iSuccess

    Get Create (RefClass(cComChilkatBinData)) To hoBd
    If (Not(IsComObjectCreated(hoBd))) Begin
        Send CreateComObject of hoBd
    End
    // ...

    Get pvComObject of hoBd to vBd
    Get ComOpaqueSignBd Of hoCrypt vBd To iSuccess

    // Let's say we now want to sign something else with different certs..
    // First clear the signing certs.
    Send ComClearSigningCerts To hoCrypt

    Get Create (RefClass(cComChilkatCert)) To hoCert4
    If (Not(IsComObjectCreated(hoCert4))) Begin
        Send CreateComObject of hoCert4
    End
    // ...
    Get pvComObject of hoCert4 to vCert4
    Get ComAddSigningCert Of hoCrypt vCert4 To iSuccess

    Get Create (RefClass(cComChilkatCert)) To hoCert5
    If (Not(IsComObjectCreated(hoCert5))) Begin
        Send CreateComObject of hoCert5
    End
    // ...
    Get pvComObject of hoCert5 to vCert5
    Get ComAddSigningCert Of hoCrypt vCert5 To iSuccess

    // ...
    // ...

    // Sign using cert4 and cert5.
    Get pvComObject of hoBd to vBd
    Get ComOpaqueSignBd Of hoCrypt vBd To iSuccess


End_Procedure