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) RSAES-OAEP Encrypt String with AES-128 Content Encryption and SHA256Encrypts a string using RSAES-OAEP with SHA256 and AES-128 content encryption to produce PKCS7 output (base64 encoded). Note: This example requires Chilkat v9.5.0.67 or greater.
Use ChilkatAx-win32.pkg Procedure Test Handle hoSb Integer i Boolean iSuccess Variant vCert Handle hoCert Boolean iSuccess Handle hoCrypt String sBase64Pkcs7 String sTemp1 Boolean bTemp1 // This example requires the Chilkat Crypt API to have been previously unlocked. // See Unlock Chilkat Crypt for sample code. // First build a string to be encrypted Get Create (RefClass(cComChilkatStringBuilder)) To hoSb If (Not(IsComObjectCreated(hoSb))) Begin Send CreateComObject of hoSb End Move 1 To i While (i < 25) Get ComAppendInt Of hoSb i To iSuccess Get ComAppend Of hoSb " the quick brown fox jumped over the lazy dog." + (character(13)) + (character(10)) To iSuccess Move (i + 1) To i Loop Get ComGetAsString Of hoSb To sTemp1 Showln sTemp1 // The string to be encrypted looks like this: // 1 the quick brown fox jumped over the lazy dog. // 2 the quick brown fox jumped over the lazy dog. // 3 the quick brown fox jumped over the lazy dog. // 4 the quick brown fox jumped over the lazy dog. // 5 the quick brown fox jumped over the lazy dog. // 6 the quick brown fox jumped over the lazy dog. // ... // Load a digital certificate. // We don't need the private key for encryption. // Only the public key is needed (which is included in a certificate). Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromFile Of hoCert "qa_data/rsaes-oaep/cert.pem" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End // Tell the crypt object to use the certificate. Get pvComObject of hoCert to vCert Get ComSetEncryptCert Of hoCrypt vCert To iSuccess // Indicate that we want PKI encryption (i.e. public-key infrastructure) // to produce a CMS message (Cryptographic Message Syntax/PKCS7), // that is be created with RSAES-OAEP padding, SHA256, and AES-128 for the // bulk encryption. Set ComCryptAlgorithm Of hoCrypt To "pki" Set ComPkcs7CryptAlg Of hoCrypt To "aes" Set ComKeyLength Of hoCrypt To 128 Set ComOaepHash Of hoCrypt To "sha256" Set ComOaepPadding Of hoCrypt To True // Also, don't forget to be specific about the character encoding (byte representation) of the // string to be encrypted. Set ComCharset Of hoCrypt To "utf-8" // Now indicate that the PKCS7 output is to be returned in the base64 encoding. Set ComEncodingMode Of hoCrypt To "base64" Get ComGetAsString Of hoSb To sTemp1 Get ComEncryptStringENC Of hoCrypt sTemp1 To sBase64Pkcs7 Get ComLastMethodSuccess Of hoCrypt To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoCrypt To sTemp1 Showln sTemp1 Procedure_Return End // Show the output Showln sBase64Pkcs7 // This base64 can be copy-and-pasted into the form at http://lapo.it/asn1js/ // to verify that all the chosen algorithms were indeed used. Showln "OK." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.