Net::OAuth::SignatureMethod::RSA_SHA1 - RSA_SHA1 Signature Method for OAuth protocol


Net-OAuth documentation Contained in the Net-OAuth distribution.

Index


Code Index:

NAME

Top

Net::OAuth::SignatureMethod::RSA_SHA1 - RSA_SHA1 Signature Method for OAuth protocol

SEE ALSO

Top

Net::OAuth, http://oauth.net

AUTHOR

Top

Keith Grennan, <kgrennan at cpan.org>

COPYRIGHT & LICENSE

Top


Net-OAuth documentation Contained in the Net-OAuth distribution.

package Net::OAuth::SignatureMethod::RSA_SHA1;
use warnings;
use strict;
use MIME::Base64;

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;