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
(DataFlex) RSA Encrypt Randomly Generated AES KeyDemonstrates how to RSA encrypt a randomly generated AES key.
Use ChilkatAx-win32.pkg Procedure Test Handle hoPrng Variant vBdAesKey Handle hoBdAesKey Boolean iSuccess Handle hoCert Variant vPubKey Handle hoPubKey Handle hoRsa String sEncryptedAesKey String sTemp1 Boolean bTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // First generate a 256-bit AES key (32 bytes). Get Create (RefClass(cComChilkatPrng)) To hoPrng If (Not(IsComObjectCreated(hoPrng))) Begin Send CreateComObject of hoPrng End Get Create (RefClass(cComChilkatBinData)) To hoBdAesKey If (Not(IsComObjectCreated(hoBdAesKey))) Begin Send CreateComObject of hoBdAesKey End Get pvComObject of hoBdAesKey to vBdAesKey Get ComGenRandomBd Of hoPrng 32 vBdAesKey To iSuccess // Use a public key from a certificate for RSA encryption. Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromFile Of hoCert "qa_data/pem/mf_public_rsa.pem" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get ComExportPublicKey Of hoCert To vPubKey If (IsComObject(vPubKey)) Begin Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey Set pvComObject Of hoPubKey To vPubKey End Get ComLastMethodSuccess Of hoCert To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatRsa)) To hoRsa If (Not(IsComObjectCreated(hoRsa))) Begin Send CreateComObject of hoRsa End Get ComImportPublicKeyObj Of hoRsa vPubKey To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End Send Destroy of hoPubKey // RSA encrypt our 32-byte AES key. // The contents of bdAesKey are replaced with result of the RSA encryption. Get pvComObject of hoBdAesKey to vBdAesKey Get ComEncryptBd Of hoRsa vBdAesKey False To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End // Return the result as a base64 string Get ComGetEncoded Of hoBdAesKey "base64" To sEncryptedAesKey Showln "encrypted AES key = " sEncryptedAesKey End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.