# Net::Amazon::Signature::V4 - Implements the Amazon Web Services signatu... - perldoc - [phpMan]

## NAME
    [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown) - Implements the Amazon Web Services signature version 4,
    AWS4-HMAC-SHA256

## VERSION
    Version 0.21

## SYNOPSIS
        use [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown);

        my $sig = [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown)->new( $access_key_id, $secret, $endpoint, $service );
        my $req = [HTTP::Request](https://www.chedong.com/phpMan.php/perldoc/HTTP%3A%3ARequest/markdown)->parse( $request_string );
        my $signed_req = $sig->sign( $req );
        ...

## DESCRIPTION
    This module signs an [HTTP::Request](https://www.chedong.com/phpMan.php/perldoc/HTTP%3A%3ARequest/markdown) to Amazon Web Services by appending an Authorization header.
    Amazon Web Services signature version 4, AWS4-HMAC-SHA256, is used.

    The primary purpose of this module is to be used by [Net::Amazon::Glacier](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3AGlacier/markdown).

## METHODS
  new
        my $sig = [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown)->new( $access_key_id, $secret, $endpoint, $service );
        my $sig = [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown)->new({
            access_key_id => $access_key_id,
            secret        => $secret,
            endpoint      => $endpoint,
            service       => $service,
        });

    Constructs the signature object, which is used to sign requests.

    Note that the access key ID is an alphanumeric string, not your account ID. The endpoint could
    be "eu-west-1", and the service could be "glacier".

    Since version 0.20, parameters can be passed in a hashref. The keys "access_key_id", "secret",
    "endpoint", and "service" are required. "security_token", if passed, will be applied to each
    signed request as the "X-Amz-Security-Token" header.

  sign
        my $signed_request = $sig->sign( $request );

    Signs a request with your credentials by appending the Authorization header. $request should be
    an [HTTP::Request](https://www.chedong.com/phpMan.php/perldoc/HTTP%3A%3ARequest/markdown). The signed request is returned.

## AUTHOR
    Tim Nordenfur, "<tim at gurka.se>"

    Maintained by Dan Book, "<dbook at cpan.org>"

## BUGS
    Please report any bugs or feature requests to "bug-Net-Amazon-Signature-V4 at rt.cpan.org", or
    through the web interface at
    <<https://rt.cpan.org/Public/Bug/Report.html?Queue=Net-Amazon-Signature-V4>>. I will be notified,
    and then you'll automatically be notified of progress on your bug as I make changes.

## SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc [Net::Amazon::Signature::V4](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AAmazon%3A%3ASignature%3A%3AV4/markdown)

    You can also look for information at:

    *   RT: CPAN's request tracker (report bugs here)

        <<https://rt.cpan.org/Public/Dist/Display.html?Name=Net-Amazon-Signature-V4>>

    *   Source on GitHub

        <<https://github.com/Grinnz/Net-Amazon-Signature-V4>>

    *   Search CPAN

        <<https://metacpan.org/release/Net-Amazon-Signature-V4>>

## LICENSE AND COPYRIGHT
    This software is copyright (c) 2012 by Tim Nordenfur.

    This is free software; you can redistribute it and/or modify it under the same terms as the Perl
    5 programming language system itself.

