(Unicode C++) Example: Crypt2.GetSignedAttributes method
Demonstrates how to call the GetSignedAttributes method.
#include <CkCrypt2W.h>
#include <CkBinDataW.h>
#include <CkJsonObjectW.h>
#include <CkStringBuilderW.h>
void ChilkatSample(void)
{
CkCrypt2W crypt;
CkBinDataW bdPkcs7;
bool success = bdPkcs7.LoadFile(L"qa_data/cades/CAdES-T/Signature-C-T-1.p7m");
if (success == false) {
wprintf(L"%s\n",bdPkcs7.lastErrorText());
return;
}
CkJsonObjectW json;
json.put_EmitCompact(false);
CkStringBuilderW sbJson;
int i = 0;
bool tryNext = true;
while (tryNext) {
if (crypt.GetSignedAttributes(i,bdPkcs7,sbJson) == true) {
json.LoadSb(sbJson);
wprintf(L"%d: \n",i);
wprintf(L"%s\n",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"
// }
// ]
// }
}
|