Sample code for 30+ languages & platforms
Unicode C++

Verify the Timestamp Server Token (if any) while Validating a CMS Signature

Demonstrates how to also validate the timestamp server token (if any) while validating a CMS signature.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkCrypt2W.h>
#include <CkJsonObjectW.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkCrypt2W crypt;

    //  Tell Chilkat to also validate the timestamp token if a timestamp exists in the CMS message's unauthenticated attributes.
    CkJsonObjectW cmsOptions;
    cmsOptions.UpdateBool(L"ValidateTimestampTokens",true);
    crypt.put_CmsOptions(cmsOptions.emit());

    const wchar_t *outputFile = L"qa_output/original.xml";
    const wchar_t *inFile = L"qa_data/p7m/fattura_signature.xml.p7m";

    //  Verify the signature and extract the contained file, which in this case is XML.
    success = crypt.VerifyP7M(inFile,outputFile);
    if (success == false) {
        wprintf(L"%s\n",crypt.lastErrorText());
        return;
    }

    wprintf(L"Signature validated.\n");
    }