Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Sign JSON (or any Text) to Create a Detached PKCS7 SignatureDemonstrates how to sign JSON or any string using a certificate + private key from a .p12/.pfx to create a detached PKCS7 signature. (A detached signature is one that does not embed the original signed data.)
Use ChilkatAx-win32.pkg Procedure Test Handle hoCrypt Variant vCert Handle hoCert Boolean iSuccess Variant hoDetachedSig String sStringToSign Boolean iVerified String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadPfxFile Of hoCert "qa_data/pfx/cert_test123.pfx" "test123" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Tell the crypt component to use this cert. Get pvComObject of hoCert to vCert Get ComSetSigningCert Of hoCrypt vCert To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCrypt To sTemp1 Showln sTemp1 Procedure_Return End Set ComHashAlgorithm Of hoCrypt To "sha256" // By default, all the certs in the chain of authentication are included in the signature. // If desired, we can choose to only include the signing certificate: Set ComIncludeCertChain Of hoCrypt To False // Create the detached signature, which does NOT contain the original data. // To create a PKCS7 signature that contains the original data, see CAdES Sign JSON Set ComCharset Of hoCrypt To "utf-8" Move '{ "abc": 123}' To sStringToSign Get ComSignString Of hoCrypt sStringToSign To hoDetachedSig Get ComLastMethodSuccess Of hoCrypt To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoCrypt To sTemp1 Showln sTemp1 Procedure_Return End // Verify the signature against the original data. Get ComVerifyString Of hoCrypt sStringToSign vDetachedSig To iVerified If (iVerified = False) Begin Get ComLastErrorText Of hoCrypt To sTemp1 Showln sTemp1 Procedure_Return End Showln "Success!" End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.