— |
sub sign {
my $self = shift ;
my $request = shift ;
my $key = shift || $request ->signature_key;
die '$request->signature_key must be an RSA key object (e.g. Crypt::OpenSSL::RSA) that can sign($text)'
unless UNIVERSAL::can( $key , 'sign' );
return encode_base64( $key ->sign( $request ->signature_base_string), "" );
}
sub verify {
my $self = shift ;
my $request = shift ;
my $key = shift || $request ->signature_key;
die 'You must pass an RSA key object (e.g. Crypt::OpenSSL::RSA) that can verify($text,$sig)'
unless UNIVERSAL::can( $key , 'verify' );
return $key ->verify( $request ->signature_base_string, decode_base64( $request ->signature));
}
1;
|