DataFlex
DataFlex
IKOF Generation Code for Montenegro Fiscalization Service
See more _Miscellaneous_ Examples
Demonstrates 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=2Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
String sConcatenatedParams
Handle hoPfx
Variant vPrivKey
Handle hoPrivKey
Handle hoRsa
String sHexSig
Handle hoCrypt
Variant vBd
Handle hoBd
String sMd5_summary
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Move "12345678|2019-06-12T17:05:43+02:00|9952|bb123bb1231|cc123cc1231|ss123ss123|199.01" To sConcatenatedParams
// Get the private key from a pfx file.
Get Create (RefClass(cComChilkatPfx)) To hoPfx
If (Not(IsComObjectCreated(hoPfx))) Begin
Send CreateComObject of hoPfx
End
Get ComLoadPfxFile Of hoPfx "qa_data/pfx/cert_test123.pfx" "test123" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPfx To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey
If (Not(IsComObjectCreated(hoPrivKey))) Begin
Send CreateComObject of hoPrivKey
End
Get pvComObject of hoPrivKey to vPrivKey
Get ComPrivateKeyAt Of hoPfx 0 vPrivKey To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPfx To sTemp1
Showln sTemp1
Procedure_Return
End
// Create IIC signature according to RSASSA-PKCS-v1_5 using SHA256
Get Create (RefClass(cComChilkatRsa)) To hoRsa
If (Not(IsComObjectCreated(hoRsa))) Begin
Send CreateComObject of hoRsa
End
Get pvComObject of hoPrivKey to vPrivKey
Get ComUsePrivateKey Of hoRsa vPrivKey To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoRsa To sTemp1
Showln sTemp1
Procedure_Return
End
// PKCS-v1_5 is used by default.
Set ComEncodingMode Of hoRsa To "hex"
Set ComCharset Of hoRsa To "utf-8"
Get ComSignStringENC Of hoRsa sConcatenatedParams "sha256" To sHexSig
Showln "Signature value result is: " sHexSig
// Compute the MD5 hash of the bytes.
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
Set ComEncodingMode Of hoCrypt To "hex"
Set ComHashAlgorithm Of hoCrypt To "md5"
Get Create (RefClass(cComChilkatBinData)) To hoBd
If (Not(IsComObjectCreated(hoBd))) Begin
Send CreateComObject of hoBd
End
Get ComAppendEncoded Of hoBd sHexSig "hex" To iSuccess
Get pvComObject of hoBd to vBd
Get ComHashBdENC Of hoCrypt vBd To sMd5_summary
Showln "MD5 summary value is: " sMd5_summary
End_Procedure