安装并使用客户端 SDK 5 的 AWS CloudHSM JCE 提供程序 - AWS CloudHSM

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安装并使用客户端 SDK 5 的 AWS CloudHSM JCE 提供程序

JCE 提供程序与 OpenJDK 8、OpenJDK 11、OpenJDK 17 和 OpenJDK 21 兼容。您可以从 OpenJDK 网站下载两者。

注意

要使用客户端软件开发工具包 5 运行单个 HSM 集群,必须首先通过将 disable_key_availability_check 设置为 True,以管理客户端密钥持久性设置。有关更多信息,请参阅密钥同步客户端软件开发工具包 5 配置工具

安装 JCE 提供程序

  1. 使用以下命令下载和安装 JCE 提供程序。

    Amazon Linux 2

    在 x86_64 架构上安装适用于亚马逊 Linux 2 的 JCE 提供程序:

    $ 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

    在 ARM64 架构上安装适用于亚马逊 Linux 2 的 JCE 提供程序:

    $ 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

    在 x86_64 架构上安装适用于亚马逊 Linux 2023 的 JCE 提供程序:

    $ 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

    在 ARM64 架构上安装适用于亚马逊 Linux 2023 的 JCE 提供程序:

    $ 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+)

    在 x86_64 架构上安装 CentOS 7 的 JCE 提供程序:

    $ 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+)

    在 x86_64 架构上安装 RHEL 7 的 JCE 提供程序:

    $ 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+)

    在 x86_64 架构上安装 RHEL 8 的 JCE 提供程序:

    $ 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

    在 ARM64 架构上安装 RHEL 9 (9.2+) 的 JCE 提供程序:

    $ 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

    在 ARM64 架构上安装 Ubuntu 22.04 LTS 的 JCE 提供程序:

    $ 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. 引导客户端软件开发工具包 5。有关引导程序的更多信息,请参阅 引导客户端软件开发工具包

  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 应用程序,之后您的 Java 应用程序才能使用 HSM。HSM 使用显式登录或隐式登录方法来进行验证。

显式登录:此方法可让您直接在应用程序中提供 AWS CloudHSM 凭证。它使用 AuthProvider 中的方法,以 PIN 模式传入 CU 用户名和密码。有关更多信息,请参阅登录 HSM 代码示例。

隐式登录:此方法可让您在新属性文件或系统属性中设置 AWS CloudHSM 凭证,或将该凭证设置为环境变量。

  • 系统属性:在运行应用程序时通过系统属性设置凭证。以下示例演示了可执行此操作的两种不同方式:

    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>");
  • 环境变量:将凭证设置为环境变量。

    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 提供程序代码示例。