In https://github.com/anomalizer/ngx_aws_auth#security-considerations
Note that signing keys have a validity of just one week.
In my experience, they are valid for the date of signing key generation only, as they are date specific.
If you attempt to use a signing key generated on the day before, you will get a 400 Bad Request from S3 due to:
<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; Invalid credential date. Date is not the same as X-Amz-Date.</Message>...
Verified over 2 days, in a container with a UTC timezone. Making requests against nginx right after midnight UTC fail, re-running generate_signing_key (well, my ported variant of it, identical in nature with test coverage) and reloading nginx allows successful requests to occur again.
Should the README be adjusted...?
In https://github.com/anomalizer/ngx_aws_auth#security-considerations
In my experience, they are valid for the date of signing key generation only, as they are date specific.
If you attempt to use a signing key generated on the day before, you will get a
400 Bad Requestfrom S3 due to:Verified over 2 days, in a container with a UTC timezone. Making requests against nginx right after midnight UTC fail, re-running
generate_signing_key(well, my ported variant of it, identical in nature with test coverage) and reloading nginx allows successful requests to occur again.Should the README be adjusted...?