Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) RSA Sign Binary Data and Verify (Recover the Original Data)Demonstrates how to RSA sign binary data and then verify/recover the original data. Note: This example uses methods introduced in Chilkat v9.5.0.77.
LOCAL loPrivKey LOCAL lnSuccess LOCAL loRsa LOCAL lcOriginalData LOCAL loBd LOCAL loPubKey LOCAL loRsa2 LOCAL lnBVerified * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * Load an RSA private key for signing. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.PrivateKey') loPrivKey = CreateObject('Chilkat.PrivateKey') lnSuccess = loPrivKey.LoadEncryptedPemFile("qa_data/pem/rsa_passwd.pem","passwd") IF (lnSuccess <> 1) THEN ? loPrivKey.LastErrorText RELEASE loPrivKey CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rsa') loRsa = CreateObject('Chilkat.Rsa') loRsa.ImportPrivateKeyObj(loPrivKey) * We have some binary data (in hex) to sign lcOriginalData = "0102030405060708090A" * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loBd = CreateObject('Chilkat.BinData') loBd.AppendEncoded(lcOriginalData,"hex") * If successful, the contents of bd are replaced with the RSA signature. lnSuccess = loRsa.OpenSslSignBd(loBd) IF (lnSuccess <> 1) THEN ? loRsa.LastErrorText RELEASE loPrivKey RELEASE loRsa RELEASE loBd CANCEL ENDIF * Show the RSA signature in base64 ? loBd.GetEncoded("base64") * ------------------------------------------ * Get the public key from the private key loPubKey = loPrivKey.GetPublicKey() * Verify the signature and extract the original data. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rsa') loRsa2 = CreateObject('Chilkat.Rsa') loRsa2.ImportPublicKeyObj(loPubKey) lnBVerified = loRsa2.OpenSslVerifyBd(loBd) ? "signature verified: " + STR(lnBVerified) * Show the original data: ? "original data: " + loBd.GetEncoded("hex") RELEASE loPubKey RELEASE loPrivKey RELEASE loRsa RELEASE loBd RELEASE loRsa2 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.