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 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.
*/