Perl Requires Chilkat v11.0.0+
Chilkat2 Perl
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 Perl Downloads
use strict;
use warnings;
use Chilkat2;
# 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.
my $pubKey = Chilkat2::PublicKey->new;
# In all Chilkat methods expecting a path, you pass either absolute or relative paths.
my $success = $pubKey->LoadFromFile('rsaKeys/Test2048Rsa.pem');
if (!$success) {
print $pubKey->LastErrorText, "\n";
exit;
}
my $rsa = Chilkat2::Rsa->new;
# Tell RSA to use the public key.
$rsa->UsePublicKey($pubKey);
# Generate a random 256-bit AES key (32 bytes)
my $bdAesKey = Chilkat2::BinData->new;
my $prng = Chilkat2::Prng->new;
$prng->GenRandomBd(32, $bdAesKey);
# RSA encrypt.
$rsa->EncryptBd($bdAesKey, 0);
# Save the RSA encrypted AES key to a file.
$success = $bdAesKey->WriteFile('rsaEncrypted/myAes.key');