Client SDK 5 の AWS CloudHSM JCE プロバイダーをインストールして使用する - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Client SDK 5 の AWS CloudHSM JCE プロバイダーをインストールして使用する

JCE プロバイダーは、OpenJDK 8、OpenJDK 11、OpenJDK 17、および OpenJDK 21 と互換性があります。どちらも OpenJDK のウェブサイトからダウンロードできます。

注記

クライアント SDK 5 で単一の HSM クラスターを実行するには、まず disable_key_availability_checkTrue に設定してクライアントキーの耐久性の設定を管理する必要があります。詳細については、キーの同期クライアント SDK 5 設定ツール を参照してください。

JCE プロバイダーをインストールする

  1. 以下のコマンドを使用して、JCE プロバイダーをダウンロードし,インストールします。

    Amazon Linux 2

    Amazon Linux 2 用の JCE プロバイダーを x86_64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-jce-latest.el7.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el7.x86_64.rpm

    Amazon Linux 2 用の JCE プロバイダーを ARM64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-jce-latest.el7.aarch64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el7.aarch64.rpm
    Amazon Linux 2023

    Amazon Linux 2023 用の JCE プロバイダーを x86_64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Amzn2023/cloudhsm-jce-latest.amzn2023.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.amzn2023.x86_64.rpm

    Amazon Linux 2023 用の JCE プロバイダーを ARM64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Amzn2023/cloudhsm-jce-latest.amzn2023.aarch64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.amzn2023.aarch64.rpm
    CentOS 7 (7.8+)

    CentOS 7 用の JCE プロバイダーを x86_64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-jce-latest.el7.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el7.x86_64.rpm
    RHEL 7 (7.8+)

    RHEL 7 用の JCE プロバイダーを x86_64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-jce-latest.el7.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el7.x86_64.rpm
    RHEL 8 (8.3+)

    RHEL 8 用の JCE プロバイダーを x86_64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL8/cloudhsm-jce-latest.el8.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el8.x86_64.rpm
    RHEL 9 (9.2+)

    x86_64 アーキテクチャに RHEL 9 (9.2+) 用の JCE プロバイダーをインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL9/cloudhsm-jce-latest.el9.x86_64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el9.x86_64.rpm

    RHEL 9 (9.2+) 用の JCE プロバイダーを ARM64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL9/cloudhsm-jce-latest.el9.aarch64.rpm
    $ sudo yum install ./cloudhsm-jce-latest.el9.aarch64.rpm
    Ubuntu 20.04 LTS

    x86_64 アーキテクチャに Ubuntu 20.04 LTS 用の JCE プロバイダーをインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Focal/cloudhsm-jce_latest_u20.04_amd64.deb
    $ sudo apt install ./cloudhsm-jce_latest_u20.04_amd64.deb
    Ubuntu 22.04 LTS

    x86_64 アーキテクチャに Ubuntu 22.04 LTS 用の JCE プロバイダーをインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Jammy/cloudhsm-jce_latest_u22.04_amd64.deb
    $ sudo apt install ./cloudhsm-jce_latest_u22.04_amd64.deb

    Ubuntu 22.04 LTS 用の JCE プロバイダーを ARM64 アーキテクチャにインストールします。

    $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Jammy/cloudhsm-jce_latest_u22.04_arm64.deb
    $ sudo apt install ./cloudhsm-jce_latest_u22.04_arm64.deb
    Windows Server 2016

    x86_64 アーキテクチャに Windows Server 2016 用の JCE プロバイダーをインストールし、管理者 PowerShell として を開き、次のコマンドを実行します。

    PS C:\> wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Windows/AWSCloudHSMJCE-latest.msi -Outfile C:\AWSCloudHSMJCE-latest.msi
    PS C:\> Start-Process msiexec.exe -ArgumentList '/i C:\AWSCloudHSMJCE-latest.msi /quiet /norestart /log C:\client-install.txt' -Wait
    Windows Server 2019

    x86_64 アーキテクチャに Windows Server 2019 用の JCE プロバイダーをインストールし、管理者 PowerShell として を開き、次のコマンドを実行します。

    PS C:\> wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Windows/AWSCloudHSMJCE-latest.msi -Outfile C:\AWSCloudHSMJCE-latest.msi
    PS C:\> Start-Process msiexec.exe -ArgumentList '/i C:\AWSCloudHSMJCE-latest.msi /quiet /norestart /log C:\client-install.txt' -Wait
  2. Client SDK 5 をブートストラップします。ブートストラップの詳細については、クライアント SDK をブートストラップする を参照してください。

  3. 次の JCE プロバイダーファイルを見つけます。

    Linux
    • /opt/cloudhsm/java/cloudhsm-version.jar

    • /opt/cloudhsm/bin/configure-jce

    • /opt/cloudhsm/bin/jce-info

    Windows
    • C:\Program Files\Amazon\CloudHSM\java\cloudhsm-version.jar>

    • C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe

    • C:\Program Files\Amazon\CloudHSM\bin\jce_info.exe

JCE プロバイダーに認証情報を提供する

HSM では、Java アプリケーションが HSM を使用する前に、Java アプリケーションを認証する必要があります。HSM は、明示的なログインと暗黙的なログイン方法のいずれかを使用して認証します。

明示的なログイン - この方法では、 AWS CloudHSM 認証情報をアプリケーションに直接渡すことができます。CU ユーザー名とパスワードを PIN パターンで渡す AuthProvider を使用します。詳細については、「Login to an HSM」のコード例を参照してください。

暗黙的なログイン - この方法では、 AWS CloudHSM 認証情報を、新しいプロパティファイルまたはシステムプロパティで設定するか、環境変数として設定することができます。

  • System properties - アプリケーションの実行時に、システムプロパティを通して認証情報を設定します。次の例は、これを行うための 2 つの異なる方法を示しています。

    Linux
    $ java -DHSM_USER=<HSM user name> -DHSM_PASSWORD=<password>
    System.setProperty("HSM_USER","<HSM user name>"); System.setProperty("HSM_PASSWORD","<password>");
    Windows
    PS C:\> java -DHSM_USER=<HSM user name> -DHSM_PASSWORD=<password>
    System.setProperty("HSM_USER","<HSM user name>"); System.setProperty("HSM_PASSWORD","<password>");
  • Environment variables - 認証情報を環境変数として設定します。

    Linux
    $ export HSM_USER=<HSM user name> $ export HSM_PASSWORD=<password>
    Windows
    PS C:\> $Env:HSM_USER="<HSM user name>" PS C:\> $Env:HSM_PASSWORD="<password>"

アプリケーションで設定されない場合、または HSM でセッションを認証する前にユーザーが操作を行った場合は、認証情報を使用できない場合があります。このような場合は、Java 用の CloudHSM ソフトウェアライブラリによって、次の順序で認証情報が検索されます。

  1. システムプロパティ

  2. 環境変数

JCE プロバイダー中のキー管理の基本

JCE プロバイダー中のキー管理の基本には、キーのインポート、キーのエクスポート、ハンドルによるキーのロード、またはキーの削除などがあります。キーの管理の詳細については、「キーの管理」のサンプルコードを参照してください。

また、JCE プロバイダーののサンプルコードについては、コードサンプル で参照できます。