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 Hash Binary Data and Sign (and Verify)Demonstrates how to sign the hash of binary data. Also demonstrates how to verify the RSA signature. Note: This example uses methods introduced in Chilkat v9.5.0.77.
LOCAL loPrivKey LOCAL lnSuccess LOCAL loRsa LOCAL lcOriginalData LOCAL loBdData LOCAL loBdSignature 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') loBdData = CreateObject('Chilkat.BinData') loBdData.AppendEncoded(lcOriginalData,"hex") * Hash (SHA-256) and sign the hash: * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.BinData') loBdSignature = CreateObject('Chilkat.BinData') lnSuccess = loRsa.SignBd(loBdData,"sha256",loBdSignature) IF (lnSuccess <> 1) THEN ? loRsa.LastErrorText RELEASE loPrivKey RELEASE loRsa RELEASE loBdData RELEASE loBdSignature CANCEL ENDIF * Show the RSA signature in base64 ? loBdSignature.GetEncoded("base64") * ------------------------------------------ * Get the public key from the private key loPubKey = loPrivKey.GetPublicKey() * Verify the signature.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rsa') loRsa2 = CreateObject('Chilkat.Rsa') loRsa2.ImportPublicKeyObj(loPubKey) lnBVerified = loRsa2.VerifyBd(loBdData,"sha256",loBdSignature) ? "signature verified: " + STR(lnBVerified) RELEASE loPubKey RELEASE loPrivKey RELEASE loRsa RELEASE loBdData RELEASE loBdSignature RELEASE loRsa2 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.