---
name: "Net::Amazon::Signature::V4"
section: "3pm"
platform: "linux"
package: "libnet-amazon-signature-v4-perl"
version: "0.21-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Amazon::Signature::V4"
---

# Net::Amazon::Signature::V4(3pm)

Implements the Amazon Web Services signature version 4, AWS4-HMAC-SHA256

## NAME

Net::Amazon::Signature::V4 - Implements the Amazon Web Services signature version 4, AWS4-HMAC-SHA256

## VERSION

Version 0.21

## SYNOPSIS

```
    use Net::Amazon::Signature::V4;
    my $sig = Net::Amazon::Signature::V4->new( $access_key_id, $secret, $endpoint, $service );
    my $req = HTTP::Request->parse( $request_string );
    my $signed_req = $sig->sign( $req );
    ...
```

## DESCRIPTION

This module signs an HTTP::Request 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.

## METHODS

### new

```
    my $sig = Net::Amazon::Signature::V4->new( $access_key_id, $secret, $endpoint, $service );
    my $sig = Net::Amazon::Signature::V4->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. 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
```

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.
