NAME

WebService::Amazon::Signature - handle signatures for Amazon webservices

VERSION

version 0.002

SYNOPSIS

my $req = 'GET / HTTP/1.1 ...';
my $amz = WebService::Amazon::Signature->new(
 version    => 4,
 algorithm  => 'AWS4-HMAC-SHA256',
 scope      => '20110909/us-east-1/host/aws4_request',
 access_key => 'AKIDEXAMPLE',
 secret_key => 'wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY',
 host_port  => 'localhost:8000',
);
$amz->parse_request($req)
my $signed_req = $amz->signed_request($req);

DESCRIPTION

Provides methods for signing requests and verifying responses for Amazon webservices, as described in http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html.

Note that most of this is subject to change over the next few versions.

METHODS

new

Instantiate a signing object.

Will extract the version named parameter, if it exists, and use that to select the appropriate subclass for instantiation. Other parameters are as defined by the subclass.

SEE ALSO

  • Net::Amazon::AWSSign - handles the v2 signing process but not v4

  • Net::Amazon::Signature - also seems to be v2

  • Net::Amazon::Signature::V4 - supports the v4 protocol (and passes the AWS test suite cleanly), simpler interface than this one and easier to use if you only want to sign the request and don't need access to any of the intermediate steps.

AUTHOR

Tom Molesworth <cpan@entitymodel.com>

LICENSE

Copyright Tom Molesworth 2012-2013. Licensed under the same terms as Perl itself.