PowerShell
PowerShell
Verfies an RSA Signature
See more Apple Keychain Examples
Verifies an RSA signature against the original data.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# The following data was signed by the following example:
# RSA Sign using a Private Key on a USB Token or Smartcard
$bd = New-Object Chilkat.BinData
for ($i = 0; $i -le 100; $i++) {
$bd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex")
}
# Load the signature
$bdSig = New-Object Chilkat.BinData
$success = $bdSig.LoadFile("rsaSignatures/test1.sig")
if ($success -eq $false) {
$("Failed to load the RSA signature")
exit
}
# 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 of the data against the signature.
# We pass in the original data. Internally, the hash is generated
# and used to validate the signature.
# Validating the RSA signature means two things:
# (1) the original data is exactly what was signed, and
# (2) it was signed by the owner of the RSA private key.
$success = $rsa.VerifyBd($bd,"sha256",$bdSig)
if ($success -eq $false) {
$($rsa.LastErrorText)
$("Signature invalid.")
}
else {
$("Signature valid.")
}