Tcl
Tcl
Generate a Random 256-bit AES Key and RSA Encrypt
See more RSA Examples
Generates a random 256-bit AES key and encrypts using an RSA public key. Only the owner of the RSA private key will be able to decrypt the AES key.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# The RSA public key is used for encryption, and the private key for decryption.
# The public key's role is to make encryption accessible to anyone while ensuring that
# only the private key holder can decrypt the messages.
# The public key is designed to be widely distributed so anyone can use it to encrypt messages
# intended for the owner of the private key.
# Load our 2048-bit RSA public key.
set pubKey [new_CkPublicKey]
# In all Chilkat methods expecting a path, you pass either absolute or relative paths.
set success [CkPublicKey_LoadFromFile $pubKey "rsaKeys/Test2048Rsa.pem"]
if {$success == 0} then {
puts [CkPublicKey_lastErrorText $pubKey]
delete_CkPublicKey $pubKey
exit
}
set rsa [new_CkRsa]
# Tell RSA to use the public key.
CkRsa_UsePublicKey $rsa $pubKey
# Generate a random 256-bit AES key (32 bytes)
set bdAesKey [new_CkBinData]
set prng [new_CkPrng]
CkPrng_GenRandomBd $prng 32 $bdAesKey
# RSA encrypt.
CkRsa_EncryptBd $rsa $bdAesKey 0
# Save the RSA encrypted AES key to a file.
set success [CkBinData_WriteFile $bdAesKey "rsaEncrypted/myAes.key"]
delete_CkPublicKey $pubKey
delete_CkRsa $rsa
delete_CkBinData $bdAesKey
delete_CkPrng $prng