Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    success := false

    crypt := chilkat.NewCrypt2()

    // Tell Chilkat to also validate the timestamp token if a timestamp exists in the CMS message's unauthenticated attributes.
    cmsOptions := chilkat.NewJsonObject()
    cmsOptions.UpdateBool("ValidateTimestampTokens",true)
    crypt.SetCmsOptions(cmsOptions.Emit())

    outputFile := "qa_output/original.xml"
    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 {
        fmt.Println(crypt.LastErrorText())
        crypt.DisposeCrypt2()
        cmsOptions.DisposeJsonObject()
        return
    }

    fmt.Println("Signature validated.")

    crypt.DisposeCrypt2()
    cmsOptions.DisposeJsonObject()