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.

      1. aws s3api put-object correctly applies this configuration, and downloads work with the latest AWS CLI version.

      2. aws s3 cp <file> s3://<bucket> does not support this fix in AWS CLI v.2.23.0 to v.2.23.4.

      3. 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.