Sample code for 30+ languages & platforms
Xbase++

Duplicate openssl smime -decrypt -in some_file.dat.enc -binary -inform DER -inkey private.key -out some_file.dat

See more OpenSSL Examples

Demonstrates how to decrypt binary DER that was encrypted using 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 oPrivKey
LOCAL oCrypt

nSuccess := 0

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

//  Duplicates the following openssl command:
//  openssl smime -decrypt -in hello.txt.enc -binary -inform DER -inkey private.key -out hello.txt

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/EE.key")
//  Assuming success..

oPrivKey := CreateObject("Chilkat.PrivateKey")
nSuccess := oPrivKey:LoadAnyFormat(oBd, "")
IF (nSuccess == 0)
    ? oPrivKey:LastErrorText
    oCert:destroy()
    oBd:destroy()
    oPrivKey:destroy()
    RETURN
ENDIF

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

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

? "Success."

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