![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Example: Crypt2.GetSignedAttributes methodDemonstrates how to call the GetSignedAttributes method.
#include <C_CkCrypt2.h> #include <C_CkBinData.h> #include <C_CkJsonObject.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkCrypt2 crypt; HCkBinData bdPkcs7; BOOL success; HCkJsonObject json; HCkStringBuilder sbJson; int i; BOOL tryNext; crypt = CkCrypt2_Create(); bdPkcs7 = CkBinData_Create(); success = CkBinData_LoadFile(bdPkcs7,"qa_data/cades/CAdES-T/Signature-C-T-1.p7m"); if (success == FALSE) { printf("%s\n",CkBinData_lastErrorText(bdPkcs7)); CkCrypt2_Dispose(crypt); CkBinData_Dispose(bdPkcs7); return; } json = CkJsonObject_Create(); CkJsonObject_putEmitCompact(json,FALSE); sbJson = CkStringBuilder_Create(); i = 0; tryNext = TRUE; while (tryNext) { if (CkCrypt2_GetSignedAttributes(crypt,i,bdPkcs7,sbJson) == TRUE) { CkJsonObject_LoadSb(json,sbJson); printf("%d: \n",i); printf("%s\n",CkJsonObject_emit(json)); } 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" // } // ] // } CkCrypt2_Dispose(crypt); CkBinData_Dispose(bdPkcs7); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbJson); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.