B4X Requires Chilkat v11.0.0+
B4X
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 B4X Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim concatenatedParams As String = "12345678|2019-06-12T17:05:43+02:00|9952|bb123bb1231|cc123cc1231|ss123ss123|199.01"
' Get the private key from a pfx file.
Dim pfx As ChilkatPfx
pfx.Initialize
success = pfx.LoadPfxFile("qa_data/pfx/cert_test123.pfx", "test123")
If success = False Then
Log(pfx.LastErrorText)
Return
End If
Dim privKey As ChilkatPrivateKey
privKey.Initialize("privKey")
success = pfx.PrivateKeyAt(0, privKey)
If success = False Then
Log(pfx.LastErrorText)
Return
End If
' Create IIC signature according to RSASSA-PKCS-v1_5 using SHA256
Dim rsa As ChilkatRsa
rsa.Initialize
success = rsa.UsePrivateKey(privKey)
If success = False Then
Log(rsa.LastErrorText)
Return
End If
' PKCS-v1_5 is used by default.
rsa.EncodingMode = "hex"
rsa.Charset = "utf-8"
Dim hexSig As String = rsa.SignStringENC(concatenatedParams, "sha256")
Log("Signature value result is: " & hexSig)
' Compute the MD5 hash of the bytes.
Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
crypt.EncodingMode = "hex"
crypt.HashAlgorithm = "md5"
Dim bd As ChilkatBinData
bd.Initialize
bd.AppendEncoded(hexSig, "hex")
Dim md5_summary As String = crypt.HashBdENC(bd)
Log("MD5 summary value is: " & md5_summary)