Sample code for 30+ languages & platforms
Xbase++

Duplicate openssl smime -encrypt -binary -aes-256-cbc -in some_file.dat -out some_file.dat.enc -outform DER cert.crt

See more OpenSSL Examples

Demonstrates how to encrypt to binary DER using 256-bit AES (CBC mode) as the underlying symmetric encryption algorithm, to produce PKCS7 enveloped data (binary DER).

Duplicates the following openssl command:

openssl smime -encrypt -binary -aes-256-cbc -in some_file.dat -out some_file.dat.enc -outform DER cert.crt

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oCert
LOCAL oBd
LOCAL oCrypt

nSuccess := 0

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oCert := CreateObject("Chilkat.Cert")
nSuccess := oCert:LoadFromFile("qa_data/openssl/EE.cer")
IF (nSuccess == 0)
    ? oCert:LastErrorText
    oCert:destroy()
    RETURN
ENDIF

oBd := CreateObject("Chilkat.BinData")
nSuccess := oBd:LoadFile("qa_data/openssl/hello.txt")
//  Assuming success..

oCrypt := CreateObject("Chilkat.Crypt2")
nSuccess := oCrypt:SetEncryptCert(oCert)
IF (nSuccess == 0)
    ? oCrypt:LastErrorText
    oCert:destroy()
    oBd:destroy()
    oCrypt:destroy()
    RETURN
ENDIF

oCrypt:CryptAlgorithm := "PKI"

//  Indicate the underlying symmetric encryption to be used:
oCrypt:Pkcs7CryptAlg := "aes"
oCrypt:KeyLength := 256
oCrypt:CipherMode := "cbc"

nSuccess := oCrypt:CkEncryptFile("qa_data/openssl/hello.txt", "qa_output/hello.txt.enc")
IF (nSuccess == 0)
    ? oCrypt:LastErrorText
    oCert:destroy()
    oBd:destroy()
    oCrypt:destroy()
    RETURN
ENDIF

? "Success."

oCert:destroy()
oBd:destroy()
oCrypt:destroy()