Skip to content

S3 Encryption Client payload interoperability #519

Closed

Description

@rlauatlassian

Problem:

My organisation currently uses S3 Encryption Client for client-side encryption of our S3 objects.
We need to support multiple blob storages (such as GCS) with client-side encryption.

S3 Encryption Client is only compatible with S3. We're looking to have a solution that will be multi-storage.

Solution:

One option we are evaluating is relying on S3 Encryption Client internals such as CipherSubscriber/CipherProvider (a couple more) and building a thin agnostic wrapper around it such that we can continue to use it for all our existing S3 objects.

However being internal API we are hesistant. Would it be possible to promote some of the internal API to public?

We have also considered AWS Encryption SDK, but it isn't interoperable with the payloads due to its framed format. We'd also appreciate any other suggestions! Re-encryption to a new format would also be very expensive.

Activity

  1. ShubhamChaturvedi7 commented on Sep 14, 2026

    @ShubhamChaturvedi7
    Contributor

    Hi @rlauatlassian

    The mentioned classes are marked internal intentionally so we can evolve the implementation in future without breaking our end customers. This includes security sensitive changes like key commitment, etc. You can build on them but you'd effectively maintain a fork and have to port any updates from our repo yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions