Sample code for 30+ languages & platforms
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 C# Downloads

C#
bool success = false;

Chilkat.Crypt2 crypt = new Chilkat.Crypt2();

//  Tell Chilkat to also validate the timestamp token if a timestamp exists in the CMS message's unauthenticated attributes.
Chilkat.JsonObject cmsOptions = new Chilkat.JsonObject();
cmsOptions.UpdateBool("ValidateTimestampTokens",true);
crypt.CmsOptions = cmsOptions.Emit();

string outputFile = "qa_output/original.xml";
string inFile = "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) {
    Debug.WriteLine(crypt.LastErrorText);
    return;
}

Debug.WriteLine("Signature validated.");