Sample code for 30+ languages & platforms
C#

Example: Crypt2.GetSignedAttributes method

Demonstrates how to call the GetSignedAttributes method.

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.BinData bdPkcs7 = new Chilkat.BinData();
success = bdPkcs7.LoadFile("qa_data/cades/CAdES-T/Signature-C-T-1.p7m");
if (success == false) {
    Debug.WriteLine(bdPkcs7.LastErrorText);
    return;
}

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.EmitCompact = false;

Chilkat.StringBuilder sbJson = new Chilkat.StringBuilder();
int i = 0;
bool tryNext = true;
while (tryNext) {
    if (crypt.GetSignedAttributes(i,bdPkcs7,sbJson) == true) {
        json.LoadSb(sbJson);
        Debug.WriteLine(Convert.ToString(i) + ": ");
        Debug.WriteLine(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"
//      }
//    ]
//  }