

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

# 使用客户端 SDK 5 AWS CloudHSM 与 Java Keytool 和 Jarsigner 集成的先决条件
<a name="keystore-prerequisites_5"></a>

要使用 AWS CloudHSM 密钥库，必须先初始化并配置 AWS CloudHSM JCE SDK。请按照以下步骤进行操作。

## 步骤 1：安装 JCE
<a name="prereq-step-one_5"></a>

要安装 JCE，包括 AWS CloudHSM 客户端先决条件，请按照[安装 Java 库](java-library-install_5.md)的步骤进行操作。

## 步骤 2：将 HSM 登录凭证添加到环境变量
<a name="prereq-step-two_5"></a>

设置环境变量以包含 HSM 登录凭证。

------
#### [ Linux ]

```
$ export HSM_USER=<HSM user name>
```

```
$ export HSM_PASSWORD=<HSM password>
```

------
#### [ Windows ]

```
PS C:\> $Env:HSM_USER=<HSM user name>
```

```
PS C:\> $Env:HSM_PASSWORD=<HSM password>
```

------

**注意**  
 AWS CloudHSM JCE 提供各种登录选项。要在第三方应用程序中使用 AWS CloudHSM 密钥库，必须使用带环境变量的隐式登录。如果要通过应用程序代码使用显式登录，则必须使用 AWS CloudHSM 密钥库构建自己的应用程序。有关更多信息，请参阅有关[使用 AWS CloudHSM 密钥库](alternative-keystore_5.md)的文章。

## 步骤 3：注册 JCE 提供程序
<a name="prereq-step-three_5"></a>

要在 Java CloudProvider 配置中注册 JCE 提供程序，请执行以下步骤：

1. 在 Java 安装中打开 `java.security` 配置文件进行编辑。

1. 在 `java.security` 配置文件中，添加 `com.amazonaws.cloudhsm.jce.provider.CloudHsmProvider` 作为最后一个提供程序。例如，如果 `java.security` 文件中有 9 个提供程序，则将以下提供程序添加为本节中的最后一个提供程序：

   `security.provider.10=com.amazonaws.cloudhsm.jce.provider.CloudHsmProvider`

**注意**  
将 AWS CloudHSM 提供商添加为更高的优先级可能会对系统的性能产生负面影响，因为对于可以安全地卸载到软件的操作，将优先考虑 AWS CloudHSM 提供商。作为最佳实践，请**务必**指定要用于操作的提供商，无论是基于软件的提供商还是基于软件的提供商。 AWS CloudHSM 

**注意**  
在使用带有 AWS CloudHSM 密钥库的 **keytool** 生成密钥时指定 `-providerName`、`-providerclass` 和 `-providerpath` 命令行选项可能会导致错误。