Skip to content

Commit bd44c54

Browse files
committed
Update README file
1 parent 1b1813d commit bd44c54

File tree

1 file changed

+47
-10
lines changed

1 file changed

+47
-10
lines changed

README.md

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AWS Encryption SDK for Java
22

3-
The AWS Encryption SDK enables secure client-side encryption by using 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, so you don't need to keep track of the DEKs for your data. The SDK supports master keys in the [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS 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].
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://awslabs.github.io/aws-encryption-sdk-java/javadoc/).
44

55
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/).
66

@@ -9,23 +9,60 @@ For more details about the design and architecture of the SDK, see the [official
99
### Required Prerequisites
1010
To use this SDK you must have:
1111

12-
* **A Java development environment**
13-
If you do not have one, go to [Java SE Downloads](https://www.oracle.com/technetwork/java/javase/downloads/index.html) and then download and install the Java SE Development Kit (JDK).
12+
* **A Java 8 development environment**
13+
If you do not have one, go to [Java SE Downloads](https://www.oracle.com/technetwork/java/javase/downloads/index.html) and then download and install the Java SE Development Kit (JDK). Java 8 or higher is recommended.
1414

1515
* **Bouncy Castle**
16-
Bouncy Castle provides a cryptography API for Java. If you do not have Bouncy Castle, go to https://bouncycastle.org/latest_releases.html and then download the provider file that corresponds to your JDK.
16+
Bouncy Castle provides a cryptography API for Java. If you do not have Bouncy Castle, go to https://bouncycastle.org/latest_releases.html and then download the provider file that corresponds to your JDK. Or, you can pick it up from Maven:
17+
18+
```xml
19+
<dependency>
20+
<groupId>org.bouncycastle</groupId>
21+
<artifactId>bcprov-ext-jdk15on</artifactId>
22+
<version>1.54</version>
23+
</dependency>
24+
```
1725

1826
### Optional Prerequisites
1927

2028
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.
2129

22-
* **To sign up for AWS**, go to [Sign In or Create an AWS Account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html) and choose **I am a new user.** Follow the instructions to sign up and create an AWS account.
30+
* **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 choose **I am a new user.** Follow the instructions to create an AWS account.
2331

2432
* **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.
2533

26-
* **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 Developer Guide* and then follow the instructions on that page.
34+
* **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.
35+
36+
### Download
37+
38+
You can get the latest release from Maven:
2739

28-
### Download the SDK
40+
```xml
41+
<dependency>
42+
<groupId>com.amazonaws</groupId>
43+
<artifactId>aws-encryption-sdk-java</artifactId>
44+
<version>0.0.1-SNAPSHOT</version>
45+
</dependency>
46+
```
47+
48+
Don't forget to enable the download of snapshot jars from Maven:
49+
50+
```xml
51+
<profiles>
52+
<profile>
53+
<id>allow-snapshots</id>
54+
<activation><activeByDefault>true</activeByDefault></activation>
55+
<repositories>
56+
<repository>
57+
<id>snapshots-repo</id>
58+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
59+
<releases><enabled>false</enabled></releases>
60+
<snapshots><enabled>true</enabled></snapshots>
61+
</repository>
62+
</repositories>
63+
</profile>
64+
</profiles>
65+
```
2966

3067
### Get Started
3168

@@ -36,7 +73,7 @@ The following code sample demonstrates how to get started:
3673
3. Encrypt and decrypt data
3774

3875
```java
39-
// This sample code encrypts and then decrypts a string using a KMS master key.
76+
// This sample code encrypts and then decrypts a string using a KMS CMK.
4077
// You provide the KMS key ARN and plaintext string as arguments.
4178
package com.amazonaws.crypto.examples;
4279

@@ -95,10 +132,10 @@ public class StringExample {
95132
}
96133
```
97134

98-
For more examples, look in the [examples directory][examples].
135+
More examples are available in the [examples directory][examples].
99136

100137
## FAQ
101138

102139
See the [Frequently Asked Questions](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/faq.html) page in the official documentation.
103140

104-
[examples]: examples/com/amazonaws/crypto/examples/
141+
[examples]: https://github.com/awslabs/aws-encryption-sdk-java/tree/master/src/examples/java/com/amazonaws/crypto/examples

0 commit comments

Comments
 (0)