diff --git a/README.md b/README.md index 587099702..2c0f6ab14 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ For more details about the design and architecture of the AWS Encryption SDK, se [Security issue notifications](./CONTRIBUTING.md#security-issue-notifications) -See [Support Policy](./SUPPORT_POLICY.rst) for for details on the current support status of all major versions of this library. +See [Support Policy](./SUPPORT_POLICY.rst) for details on the current support status of all major versions of this library. ## Getting Started @@ -37,12 +37,14 @@ To use the AWS Encryption SDK for Java you must have: ### Optional Prerequisites #### AWS Integration -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.) +You don't need an Amazon Web Services (AWS) account to use the AWS Encryption SDK, but some [example code][examples] require an AWS account, an AWS KMS key, and the AWS SDK for Java (either 1.x or 2.x). Note that the `KmsAsyncClient` is not supported, only the synchronous client. * **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. * **To create a symmetric encryption KMS key in AWS KMS**, see [Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html). +* **To download and install the AWS SDK for Java 2.x**, see [Installing the AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/getting-started.html). + * **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). #### Amazon Corretto Crypto Provider @@ -133,7 +135,7 @@ public class StringExample { } ``` -You can find more examples in the [examples directory][examples]. +You can find more examples in the [example directory][examples]. ## Public API diff --git a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/AwsKmsMrkAwareMasterKeyProvider.java b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/AwsKmsMrkAwareMasterKeyProvider.java index 468130db2..0fcbef2e9 100644 --- a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/AwsKmsMrkAwareMasterKeyProvider.java +++ b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/AwsKmsMrkAwareMasterKeyProvider.java @@ -109,6 +109,9 @@ public Builder discoveryMrkRegion(Region discoveryMrkRegion) { * #builderSupplier(Supplier)}; if you try to use these in combination, an {@link * IllegalStateException} will be thrown. * + *

Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} + * interface. + * * @see KmsMasterKeyProvider.Builder#customRegionalClientSupplier(RegionalClientSupplier) */ public Builder customRegionalClientSupplier(RegionalClientSupplier regionalClientSupplier) { @@ -125,6 +128,9 @@ public Builder customRegionalClientSupplier(RegionalClientSupplier regionalClien * KmsClientBuilder} to configure KMS clients. Note that the region set on this builder will be * ignored, but all other settings will be propagated into the regional clients. * + *

Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} + * interface. + * * @see KmsMasterKeyProvider.Builder#builderSupplier(Supplier) */ public Builder builderSupplier(Supplier supplier) { diff --git a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/KmsMasterKeyProvider.java b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/KmsMasterKeyProvider.java index 0203a3326..50923113e 100644 --- a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/KmsMasterKeyProvider.java +++ b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/KmsMasterKeyProvider.java @@ -89,6 +89,9 @@ public Builder defaultRegion(Region defaultRegion) { * #builderSupplier(Supplier)}; if you try to use these in combination, an {@link * IllegalStateException} will be thrown. * + *

Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} + * interface. + * * @param regionalClientSupplier * @return */ @@ -110,6 +113,9 @@ public Builder customRegionalClientSupplier(RegionalClientSupplier regionalClien * #customRegionalClientSupplier(RegionalClientSupplier)} will cause an {@link * IllegalStateException} to be thrown. * + *

Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} + * interface. + * * @param supplier Should return a new {@link KmsClientBuilder} on each invocation. * @return */ diff --git a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/RegionalClientSupplier.java b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/RegionalClientSupplier.java index 0716aea1e..0c5ecef8f 100644 --- a/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/RegionalClientSupplier.java +++ b/src/main/java/com/amazonaws/encryptionsdk/kmssdkv2/RegionalClientSupplier.java @@ -9,6 +9,8 @@ public interface RegionalClientSupplier { * Supplies an {@link KmsClient} instance to use for a given {@link Region}. The {@link * KmsMasterKeyProvider} will not cache the result of this function. * + *

Note: The AWS Encryption SDK for Java does not support the {@code KmsAsyncClient} interface. + * * @param region The region to get a client for * @return The client to use, or null if this region cannot or should not be used. */