AutoIt Requires Chilkat v11.0.0+
AutoIt
Verify an RSA Signature Against the Signed String
See more Apple Keychain Examples
Demonstrates how to validate an RSA Signature against the string that was signed.Chilkat AutoIt Downloads
Local $bSuccess = False
; Create the same string we previously signed in this example:
; RSA Sign utf-8 Bytes of String to get Base64 RSA Signature
$oSb = ObjCreate("Chilkat.StringBuilder")
Local $bCrlfLineEnding = True
Local $i
For $i = 0 To 10
$oSb.AppendLine("This is a test.",$bCrlfLineEnding)
Next
Local $sBase64_rsa_sig = "gWgpEXQqvXN6wh0MuFXPiw2xCb8cnmdizBT1TD1Tpm2GlJ8gnD59DGSj35GGXk1tM+mCOvMa2uW/9gmz8p6A90JLbn918i/2wKGvcde4wXnzPO7JADSNn2UwYzf3rp4/q/JrHv1GZETRJhABSFqTxOgdmdbEJQE/zijOSctCtQAM2CTb6t2BO8uHKSSUAwPH2cbeWxqsaVRLT4ruk5nZOxhoLgLMSjupiSzbE8zSTkkFOEHD+Mbb2xwg85AI0E4DsUnp+hLwwtS0blesgSyvtBY8oJODJeFcJsR7JDOTPdzHQHgJRl/2A4ij5xT91TpXy7ok43jhT6O9j7Q3qrafIQ=="
; Get the public key to be used for signature verification.
$oPubKey = ObjCreate("Chilkat.PublicKey")
$bSuccess = $oPubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem")
If ($bSuccess = False) Then
ConsoleWrite($oPubKey.LastErrorText & @CRLF)
Exit
EndIf
$oRsa = ObjCreate("Chilkat.Rsa")
$bSuccess = $oRsa.UsePublicKey($oPubKey)
If ($bSuccess = False) Then
ConsoleWrite($oRsa.LastErrorText & @CRLF)
Exit
EndIf
; Verify the string against the signature.
; We signed the utf-8 byte representation of the string, so we must indicate
; to also validate against the utf-8 byte representation.
$oRsa.Charset = "utf-8"
$oRsa.EncodingMode = "base64"
Local $signedString = $oSb.GetAsString()
$bSuccess = $oRsa.VerifyStringENC($signedString,"sha256",$sBase64_rsa_sig)
If ($bSuccess = False) Then
ConsoleWrite($oRsa.LastErrorText & @CRLF)
ConsoleWrite("Signature invalid." & @CRLF)
Else
ConsoleWrite("Signature valid." & @CRLF)
EndIf