-
Notifications
You must be signed in to change notification settings - Fork 122
Update docs in prep for 1.6.1 #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
eb3083e
51586c9
de5976c
575228e
ab92b57
f8d07a0
14a68d3
e2a8e08
d82630a
239fa59
ff69afa
2dc1cc4
cf38324
e23ac0e
775bb03
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,26 +9,31 @@ For more details about the design and architecture of the SDK, see the [official | |
### Required Prerequisites | ||
To use this SDK you must have: | ||
|
||
* **A Java 8 development environment** | ||
* **A Java 8 or newer development environment** | ||
|
||
If you do not have one, go to [Java SE Downloads](https://www.oracle.com/technetwork/java/javase/downloads/index.html) on the Oracle website, then download and install the Java SE Development Kit (JDK). Java 8 or higher is required. | ||
If you do not have one, we recommend [Amazon Corretto](https://aws.amazon.com/corretto/). | ||
|
||
**Note:** If you use the Oracle JDK, you must also download and install the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html). | ||
|
||
* **Bouncy Castle** | ||
* **Bouncy Castle** or **Bouncy Castle FIPS** | ||
|
||
Bouncy Castle provides a cryptography API for Java. 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. Or, you can pick it up from Maven: | ||
The AWS Encryption SDK for Java uses Bouncy Castle to serialize and deserialize cryptographic objects. | ||
It does not explicitly use Bouncy Castle (or any other [JCA Provider](https://docs.oracle.com/javase/8/docs/api/java/security/Provider.html)) for the underlying cryptography. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "explicitly use?" Do we use anything implicitly? Or: It does not require Bouncy Castle (or ...). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We do not specify the provider and thus receive the highest priority implementation from the JCA. We could explicitly request a provider (or explicitly use provider specific classes), in which case only that explicit provider could/would be used. We don't know (or care) which provider we are using any more. It might be Bouncy Castle (if our callers have configured that to be the default), it might by the SUN provider (from Java), it might be ACCP. |
||
Instead, it uses the platform default, which you can configure or override as documented in the | ||
[Java Cryptography Architecture (JCA) Reference Guide](https://docs.oracle.com/javase/9/security/java-cryptography-architecture-jca-reference-guide.htm#JSSEC-GUID-2BCFDD85-D533-4E6C-8CE9-29990DEB0190). | ||
|
||
```xml | ||
<dependency> | ||
<groupId>org.bouncycastle</groupId> | ||
<artifactId>bcprov-ext-jdk15on</artifactId> | ||
<version>1.61</version> | ||
</dependency> | ||
``` | ||
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. | ||
Or, you can pick it up from Maven (groupId: `org.bouncycastle`, artifactId: `bcprov-ext-jdk15on`). | ||
|
||
Beginning in version 1.6.1, | ||
the AWS Encryption SDK also works with Bouncy Castle FIPS (groupId: `org.bouncycastle`, artifactId: `bc-fips`) | ||
as an alternative to non-FIPS Bouncy Castle. | ||
For help installing and configuring Bouncy Castle FIPS properly, see [BC FIPS documentation](https://www.bouncycastle.org/documentation.html), | ||
in particular, **User Guides** and **Security Policy**. | ||
|
||
### Optional Prerequisites | ||
|
||
#### AWS Integration | ||
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. | ||
|
||
* **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. | ||
|
@@ -37,6 +42,10 @@ You don't need an Amazon Web Services (AWS) account to use this SDK, but some of | |
|
||
* **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. | ||
|
||
#### Amazon Corretto Crypto Provider | ||
Many users find that the Amazon Corretto Crypto Provider (ACCP) significantly improves the performance of the AWS Encryption SDK. | ||
For help installing and using ACCP, see the [ACCP GitHub Respository](https://github.com/corretto/amazon-corretto-crypto-provider) . | ||
|
||
### Download | ||
|
||
You can get the latest release from Maven: | ||
|
@@ -45,29 +54,10 @@ You can get the latest release from Maven: | |
<dependency> | ||
<groupId>com.amazonaws</groupId> | ||
<artifactId>aws-encryption-sdk-java</artifactId> | ||
<version>1.6.0</version> | ||
<version>1.6.1</version> | ||
</dependency> | ||
``` | ||
|
||
Don't forget to enable the download of snapshot jars from Maven: | ||
|
||
```xml | ||
<profiles> | ||
<profile> | ||
<id>allow-snapshots</id> | ||
<activation><activeByDefault>true</activeByDefault></activation> | ||
<repositories> | ||
<repository> | ||
<id>snapshots-repo</id> | ||
<url>https://oss.sonatype.org/content/repositories/snapshots</url> | ||
<releases><enabled>false</enabled></releases> | ||
<snapshots><enabled>true</enabled></snapshots> | ||
</repository> | ||
</repositories> | ||
</profile> | ||
</profiles> | ||
``` | ||
|
||
### Get Started | ||
|
||
The following code sample demonstrates how to get started: | ||
|
Uh oh!
There was an error while loading. Please reload this page.