Chilkat2-Python
Chilkat2-Python
Verfies an RSA Signature
See more Apple Keychain Examples
Verifies an RSA signature against the original data.Chilkat Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# The following data was signed by the following example:
# RSA Sign using a Private Key on a USB Token or Smartcard
bd = chilkat2.BinData()
for i in range(0,101):
bd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex")
# Load the signature
bdSig = chilkat2.BinData()
success = bdSig.LoadFile("rsaSignatures/test1.sig")
if (success == False):
print("Failed to load the RSA signature")
sys.exit()
# Get the public key to be used for signature verification.
pubKey = chilkat2.PublicKey()
success = pubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem")
if (success == False):
print(pubKey.LastErrorText)
sys.exit()
rsa = chilkat2.Rsa()
success = rsa.UsePublicKey(pubKey)
if (success == False):
print(rsa.LastErrorText)
sys.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 == False):
print(rsa.LastErrorText)
print("Signature invalid.")
else:
print("Signature valid.")