Sample code for 30+ languages & platforms
Tcl

RSA Encrypt and OpenSSL Decrypt

See more OpenSSL Examples

Demonstrates how to use Chilkat to RSA encrypt, and then use OpenSSL to decrypt.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set rsa [new_CkRsa]

set privKey [new_CkPrivateKey]

set success [CkRsa_GenKey $rsa 2048 $privKey]
set success [CkPrivateKey_SavePkcs8PemFile $privKey "qa_output/privKey.pem"]

set pubKey [new_CkPublicKey]

CkPrivateKey_ToPublicKey $privKey $pubKey

CkRsa_put_EncodingMode $rsa "base64"
set plainText "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890"
set bUsePrivateKey 0
CkRsa_UsePublicKey $rsa $pubKey
set encryptedStr [CkRsa_encryptStringENC $rsa $plainText $bUsePrivateKey]

set bd [new_CkBinData]

CkBinData_AppendEncoded $bd $encryptedStr "base64"
set success [CkBinData_WriteFile $bd "qa_output/enc.dat"]

# The OpenSSL command to decrypt is:
# openssl pkeyutl -in enc.dat -inkey privKey.pem -keyform PEM -pkeyopt rsa_padding_mode:pkcs1 -decrypt

puts "OK"

delete_CkRsa $rsa
delete_CkPrivateKey $privKey
delete_CkPublicKey $pubKey
delete_CkBinData $bd