PowerShell Requires Chilkat v11.0.0+
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
$bd = New-Object Chilkat.BinData
for ($i = 0; $i -le 100; $i++) {
$bd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex")
}
$sha256_base64 = $bd.GetHash("sha256","base64")
$("sha256 hash in base64 format: " + $sha256_base64)
$base64_rsa_sig = "AwF2BbOvL6jA5DwmMAc9n6J2Cc8PI6Rj5W079+aKJcIEtPWRzHor0Bvc3aftGM3Jbgj6SXlIC3M3RYS7UZOnfiHKFNZgbxaNT5WwsWooK42ZkC8DBZl0p7OunBUKd5SciUo+TKilioeUkriN3L1Zl9hwi3HVDVqgVo3XXskwIftSqLSFlepTLTmOWj9Y93dp8J4D9RyLtNgFQBc0WB22tyJTsuY56mLcWe1AMF3LizB9OrbwjynF2u16xWlrJdugccz795fJBUV9aQSD+8S3KeqwQhoi8RK1uhD68aGCyaSpBq0NZ8COAkn7MXaF4POxrAAt8udfHM+PRfSOptcH/w=="
# Get the public key to be used for signature verification.
$pubKey = New-Object Chilkat.PublicKey
$success = $pubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem")
if ($success -eq $false) {
$($pubKey.LastErrorText)
exit
}
$rsa = New-Object Chilkat.Rsa
$success = $rsa.UsePublicKey($pubKey)
if ($success -eq $false) {
$($rsa.LastErrorText)
exit
}
# Verify the hash against the signature.
$rsa.EncodingMode = "base64"
$success = $rsa.VerifyHashENC($sha256_base64,"sha256",$base64_rsa_sig)
if ($success -eq $false) {
$($rsa.LastErrorText)
$("Signature invalid.")
}
else {
$("Signature valid.")
}