Sample code for 30+ languages & platforms
PureBasic

Example: Crypt2.SetDecryptCert method

Demonstrates how to call the SetDecryptCert method.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkBinData.pb"
IncludeFile "CkCert.pb"
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

    success.i = 0

    cert.i = CkCert::ckCreate()
    If cert.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkCert::ckLoadPfxFile(cert,"c:/pfx_files/my.pfx","password")
    If success <> 1
        Debug CkCert::ckLastErrorText(cert)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

    decrypt.i = CkCrypt2::ckCreate()
    If decrypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkCrypt2::setCkCryptAlgorithm(decrypt, "pki")

    success = CkCrypt2::ckSetDecryptCert(decrypt,cert)
    If success <> 1
        Debug CkCrypt2::ckLastErrorText(decrypt)
        CkCert::ckDispose(cert)
        CkCrypt2::ckDispose(decrypt)
        ProcedureReturn
    EndIf

    bd.i = CkBinData::ckCreate()
    If bd.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkBinData::ckLoadFile(bd,"c:/someDir/pkcs7_encrypted.dat")

    success = CkCrypt2::ckDecryptBd(decrypt,bd)
    If success <> 1
        Debug CkCrypt2::ckLastErrorText(decrypt)
        CkCert::ckDispose(cert)
        CkCrypt2::ckDispose(decrypt)
        CkBinData::ckDispose(bd)
        ProcedureReturn
    EndIf

    ; bd contains the decrypted content.


    CkCert::ckDispose(cert)
    CkCrypt2::ckDispose(decrypt)
    CkBinData::ckDispose(bd)


    ProcedureReturn
EndProcedure