AWS SDK and CLI Compatibility Warning
On January 16, 2025, Amazon Web Services (AWS) introduced new default algorithms for integrity protection when uploading and downloading data using the S3 API.
These new integrity checks are not yet implemented by OOS. As a result, using certain updated versions of AWS SDKs or the CLI with OOS returns the following HTTP 400 Bad Request
client error: An error occurred (BadRequest) when calling the PutObject operation: trailing checksum is not supported
.
Impacted Versions
AWS Product |
Impacted Version |
aws-cli v1 |
1.37.0 |
aws-cli v2 |
2.23.0 |
PHP SDK |
3.337.0 |
Python SDK (boto3) |
1.36.0 |
GoLang SDK v2 |
1.33.0 |
JavaScript SDK v3 |
3.729.0 |
Java SDK v2 |
2.30.0 |
Workarounds
Two workarounds are available:
-
Using the latest, non-impacted versions of the AWS SDKs and CLI:
AWS Product
Last Non-Impacted Versions
aws-cli v1
1.36.40
aws-cli v2
2.22.35
PHP SDK
3.336.15
Python SDK (boto3)
1.35.99
GoLang SDK v2
1.32.8
JavaScript SDK v3
3.728.0
Java SDK v2
2.29.52
-
Updating the environment variables for the AWS SDKs and CLI using the following command (specify the
WHEN_REQUIRED
value):export AWS_REQUEST_CHECKSUM_CALCULATION=WHEN_REQUIRED export AWS_RESPONSE_CHECKSUM_VALIDATION=WHEN_REQUIRED
For more information, see the official AWS SDK documentation.
Please consider the following when using this workaround:
-
As of today, AWS CLI versions 2.23.0 to 2.23.4 only partially implement this solution.
-
aws s3api put-object
correctly applies this configuration, and downloads work with the latest AWS CLI version. -
aws s3 cp <file> s3://<bucket>
does not support this fix in AWS CLI v.2.23.0 to v.2.23.4. -
Downloads to OOS fail with these versions.
-
-
With AWS CLI v.2.23.5 or greater, both uploads and downloads function correctly with OOS.
-
Related Pages
AWS™ and Amazon Web Services™ are trademarks of Amazon Technologies, Inc or its affiliates in the United States and/or other countries.