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
(Unicode 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 <CkPfxW.h> #include <CkPrivateKeyW.h> #include <CkRsaW.h> #include <CkCrypt2W.h> #include <CkBinDataW.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. const wchar_t *concatenatedParams = L"12345678|2019-06-12T17:05:43+02:00|9952|bb123bb1231|cc123cc1231|ss123ss123|199.01"; // Get the private key from a pfx file. CkPfxW pfx; bool success = pfx.LoadPfxFile(L"qa_data/pfx/cert_test123.pfx",L"test123"); if (success != true) { wprintf(L"%s\n",pfx.lastErrorText()); return; } CkPrivateKeyW *privKey = pfx.GetPrivateKey(0); if (pfx.get_LastMethodSuccess() == false) { wprintf(L"%s\n",pfx.lastErrorText()); return; } // Create IIC signature according to RSASSA-PKCS-v1_5 using SHA256 CkRsaW rsa; success = rsa.ImportPrivateKeyObj(*privKey); if (success == false) { wprintf(L"%s\n",rsa.lastErrorText()); return; } // PKCS-v1_5 is used by default. rsa.put_EncodingMode(L"hex"); rsa.put_Charset(L"utf-8"); const wchar_t *hexSig = rsa.signStringENC(concatenatedParams,L"sha256"); wprintf(L"Signature value result is: %s\n",hexSig); // Compute the MD5 hash of the bytes. CkCrypt2W crypt; crypt.put_EncodingMode(L"hex"); crypt.put_HashAlgorithm(L"md5"); CkBinDataW bd; bd.AppendEncoded(hexSig,L"hex"); const wchar_t *md5_summary = crypt.hashBdENC(bd); wprintf(L"MD5 summary value is: %s\n",md5_summary); delete privKey; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.