(C++) Example: Crypt2.GetSignedAttributes method
Demonstrates how to call the GetSignedAttributes method.
#include <CkCrypt2.h>
#include <CkBinData.h>
#include <CkJsonObject.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
CkCrypt2 crypt;
CkBinData bdPkcs7;
bool success = bdPkcs7.LoadFile("qa_data/cades/CAdES-T/Signature-C-T-1.p7m");
if (success == false) {
std::cout << bdPkcs7.lastErrorText() << "\r\n";
return;
}
CkJsonObject json;
json.put_EmitCompact(false);
CkStringBuilder sbJson;
int i = 0;
bool tryNext = true;
while (tryNext) {
if (crypt.GetSignedAttributes(i,bdPkcs7,sbJson) == true) {
json.LoadSb(sbJson);
std::cout << i << ": " << "\r\n";
std::cout << json.emit() << "\r\n";
}
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"
// }
// ]
// }
}
|