Sample code for 30+ languages & platforms
C

Workaround for the deprecated Crypt2.OpaqueVerifyString method

Shows how to replace the deprecated OpaqueVerifyString method. (Chilkat is moving away from the use of CkByteData.)

Chilkat C Downloads

C
#include <C_CkCrypt2.h>
#include <C_CkByteData.h>
#include <C_CkBinData.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkCrypt2 crypt;
    const char *path;
    HCkByteData inData;
    const char *originalText;
    HCkBinData bd;

    success = FALSE;

    crypt = CkCrypt2_Create();

    //  Specifies how the original data bytes are converted to characters
    CkCrypt2_putCharset(crypt,"utf-8");

    path = "c:/someDir/example.dat";

    //  ------------------------------------------------------------------------
    //  The OpaqueVerifyString method is deprecated:

    inData = CkByteData_Create();
    CkByteData_loadFile(inData,path);

    originalText = CkCrypt2_opaqueVerifyString(crypt,inData);

    //  ------------------------------------------------------------------------
    //  Workaround.
    //  (Chilkat is moving away from using CkByteData)

    bd = CkBinData_Create();
    CkBinData_LoadFile(bd,path);

    //  If the opaque signature is validated, the contents of bd are replaced with the original data that was signed.
    success = CkCrypt2_OpaqueVerifyBd(crypt,bd);

    //  Indicate how the bytes are converted to chars by passing the charset.
    originalText = CkBinData_getString(bd,"utf-8");


    CkCrypt2_Dispose(crypt);
    CkByteData_Dispose(inData);
    CkBinData_Dispose(bd);

    }