Go
Go
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 Go Downloads
success := false
// 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
cert := chilkat.NewCert()
success = cert.LoadFromFile("qa_data/openssl/EE.cer")
if success == false {
fmt.Println(cert.LastErrorText())
cert.DisposeCert()
return
}
bd := chilkat.NewBinData()
success = bd.LoadFile("qa_data/openssl/EE.key")
// Assuming success..
privKey := chilkat.NewPrivateKey()
success = privKey.LoadAnyFormat(bd,"")
if success == false {
fmt.Println(privKey.LastErrorText())
cert.DisposeCert()
bd.DisposeBinData()
privKey.DisposePrivateKey()
return
}
crypt := chilkat.NewCrypt2()
success = crypt.SetDecryptCert2(cert,privKey)
if success == false {
fmt.Println(crypt.LastErrorText())
cert.DisposeCert()
bd.DisposeBinData()
privKey.DisposePrivateKey()
crypt.DisposeCrypt2()
return
}
crypt.SetCryptAlgorithm("PKI")
success = crypt.CkDecryptFile("qa_data/openssl/hello.txt.enc","qa_output/hello.txt")
if success == false {
fmt.Println(crypt.LastErrorText())
cert.DisposeCert()
bd.DisposeBinData()
privKey.DisposePrivateKey()
crypt.DisposeCrypt2()
return
}
fmt.Println("Success.")
cert.DisposeCert()
bd.DisposeBinData()
privKey.DisposePrivateKey()
crypt.DisposeCrypt2()