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
(Visual FoxPro) Verify an RSA Signature Against the Signed HashSee more Apple Keychain ExamplesDemonstrates how to validate an RSA Signature against the hash that was signed.
LOCAL loBd LOCAL i LOCAL lcSha256_base64 LOCAL lcBase64_rsa_sig LOCAL loPubKey LOCAL lnSuccess LOCAL loRsa * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loBd = CreateObject('Chilkat.BinData') FOR i = 0 TO 100 loBd.AppendEncoded("000102030405060708090A0B0C0D0E0F","hex") NEXT lcSha256_base64 = loBd.GetHash("sha256","base64") ? "sha256 hash in base64 format: " + lcSha256_base64 lcBase64_rsa_sig = "AwF2BbOvL6jA5DwmMAc9n6J2Cc8PI6Rj5W079+aKJcIEtPWRzHor0Bvc3aftGM3Jbgj6SXlIC3M3RYS7UZOnfiHKFNZgbxaNT5WwsWooK42ZkC8DBZl0p7OunBUKd5SciUo+TKilioeUkriN3L1Zl9hwi3HVDVqgVo3XXskwIftSqLSFlepTLTmOWj9Y93dp8J4D9RyLtNgFQBc0WB22tyJTsuY56mLcWe1AMF3LizB9OrbwjynF2u16xWlrJdugccz795fJBUV9aQSD+8S3KeqwQhoi8RK1uhD68aGCyaSpBq0NZ8COAkn7MXaF4POxrAAt8udfHM+PRfSOptcH/w==" * Get the public key to be used for signature verification. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.PublicKey') loPubKey = CreateObject('Chilkat.PublicKey') lnSuccess = loPubKey.LoadFromFile("rsaKeys/chilkat-rsa-2048.pem") IF (lnSuccess = 0) THEN ? loPubKey.LastErrorText RELEASE loBd RELEASE loPubKey CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rsa') loRsa = CreateObject('Chilkat.Rsa') loRsa.ImportPublicKeyObj(loPubKey) * Verify the hash against the signature. loRsa.EncodingMode = "base64" lnSuccess = loRsa.VerifyHashENC(lcSha256_base64,"sha256",lcBase64_rsa_sig) IF (lnSuccess = 0) THEN ? loRsa.LastErrorText ? "Signature invalid." ELSE ? "Signature valid." ENDIF RELEASE loBd RELEASE loPubKey RELEASE loRsa |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.