Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Verfies an RSA SignatureSee more Apple Keychain ExamplesVerifies an RSA signature against the original data.
use chilkat(); # The following data was signed by the following example: # RSA Sign using a Private Key on a USB Token or Smartcard $bd = chilkat::CkBinData->new(); for ($i = 0; $i <= 100; $i++) { $bd->AppendEncoded("000102030405060708090A0B0C0D0E0F","hex"); } # Load the signature $bdSig = chilkat::CkBinData->new(); $success = $bdSig->LoadFile("rsaSignatures/test1.sig"); if ($success == 0) { print "Failed to load the RSA signature" . "\r\n"; exit; } # Get the public key to be used for signature verification. $pubKey = chilkat::CkPublicKey->new(); $success = $pubKey->LoadFromFile("rsaKeys/chilkat-rsa-2048.pem"); if ($success == 0) { print $pubKey->lastErrorText() . "\r\n"; exit; } $rsa = chilkat::CkRsa->new(); $rsa->ImportPublicKeyObj($pubKey); # 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 == 0) { print $rsa->lastErrorText() . "\r\n"; print "Signature invalid." . "\r\n"; } else { print "Signature valid." . "\r\n"; } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.