in reply to Using Crypt::RSA for data signing in perl
shivam99aa is running the code currently list in the OP. Apparently there is a bug or two in Crypt::RSA::Key::Private.
If you use a private key that doesn't have a passphrase, you get:
Number found where operator expected at (eval 17) line 3, near ...
(Missing semicolon on previous line?)
Bareword found where operator expected at (eval 17) line 3, near ...
(Missing operator before ...
Bareword found where operator expected at (eval 17) line 3, near ...
(Missing operator before ...
Whether or not the private key has a passphrase, you get:
Can't use an undefined value as a HASH reference at /opt/perl/lib/site_perl/5.18.2/Crypt/RSA/Key/Private.pm line 217.
The problems stem from new Crypt::RSA::Key::Private calling its read method that calls its deserialize method which joins the lines into a string that is evaled. The result of the eval overwrites $self which makes it undef.
So yeah, the OP's code is not at fault here; the module is evaling the private key.
Update: Crypt::RSA::Key::Private has not seen an update since 2001.
## $Id: Private.pm,v 1.15 2001/09/25 14:11:22 vipul Exp $
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Using Crypt::RSA for data signing in perl
by shivam99aa (Novice) on Dec 07, 2014 at 09:10 UTC | |
by Mr. Muskrat (Canon) on Dec 08, 2014 at 17:00 UTC |