![]() |
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
(Unicode C) Example: Crypt2.GetSignedAttributes methodDemonstrates how to call the GetSignedAttributes method.
#include <C_CkCrypt2W.h> #include <C_CkBinDataW.h> #include <C_CkJsonObjectW.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { HCkCrypt2W crypt; HCkBinDataW bdPkcs7; BOOL success; HCkJsonObjectW json; HCkStringBuilderW sbJson; int i; BOOL tryNext; crypt = CkCrypt2W_Create(); bdPkcs7 = CkBinDataW_Create(); success = CkBinDataW_LoadFile(bdPkcs7,L"qa_data/cades/CAdES-T/Signature-C-T-1.p7m"); if (success == FALSE) { wprintf(L"%s\n",CkBinDataW_lastErrorText(bdPkcs7)); CkCrypt2W_Dispose(crypt); CkBinDataW_Dispose(bdPkcs7); return; } json = CkJsonObjectW_Create(); CkJsonObjectW_putEmitCompact(json,FALSE); sbJson = CkStringBuilderW_Create(); i = 0; tryNext = TRUE; while (tryNext) { if (CkCrypt2W_GetSignedAttributes(crypt,i,bdPkcs7,sbJson) == TRUE) { CkJsonObjectW_LoadSb(json,sbJson); wprintf(L"%d: \n",i); wprintf(L"%s\n",CkJsonObjectW_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" // } // ] // } CkCrypt2W_Dispose(crypt); CkBinDataW_Dispose(bdPkcs7); CkJsonObjectW_Dispose(json); CkStringBuilderW_Dispose(sbJson); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.