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) Encrypt using Cert to produce -----BEGIN PKCS7----- ... -----END PKCS7-----Demonstrates how to encrypt using a certificate to produce output such as: -----BEGIN PKCS7----- MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywC ... ... ... -----END PKCS7-----The certificate to be used is not your own, but the certificate of the intended recipient of the message.
Use ChilkatAx-win32.pkg Procedure Test Handle hoCrypt Variant vCert Handle hoCert Boolean iSuccess String sToBeEncrypted String sEncryptedStr Handle hoSb String sOutStr String sTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt If (Not(IsComObjectCreated(hoCrypt))) Begin Send CreateComObject of hoCrypt End // Specify the encryption to be used. // "pki" indicates "Public Key Infrastructure" and will create a PKCS7 encrypted (enveloped) message. 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 // A certificate is needed as the encryption key.. Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End Get ComLoadFromFile Of hoCert "qa_data/certs/testCert.pem" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Tell the crypt object to use the certificate. Get pvComObject of hoCert to vCert Get ComSetEncryptCert Of hoCrypt vCert To iSuccess Move "This string is to be encrypted." To sToBeEncrypted // Get the result in multi-line BASE64 MIME format. Set ComEncodingMode Of hoCrypt To "base64_mime" Get ComEncryptStringENC Of hoCrypt sToBeEncrypted To sEncryptedStr If (iSuccess <> True) Begin Get ComLastErrorText Of hoCrypt To sTemp1 Showln sTemp1 Procedure_Return End // Make a "-----BEGIN PKCS7-----" ... "-----END PKCS7-----" sandwich... Get Create (RefClass(cComChilkatStringBuilder)) To hoSb If (Not(IsComObjectCreated(hoSb))) Begin Send CreateComObject of hoSb End Get ComAppendLine Of hoSb "-----BEGIN PKCS7-----" True To iSuccess Get ComAppend Of hoSb sEncryptedStr To iSuccess Get ComAppendLine Of hoSb "-----END PKCS7-----" True To iSuccess Get ComGetAsString Of hoSb To sOutStr Showln sOutStr // Sample output: // -----BEGIN PKCS7----- // MIICYQYJKoZIhvcNAQcDoIICUjCCAk4CAQAxggH5MIIB9QIBADCBsTCBmzELMAkGA1UEBhMCR0Ix // GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR // Q09NT0RPIENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRoZW50 // aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAuBl4qE2MODB05C5h53M5UDA4BgkqhkiG9w0B // AQcwK6APMA0GCWCGSAFlAwQCAQUAoRgwFgYJKoZIhvcNAQEIMAkGBSsOAwIaBQAEggEAyZejlE37 // awl0bCWVbOCqf9yLSN17mZRamG8FHDh3nNu11G0+oyJtsPDEnSKsQig0V67MZ+hcWV+uf4ytcjyx // H0gs5uex+LwkB+c3ZTOt18IYWFtRilg1HFy1ZN3t0D2QbxYy+i1TXOOwp3gAHL45vRCJ0FbKyQ36 // pKl0XLe+lRvp2EiJCKVjxtX8VcZOKT4xkG7yOARaCQceth6pA58Dg0yzAz7w4nD2UgAlNzrXG69X // e+7e7yfBv47RRqFiQqDpCn+fM/PmFbUyqBppMwc64yP+fJek8VyJw2/UaXWWM4iSKSflk90tiHwf // loEU3It4arnSv94fZQo0v129aBqpWzBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAECBBCohUgm5qX+ // TE6PxtPCmWi8gCBgbNg39emAB+AqLozm+vSLjZOGfg3M52gccKUJ8tg8XQ== // -----END PKCS7----- End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.