![]() |
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
(Delphi DLL) Example: Crypt2.GetSignedAttributes methodDemonstrates how to call the GetSignedAttributes method.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, BinData, StringBuilder, JsonObject, Crypt2; ... procedure TForm1.Button1Click(Sender: TObject); var crypt: HCkCrypt2; bdPkcs7: HCkBinData; success: Boolean; json: HCkJsonObject; sbJson: HCkStringBuilder; i: Integer; tryNext: Boolean; begin crypt := CkCrypt2_Create(); bdPkcs7 := CkBinData_Create(); success := CkBinData_LoadFile(bdPkcs7,'qa_data/cades/CAdES-T/Signature-C-T-1.p7m'); if (success = False) then begin Memo1.Lines.Add(CkBinData__lastErrorText(bdPkcs7)); Exit; end; json := CkJsonObject_Create(); CkJsonObject_putEmitCompact(json,False); sbJson := CkStringBuilder_Create(); i := 0; tryNext := True; while tryNext do begin if (CkCrypt2_GetSignedAttributes(crypt,i,bdPkcs7,sbJson) = True) then begin CkJsonObject_LoadSb(json,sbJson); Memo1.Lines.Add(IntToStr(i) + ': '); Memo1.Lines.Add(CkJsonObject__emit(json)); end else begin tryNext := False; end; i := i + 1; end; // 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); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.