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
(C++) IKOF Generation Code for Montenegro Fiscalization ServiceDemonstrates computing the IKOF MD5 summary value as described in section 4.3 of this document: https://poreskauprava.gov.me/ResourceManager/FileDownload.aspx?rId=416042&rType=2
#include <CkPfx.h> #include <CkPrivateKey.h> #include <CkRsa.h> #include <CkCrypt2.h> #include <CkBinData.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. const char *concatenatedParams = "12345678|2019-06-12T17:05:43+02:00|9952|bb123bb1231|cc123cc1231|ss123ss123|199.01"; // Get the private key from a pfx file. CkPfx pfx; bool success = pfx.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123"); if (success != true) { std::cout << pfx.lastErrorText() << "\r\n"; return; } CkPrivateKey *privKey = pfx.GetPrivateKey(0); if (pfx.get_LastMethodSuccess() == false) { std::cout << pfx.lastErrorText() << "\r\n"; return; } // Create IIC signature according to RSASSA-PKCS-v1_5 using SHA256 CkRsa rsa; success = rsa.ImportPrivateKeyObj(*privKey); if (success == false) { std::cout << rsa.lastErrorText() << "\r\n"; return; } // PKCS-v1_5 is used by default. rsa.put_EncodingMode("hex"); rsa.put_Charset("utf-8"); const char *hexSig = rsa.signStringENC(concatenatedParams,"sha256"); std::cout << "Signature value result is: " << hexSig << "\r\n"; // Compute the MD5 hash of the bytes. CkCrypt2 crypt; crypt.put_EncodingMode("hex"); crypt.put_HashAlgorithm("md5"); CkBinData bd; bd.AppendEncoded(hexSig,"hex"); const char *md5_summary = crypt.hashBdENC(bd); std::cout << "MD5 summary value is: " << md5_summary << "\r\n"; delete privKey; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.