Sample code for 30+ languages & platforms
Go

Example: Crypt2.GetSignedAttributes method

Demonstrates how to call the GetSignedAttributes method.

Chilkat Go Downloads

Go
    success := false

    crypt := chilkat.NewCrypt2()

    bdPkcs7 := chilkat.NewBinData()
    success = bdPkcs7.LoadFile("qa_data/cades/CAdES-T/Signature-C-T-1.p7m")
    if success == false {
        fmt.Println(bdPkcs7.LastErrorText())
        crypt.DisposeCrypt2()
        bdPkcs7.DisposeBinData()
        return
    }

    json := chilkat.NewJsonObject()
    json.SetEmitCompact(false)

    sbJson := chilkat.NewStringBuilder()
    i := 0
    tryNext := true
    for tryNext {
        if crypt.GetSignedAttributes(i,bdPkcs7,sbJson) == true {
            json.LoadSb(sbJson)
            fmt.Println(i, ": ")
            fmt.Println(*json.Emit())
        } else {
            tryNext = false
        }

        i = i + 1
    }

    // Sample output:

    // 0: 
    // {
    //   "signedAttributes": [
    //     {
    //       "oid": "1.2.840.113549.1.9.3",
    //       "name": "Content Type"
    //     },
    //     {
    //       "oid": "1.2.840.113549.1.9.5",
    //       "name": "Signing Time"
    //     },
    //     {
    //       "oid": "1.2.840.113549.1.9.4",
    //       "name": "Message Digest"
    //     },
    //     {
    //       "oid": "1.2.840.113549.1.9.16.2.47",
    //       "name": "Signing Certificate V2"
    //     }
    //   ]
    // }

    crypt.DisposeCrypt2()
    bdPkcs7.DisposeBinData()
    json.DisposeJsonObject()
    sbJson.DisposeStringBuilder()