

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

# 使用代码配置 AWS CloudHSM `CloudHsmProvider` 类
<a name="java-lib-configs-using-code"></a>

从客户端 SDK 版本 5.8.0 开始，您还可以使用 Java 代码配置该 AWS CloudHSM `CloudHsmProvider`类。做到这一点的方法是使用 `CloudHsmProviderConfig` 类的对象。您可以使用 `CloudHsmProviderConfigBuilder` 构建此对象。

`CloudHsmProvider` 还有另一个接受 `CloudHsmProviderConfig` 对象的构造函数，如以下示例所示。

**Example**  

```
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 交互的名称：

**Example**  

```
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", "CloudHsmCluster1");
```

或者应用程序也可以使用上面创建的提供程序对象让 JCE 知道要使用该提供程序进行操作：

```
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", provider);
```

如果未在 `withClusterUniqueIdentifier` 方法中指定唯一标识符，则会为您创建一个随机生成的提供程序名称。要获取这个随机生成的标识符，应用程序可以调用 `provider.getName()` 获取该标识符。