PowerBuilder
PowerBuilder
Verify an RSA Signature Against the Signed Hash
See more Apple Keychain Examples
Demonstrates how to validate an RSA Signature against the hash that was signed.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Bd
integer i
string ls_Sha256_base64
string ls_Base64_rsa_sig
oleobject loo_PubKey
oleobject loo_Rsa
li_Success = 0
loo_Bd = create oleobject
li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData")
if li_rc < 0 then
destroy loo_Bd
MessageBox("Error","Connecting to COM object failed")
return
end if
for i = 0 to 100
loo_Bd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex")
next
ls_Sha256_base64 = loo_Bd.GetHash("sha256","base64")
Write-Debug "sha256 hash in base64 format: " + ls_Sha256_base64
ls_Base64_rsa_sig = "AwF2BbOvL6jA5DwmMAc9n6J2Cc8PI6Rj5W079+aKJcIEtPWRzHor0Bvc3aftGM3Jbgj6SXlIC3M3RYS7UZOnfiHKFNZgbxaNT5WwsWooK42ZkC8DBZl0p7OunBUKd5SciUo+TKilioeUkriN3L1Zl9hwi3HVDVqgVo3XXskwIftSqLSFlepTLTmOWj9Y93dp8J4D9RyLtNgFQBc0WB22tyJTsuY56mLcWe1AMF3LizB9OrbwjynF2u16xWlrJdugccz795fJBUV9aQSD+8S3KeqwQhoi8RK1uhD68aGCyaSpBq0NZ8COAkn7MXaF4POxrAAt8udfHM+PRfSOptcH/w=="
// Get the public key to be used for signature verification.
loo_PubKey = create oleobject
li_rc = loo_PubKey.ConnectToNewObject("Chilkat.PublicKey")
li_Success = loo_PubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem")
if li_Success = 0 then
Write-Debug loo_PubKey.LastErrorText
destroy loo_Bd
destroy loo_PubKey
return
end if
loo_Rsa = create oleobject
li_rc = loo_Rsa.ConnectToNewObject("Chilkat.Rsa")
li_Success = loo_Rsa.UsePublicKey(loo_PubKey)
if li_Success = 0 then
Write-Debug loo_Rsa.LastErrorText
destroy loo_Bd
destroy loo_PubKey
destroy loo_Rsa
return
end if
// Verify the hash against the signature.
loo_Rsa.EncodingMode = "base64"
li_Success = loo_Rsa.VerifyHashENC(ls_Sha256_base64,"sha256",ls_Base64_rsa_sig)
if li_Success = 0 then
Write-Debug loo_Rsa.LastErrorText
Write-Debug "Signature invalid."
else
Write-Debug "Signature valid."
end if
destroy loo_Bd
destroy loo_PubKey
destroy loo_Rsa