本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 JAVA 的 AWS Encryption SDK
本主題說明如何安裝及使用 適用於 JAVA 的 AWS Encryption SDK。如需使用 進行程式設計的詳細資訊 適用於 JAVA 的 AWS Encryption SDK,請參閱 GitHub 上的 aws-encryption-sdk-java
先決條件
安裝 之前 適用於 JAVA 的 AWS Encryption SDK,請確定您具備下列先決條件。
- Java 開發環境
-
您會需要 Java 8 或更新版本。在 Oracle 網站上,移至 Java SE 下載
,然後下載並安裝 Java SE 開發套件 (JDK)。 如果您使用 Oracle JDK,您還必須下載並安裝 Java Cryptography Extension (JCE) Unlimited Strength 管轄權政策檔案
。 - Bouncy Castle
-
適用於 JAVA 的 AWS Encryption SDK 需要 Bouncy Castle
。 -
適用於 JAVA 的 AWS Encryption SDK 1.6.1 版和更新版本使用 Bouncy Castle 來序列化和還原序列化密碼編譯物件。您可以使用 Bouncy Castle 或 Bouncy Castle FIPS
來滿足此要求。如需安裝和設定 Bouncy Castle FIPS 的說明,請參閱 BC FIPS 文件 ,尤其是使用者指南和安全性原則 PDF。 -
舊版 適用於 JAVA 的 AWS Encryption SDK 使用 Bouncy Castle 的 Java 加密 API。只有非 FIPS Bouncy Castle 才能滿足此要求。
如果您沒有 Bouncy Castle,請前往下載 Bouncy Castle for Java
下載對應至 JDK 的提供者檔案。您也可以使用 Apache Maven 來取得標準 Bouncy Castle 提供者 (bcprov-ext-jdk15on ) 的成品或 Bouncy Castle FIPS (bc-fips ) 的成品。 -
- AWS SDK for Java
-
的 3.x 版 適用於 JAVA 的 AWS Encryption SDK 需要 AWS SDK for Java 2.x,即使您不使用 AWS KMS keyring。
2.x 版或更早版本的 適用於 JAVA 的 AWS Encryption SDK 不需要 AWS SDK for Java。不過, AWS SDK for Java 必須使用 AWS Key Management Service
(AWS KMS) 做為主金鑰提供者。從 2.4.0 適用於 JAVA 的 AWS Encryption SDK 版開始, 適用於 JAVA 的 AWS Encryption SDK 支援 1.x 和 2.x 版的 AWS SDK for Java 1.x 和 2.x 版的 AWS SDK for Java AWS Encryption SDK 1.x 和 2.x 可互通。例如,您可以使用支援 AWS SDK for Java 1.x 的 AWS Encryption SDK 程式碼來加密資料,並使用支援 的程式碼來解密資料 AWS SDK for Java 2.x (反之亦然)。2.4.0 適用於 JAVA 的 AWS Encryption SDK 之前的版本僅支援 AWS SDK for Java 1.x。如需更新 版本的相關資訊 AWS Encryption SDK,請參閱 遷移您的AWS Encryption SDK。 將 適用於 JAVA 的 AWS Encryption SDK 程式碼從 AWS SDK for Java 1.x 更新為 時 AWS SDK for Java 2.x,請將 AWS SDK for Java 1.x 中的
AWSKMS
介面參考取代為 中的KmsClient
介面參考 AWS SDK for Java 2.x。 適用於 JAVA 的 AWS Encryption SDK 不支援 KmsAsyncClient
介面。此外,更新您的程式碼,以使用 kmssdkv2
命名空間中的 AWS KMS相關物件,而非kms
命名空間。若要安裝 AWS SDK for Java,請使用 Apache Maven。
-
若要匯入整個 AWS SDK for Java 作為相依性,請在
pom.xml
檔案中宣告它。 -
若要僅針對 in AWS SDK for Java 1.x 中的 AWS KMS 模組建立相依性,請遵循指定特定模組的指示,並將
artifactId
設定為aws-java-sdk-kms
。 -
若要僅針對 in AWS SDK for Java 2.x 中的 AWS KMS 模組建立相依性,請遵循指定特定模組的指示。將
groupId
設定為software.amazon.awssdk
,將artifactId
設定為kms
。
如需更多變更,請參閱《 AWS SDK for Java 2.x 開發人員指南》中的 AWS SDK for Java 1.x 和 2.x 之間的差異。
AWS Encryption SDK 開發人員指南中的 Java 範例使用 AWS SDK for Java 2.x。
-
安裝
安裝最新版本的 適用於 JAVA 的 AWS Encryption SDK。
注意
所有 適用於 JAVA 的 AWS Encryption SDK 早於 2.0.0 的 版本都處於end-of-support階段。
您可以安全地從 2.0.x 版和更新版本更新到最新版本的 , 適用於 JAVA 的 AWS Encryption SDK 而不需要任何程式碼或資料變更。不過,2.0.x 版中引入的新安全功能與回溯不相容。若要從 1.7.x 之前的版本更新至 2.0.x 版及更新版本,您必須先更新至最新的 1 AWS Encryption SDK.x 版本。如需詳細資訊,請參閱 遷移您的AWS Encryption SDK。
您可以透過 適用於 JAVA 的 AWS Encryption SDK 下列方式安裝 。
- 手動
-
若要安裝 適用於 JAVA 的 AWS Encryption SDK,請複製或下載 aws-encryption-sdk-java
GitHub 儲存庫。 - 使用 Apache Maven
-
適用於 JAVA 的 AWS Encryption SDK 可透過 Apache Maven
使用,並具有下列相依性定義。 <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-encryption-sdk-java</artifactId> <version>3.0.0</version> </dependency>
安裝軟體開發套件之後,請先查看本指南中的範例 Java 程式碼和 GitHub 上的 Javadoc