AWS-Signature-V4
view release on metacpan or search on metacpan
when the fault is in the module itself, i.e. something that should not
happen whatever the input. The exception is reported at the line of the
caller, and its trace does not include the arguments of the calls, as
they may hold secrets like passwords. Moo's own complaints, e.g. about
the arguments of the constructors that are not meant to be called
directly, are not Ouch exceptions.
SECURITY CONSIDERATIONS
* URLs. A URL must be ASCII, without control characters and without
user information (user@host): AWS endpoints never have it, and user
agents do not all agree on which host such a URL points to. For the
same reason the host can only be a name made of letters, digits, .,
_, ~ and -, or an IP address, with an optional numeric port.
* Authorize on what is signed. For every service but S3 the path is
normalized before signing, as AWS does: /public/../admin/delete is
signed as /admin/delete, and that is what AWS executes. If your
application decides whether a caller may have a request signed by
looking at the URL, it must look at the normalized path (see the
second line of canonical_request), not at the raw URL, or it can be
lib/AWS/Signature/V4.pod view on Meta::CPAN
are not Ouch exceptions.
=head1 SECURITY CONSIDERATIONS
=over
=item *
B<URLs.> A URL must be ASCII, without control characters and without user
information (C<user@host>): AWS endpoints never have it, and user agents
do not all agree on which host such a URL points to. For the same reason
the host can only be a name made of letters, digits, C<.>, C<_>, C<~>
and C<->, or an IP address, with an optional numeric port.
=item *
B<Authorize on what is signed.> For every service but S3 the path is
normalized before signing, as AWS does: C</public/../admin/delete> is
signed as C</admin/delete>, and that is what AWS executes. If your
application decides whether a caller may have a request signed by
( run in 1.146 second using v1.01-cache-2.11-cpan-16aabcbfbcb )