Xbase++
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
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()