On S3 when objects are client-side encrypted the encryption metadata is stored and transmitted through headers on GET and HEAD requests, which is required to decrypt objects on the client-side.
Currently the ObjectMeta does not support provider-specific metadata although it's already able to extract it from request headers.
Describe the solution you'd like
The minimal change would be to passthrough S3-specific client-side encryption metadata through the ObjectMeta, which could then by used by client.
Describe alternatives you've considered
The better solution would be to support content decryption within the library itself, however it would create dependencies on openssl or similar and add considerable amount of logic, which might limit the types of clients who would be able to use this library.
Additional context
I'm willing to author the change, but need guidance on the design.
On S3 when objects are client-side encrypted the encryption metadata is stored and transmitted through headers on GET and HEAD requests, which is required to decrypt objects on the client-side.
Currently the
ObjectMetadoes not support provider-specific metadata although it's already able to extract it from request headers.Describe the solution you'd like
The minimal change would be to passthrough S3-specific client-side encryption metadata through the
ObjectMeta, which could then by used by client.Describe alternatives you've considered
The better solution would be to support content decryption within the library itself, however it would create dependencies on
opensslor similar and add considerable amount of logic, which might limit the types of clients who would be able to use this library.Additional context
I'm willing to author the change, but need guidance on the design.