I'm trying to store a private key generated with Crypt::RSA into a MySQL database. However, when I retrieve it from the database as a string I have no way of getting Crypt::RSA to use it to decrypt the data. For example:
my $private_key = $sth->fetchrow(); #Stored as a string
#I need to put $private_key in a format readable by the function below
my $plaintext = $rsa->decrypt (
Cyphertext => $cyphertext,
Key => $private_key,
Armour => 1,
) || die $rsa->errstr();
The only way I've been able to get this to work is to store the private key in a file and have Crypt::RSA read it back in like this:
$private_key = new Crypt::RSA::Key::Private (
Filename => 'private_key_file'
);
But obviously writing a private key to a file is not a good idea, so I've also tried using IO::Scalar and IO::String to see if I could give the string a filehandle, with no luck. Any help would be appreciated.