Sample code for 30+ languages & platforms
C

Workaround for the deprecated Crypt2.VerifyString method

Shows how to replace the deprecated VerifyString 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)
    {
    HCkCrypt2 crypt;
    const char *originalText;
    const char *sigPath;
    HCkByteData detachedSigBytes;
    BOOL verified;
    HCkBinData bdSig;
    const char *encoding;

    crypt = CkCrypt2_Create();

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

    originalText = "this is the string that was signed.";
    sigPath = "c:/someDir/example.p7s";

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

    detachedSigBytes = CkByteData_Create();
    CkByteData_loadFile(detachedSigBytes,sigPath);

    verified = CkCrypt2_VerifyString(crypt,originalText,detachedSigBytes);

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

    bdSig = CkBinData_Create();
    CkBinData_LoadFile(bdSig,sigPath);

    encoding = "base64";
    CkCrypt2_putEncodingMode(crypt,encoding);
    verified = CkCrypt2_VerifyStringENC(crypt,originalText,CkBinData_getEncoded(bdSig,encoding));


    CkCrypt2_Dispose(crypt);
    CkByteData_Dispose(detachedSigBytes);
    CkBinData_Dispose(bdSig);

    }