コードを使用して AWS CloudHSMCloudHsmProvider
クラスを設定する
クライアント SDK バージョン 5.8.0 以降では、Java コードを使用して AWS CloudHSM CloudHsmProvider
クラスを設定することもできます。そのための方法は、CloudHsmProviderConfig
クラスのオブジェクトを使用することです。CloudHsmProviderConfigBuilder
を使用してこのオブジェクトを構築することができます。
CloudHsmProvider
には、次の例のように、CloudHsmProviderConfig
オブジェクトを取得する別のコンストラクターがあります。
CloudHsmProviderConfig config = CloudHsmProviderConfig.builder() .withCluster( CloudHsmCluster.builder() .withHsmCAFilePath(hsmCAFilePath) .withClusterUniqueIdentifier("CloudHsmCluster1") .withServer(CloudHsmServer.builder().withHostIP(hostName).build()) .build()) .build(); CloudHsmProvider provider = new CloudHsmProvider(config);
この例では、JCE プロバイダー名は CloudHsmCluster1
で、アプリケーションが JCE とやり取りするときに使用できる名前です。
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", "CloudHsmCluster1");
あるいは、アプリケーションは上記で作成したプロバイダーオブジェクトを使用して、そのプロバイダーをオペレーションに使用することを JCE に知らせることもできます。
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", provider);
withClusterUniqueIdentifier
メソッドで一意の識別子が指定されていない場合は、ランダムに生成されたプロバイダー名が自動的に作成されます。このランダムに生成された識別子を取得するには、アプリケーションは provider.getName()
を呼び出して識別子を取得できます。