Fork me on GitHub
#aws
<
2020-09-03
>
defa10:09:28

Is there some sort of encryption build into com.cognitect.aws/s3 like in Amazon’s AWS-SDK for Java? I need to encrypt data at rest. I can use a javax.crypto.CipherInputStream to encrypt data before passing it to the aws-client, though. But something well tested is preferable!

ghadi13:09:34

there's a few different ways to do this

defa13:09:46

@ghadi and you use Cognitect’s AWS client? Because I can’t find any related documentation to do that.

ghadi13:09:12

I am a maintainer for that client

ghadi13:09:55

You need to figure out what you want to do though -- you can do encryption at rest with S3 without needing to encrypt on the client side (e.g. CipherInputStream, etc.)

ghadi13:09:43

SSE Customer KMS SSE AWS KMS Client-Side Encryption

ghadi13:09:50

^ the three main choices

defa14:09:21

client-side encryption would be my choice

ghadi14:09:04

if you do client side encryption, use something like Google Tink or libsodium to encrypt

ghadi14:09:19

lots of ways to shoot yourself in the foot with java crypto

defa15:09:01

I’m using caesium right now which is a wrapper around libsodium.

defa15:09:40

Is there an example für SSE with customer KMS?

ghadi15:09:05

caesium is great

ghadi15:09:27

(I still prefer using KMS)