Amazon Encryption SDK

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Amazon Encryption SDK provides an encryption library that optionally integrates with AWS KMS and uses it as a master key provider. The SDK generates, encrypts and decrypts data keys, uses those data keys to encrypt and decrypt raw data, and stores encrypted data keys with the corresponding encrypted data in a single object. The AWS Encryption SDK and the Amazon S3 encryption client are not compatible because they produce ciphertexts with different data formats. The AWS Encryption SDK can be used to encrypt byte arrays, I/O streams (byte streams), and strings.

Dependencies

TODO: Gradle dependencies for ASW SDK for Java 2 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_2#Gradle_Project

TODO: Gradle dependencies for ASW SDK for Java 1 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_1#Gradle_Project

dependencies {
    implementation('org.bouncycastle:bcprov-ext-jdk15on:1.58')
    implementation('com.amazonaws:aws-encryption-sdk-java:1.3.1')
}

Clarify whether I need KMS API or not: AWS KMS API Dependencies.

Concepts

Amazon Encryption SDK Concepts

Playground Example

Playground AWS Encryption SDK Examples