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) 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-2025 Chilkat Software, Inc. All Rights Reserved.