本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在此程序中,為 AWS 通用執行期 HTTP 用戶端新增 Maven 相依性。接下來,設定偏好後量子 TLS 的 HTTP 用戶端。然後,建立使用 HTTP AWS KMS 用戶端的用戶端。
若要查看設定與搭配 AWS KMS使用混合式後量子 TLS 的完整可用範例,請參閱 aws-kms-pq-tls-example
注意
已作為預覽版提供的 AWS 通用執行期 HTTP 用戶端,已於 2023 年 2 月正式推出。在該版本中,tlsCipherPreference
類別和 tlsCipherPreference()
方法參數由 postQuantumTlsEnabled()
方法參數取代。如果您在預覽期間使用此範例,則需要更新程式碼。
-
將 AWS Common Runtime 用戶端新增至 Maven 相依性。我們建議使用最新的可用版本。
例如,此陳述式會將
2.30.22
版本的 AWS Common Runtime 用戶端新增至您的 Maven 相依性。<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.30.22</version> </dependency>
-
若要啟用混合式後量子密碼套件,請將 AWS SDK for Java 2.x 新增至您的專案並初始化。然後如下列範例所示在 HTTP 用戶端啟用混合式後量子密碼套件。
此程式碼使用
postQuantumTlsEnabled()
方法參數來設定AWS 常用的執行期 HTTP 用戶端,其偏好建議的混合量子後密碼套件 ECDH 搭配 ML-KEM。然後,它會使用設定的 HTTP 用戶端來建置 AWS KMS 非同步用戶端的執行個體KmsAsyncClient
。完成此程式碼之後, KmsAsyncClient
執行個體上的所有 AWS KMS API 請求都會使用混合式後量子 TLS。// Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build();
-
使用混合量子後 TLS 測試您的 AWS KMS 呼叫。
當您在已設定的 AWS KMS 用戶端上呼叫 AWS KMS API 操作時,您的呼叫會使用混合量子後 TLS 傳輸至 AWS KMS 端點。若要測試您的組態,請呼叫 AWS KMS API,例如
ListKeys
。ListKeysReponse keys = kmsAsync.listKeys().get();
測試您的混合後量子 TLS 組態
請考慮在呼叫 的應用程式上使用混合密碼套件執行下列測試 AWS KMS。
-
執行負載測試和基準測試。混合式密碼套件的執行方式不同於傳統的金鑰交換演算法。您可能需要調整連線逾時,以允許較長的交握時間。如果您在 AWS Lambda 函數中執行,請延長執行逾時設定。
-
請嘗試從不同位置進行連線。視您請求佔用的網路路徑而定,您必須探索中繼主機、代理或採用深層封包檢查 (DPI) 的防火牆是否封鎖請求。這可能是因使用 TLS ClientHello
部分中的新加密套件所導致,或因大型金要交換訊息所導致。如果您解決這些問題的能力有限,請與您的安全團隊或 IT 管理員合作,以更新相關組態並解除對於新 TLS 密碼套件的封鎖。