You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-29
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,10 @@
1
1
# AWS Encryption SDK for Java
2
2
3
-
The AWS Encryption SDK enables secure client-side encryption. It uses cryptography best practices to protect your data and the encryption keys used to protect that data. Each data object is protected with a unique data encryption key (DEK), and the DEK is protected with a key encryption key (KEK) called a *master key*. The encrypted DEK is combined with the encrypted data into a single[encrypted message](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/message-format.html), so you don't need to keep track of the DEKs for your data. The SDK supports master keys in [AWS Key Management Service](https://aws.amazon.com/kms/) (KMS), and it also provides APIs to define and use other master key providers. The SDK provides methods for encrypting and decrypting strings, byte arrays, and byte streams. For details, see the [example code][examples] and the [Javadoc](https://aws.github.io/aws-encryption-sdk-java).
3
+
The AWS Encryption SDK enables secure client-side encryption. It uses cryptography best practices to protect your data and protect the encryption keys that protect your data. Each data object is protected with a unique data encryption key, and the data encryption key is protected with a key encryption key called a *wrapping key* or *master key*. The encryption method returns a single, portable [encrypted message](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/message-format.html) that contains the encrypted data and the encrypted data key, so you don't need to keep track of the data encryption keys for your data. You can use KMS keys in [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS) as wrapping keys. The AWS Encryption SDK also provides APIs to define and use encryption keys from other key providers.
4
4
5
-
For more details about the design and architecture of the SDK, see the [official documentation](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).
5
+
The AWS Encryption SDK for Java provides methods for encrypting and decrypting strings, byte arrays, and byte streams. For details, see the [example code][examples] and the [Javadoc](https://aws.github.io/aws-encryption-sdk-java).
6
+
7
+
For more details about the design and architecture of the AWS Encryption SDK, see the [AWS Encryption SDK Developer Guide](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/).
@@ -11,7 +13,7 @@ See [Support Policy](./SUPPORT_POLICY.rst) for for details on the current suppor
11
13
## Getting Started
12
14
13
15
### Required Prerequisites
14
-
To use this SDK you must have:
16
+
To use the AWS Encryption SDK for Java you must have:
15
17
16
18
***A Java 8 or newer development environment**
17
19
@@ -29,29 +31,25 @@ To use this SDK you must have:
29
31
If you do not have Bouncy Castle, go to https://bouncycastle.org/latest_releases.html, then download the provider file that corresponds to your JDK.
30
32
Or, you can pick it up from Maven (groupId: `org.bouncycastle`, artifactId: `bcprov-ext-jdk15on`).
31
33
32
-
Beginning in version 1.6.1,
33
-
the AWS Encryption SDK also works with Bouncy Castle FIPS (groupId: `org.bouncycastle`, artifactId: `bc-fips`)
34
-
as an alternative to non-FIPS Bouncy Castle.
35
-
For help installing and configuring Bouncy Castle FIPS properly, see [BC FIPS documentation](https://www.bouncycastle.org/documentation.html),
36
-
in particular, **User Guides** and **Security Policy**.
34
+
Beginning in version 1.6.1, the AWS Encryption SDK for Java also works with Bouncy Castle FIPS (groupId: `org.bouncycastle`, artifactId: `bc-fips`)
35
+
as an alternative to non-FIPS Bouncy Castle. For help installing and configuring Bouncy Castle FIPS, see [BC FIPS documentation](https://www.bouncycastle.org/documentation.html), in particular, **User Guides** and **Security Policy**.
37
36
38
37
### Optional Prerequisites
39
38
40
39
#### AWS Integration
41
-
You don't need an Amazon Web Services (AWS) account to use this SDK, but some of the [example code][examples]requires an AWS account, a customer master key (CMK) in AWS KMS, and the AWS SDK for Java.
40
+
You don't need an Amazon Web Services (AWS) account to use the AWS Encryption SDK, but some of the [example code][examples]require an AWS account, an AWS KMS key, and the AWS SDK for Java 1.x. (The AWS Encryption SDK for Java does not support the AWS SDK for Java 2.x.)
42
41
43
42
***To create an AWS account**, go to [Sign In or Create an AWS Account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html) and then choose **I am a new user.** Follow the instructions to create an AWS account.
44
43
45
-
***To create a CMK in AWS KMS**, go to [Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) in the KMS documentation and then follow the instructions on that page.
44
+
***To create a symmetric encryption KMS key in AWS KMS**, see [Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
46
45
47
-
***To download and install the AWS SDK for Java**, go to [Installing the AWS SDK for Java](https://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-install-sdk.html) in the AWS SDK for Java documentation and then follow the instructions on that page.
46
+
***To download and install the AWS SDK for Java 1.x**, see [Installing the AWS SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html).
48
47
49
48
#### Amazon Corretto Crypto Provider
50
49
Many users find that the Amazon Corretto Crypto Provider (ACCP) significantly improves the performance of the AWS Encryption SDK.
51
-
For help installing and using ACCP, see the [ACCP GitHub Respository](https://github.com/corretto/amazon-corretto-crypto-provider) .
52
-
53
-
### Download
50
+
For help installing and using ACCP, see the [amazon-corretto-crypto-provider repository](https://github.com/corretto/amazon-corretto-crypto-provider).
54
51
52
+
### Download the AWS Encryption SDK for Java
55
53
You can get the latest release from Maven:
56
54
57
55
```xml
@@ -63,15 +61,14 @@ You can get the latest release from Maven:
63
61
```
64
62
65
63
### Get Started
64
+
To get started with the AWS Encryption SDK for Java
66
65
67
-
The following code sample demonstrates how to get started:
68
-
69
-
1. Instantiate the SDK.
66
+
1. Instantiate the AWS Encryption SDK.
70
67
2. Define the master key provider.
71
68
3. Encrypt and decrypt data.
72
69
73
70
```java
74
-
// This sample code encrypts and then decrypts a string using a KMS CMK.
71
+
// This sample code encrypts and then decrypts a string using an AWS KMS key.
75
72
// You provide the KMS key ARN and plaintext string as arguments.
0 commit comments