Sample code for 30+ languages & platforms
AutoIt

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=2

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

Local $sConcatenatedParams = "12345678|2019-06-12T17:05:43+02:00|9952|bb123bb1231|cc123cc1231|ss123ss123|199.01"

; Get the private key from a pfx file.
$oPfx = ObjCreate("Chilkat.Pfx")
$bSuccess = $oPfx.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
If ($bSuccess = False) Then
    ConsoleWrite($oPfx.LastErrorText & @CRLF)
    Exit
EndIf

$oPrivKey = ObjCreate("Chilkat.PrivateKey")
$bSuccess = $oPfx.PrivateKeyAt(0,$oPrivKey)
If ($bSuccess = False) Then
    ConsoleWrite($oPfx.LastErrorText & @CRLF)
    Exit
EndIf

; Create IIC signature according to RSASSA-PKCS-v1_5 using SHA256
$oRsa = ObjCreate("Chilkat.Rsa")
$bSuccess = $oRsa.UsePrivateKey($oPrivKey)
If ($bSuccess = False) Then
    ConsoleWrite($oRsa.LastErrorText & @CRLF)
    Exit
EndIf

; PKCS-v1_5 is used by default.
$oRsa.EncodingMode = "hex"
$oRsa.Charset = "utf-8"
Local $sHexSig = $oRsa.SignStringENC($sConcatenatedParams,"sha256")

ConsoleWrite("Signature value result is: " & $sHexSig & @CRLF)

; Compute the MD5 hash of the bytes.
$oCrypt = ObjCreate("Chilkat.Crypt2")
$oCrypt.EncodingMode = "hex"
$oCrypt.HashAlgorithm = "md5"
$oBd = ObjCreate("Chilkat.BinData")
$oBd.AppendEncoded($sHexSig,"hex")
Local $sMd5_summary = $oCrypt.HashBdENC($oBd)

ConsoleWrite("MD5 summary value is: " & $sMd5_summary & @CRLF)