

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

# 适用于 AWS CloudHSM 客户端 SDK 的 OpenSSL 提供商 5
<a name="openssl-provider-library"></a>

 AWS CloudHSM OpenSSL 提供程序允许您通过 OpenSSL 提供程序 API 将 TLS 加密操作卸载到您的 CloudHSM 集群。对于使用 OpenSSL 3.2 及更高版本的新部署，推荐使用提供者接口。

使用以下各节使用客户端 SDK 5 安装和配置 AWS CloudHSM OpenSSL 提供程序。

**警告**  
 OpenSSL 提供商目前不支持与 OpenSSL AWS CloudHSM CLI 集成。[AWS CloudHSM 使用 NGINX 或 OpenSSL 提供程序在 Linux 上卸载 SSL/TLS HAProxy](third-offload-linux-openssl-provider.md)有关支持的集成，请参阅。

## 支持的平台
<a name="openssl-provider-supported-platforms"></a>

OpenSSL 提供商需要 OpenSSL 3.2 或更高版本，可在\$1、Ubuntu 24.04\$1和亚马逊 Linux 2023 EL9 \$1 上使用。

验证兼容性：`openssl version`

**Topics**
+ [

## 支持的平台
](#openssl-provider-supported-platforms)
+ [

# 安装适用于 AWS CloudHSM 客户端 SDK 的 OpenSSL 提供程序 5
](openssl-provider-install.md)
+ [

# 适用于 AWS CloudHSM 客户端 SDK 的 OpenSSL 提供程序支持的密钥类型 5
](openssl-provider-key-types.md)
+ [

# OpenSSL 提供程序支持的机制
](openssl-provider-mechanisms.md)
+ [

# OpenSSL 提供程序高级配置
](openssl-provider-advanced-config.md)

# 安装适用于 AWS CloudHSM 客户端 SDK 的 OpenSSL 提供程序 5
<a name="openssl-provider-install"></a>

使用以下部分安装适用于 AWS CloudHSM 客户端软件开发工具包 5 的 OpenSSL 提供商。

**注意**  
要使用客户端软件开发工具包 5 运行单个 HSM 集群，必须首先通过将 `disable_key_availability_check` 设置为 `True`，以管理客户端密钥持久性设置。有关更多信息，请参阅[密钥同步](working-client-sync.md#client-sync-sdk8)和[客户端软件开发工具包 5 配置工具](configure-sdk-5.md)。

## 要求
<a name="openssl-provider-cluster-requirements"></a>

OpenSSL 提供程序需要 **hsm2m.medium 集群类型和最低的 CloudHSM 客户端 SDK 版本 5.17.** 0 或更高版本。

## 安装 OpenSSL 提供程序
<a name="openssl-provider-install-steps"></a>

**安装 OpenSSL 提供程序**

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

------
#### [ Amazon Linux 2023 ]

   在 x86\$164 架构上安装适用于亚马逊 Linux 2023 的 OpenSSL 提供程序：

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Amzn2023/cloudhsm-openssl-provider-latest.amzn2023.x86_64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.amzn2023.x86_64.rpm
   ```

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

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Amzn2023/cloudhsm-openssl-provider-latest.amzn2023.aarch64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.amzn2023.aarch64.rpm
   ```

------
#### [ RHEL 9 (9.2\$1) ]

   在 x86\$164 架构上安装适用于 RHEL 9 的 OpenSSL 提供程序：

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL9/cloudhsm-openssl-provider-latest.el9.x86_64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.el9.x86_64.rpm
   ```

   在架构上安装适用于 RHEL 9 的 OpenSSL 提供程序： ARM64 

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL9/cloudhsm-openssl-provider-latest.el9.aarch64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.el9.aarch64.rpm
   ```

------
#### [ RHEL 10 (10.0\$1) ]

   在 x86\$164 架构上安装适用于 RHEL 10 的 OpenSSL 提供程序：

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL10/cloudhsm-openssl-provider-latest.el10.x86_64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.el10.x86_64.rpm
   ```

   在架构上安装适用于 RHEL 10 的 OpenSSL 提供程序： ARM64 

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL10/cloudhsm-openssl-provider-latest.el10.aarch64.rpm
   ```

   ```
   $ sudo yum install ./cloudhsm-openssl-provider-latest.el10.aarch64.rpm
   ```

------
#### [ Ubuntu 24.04 ]

   在 x86\$164 架构上安装适用于 Ubuntu 24.04 的 OpenSSL 提供程序：

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Noble/cloudhsm-openssl-provider_latest_u24.04_amd64.deb
   ```

   ```
   $ sudo dpkg -i ./cloudhsm-openssl-provider_latest_u24.04_amd64.deb
   ```

   在架构上安装适用于 Ubuntu 24.04 的 OpenSSL 提供程序： ARM64 

   ```
   $ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Noble/cloudhsm-openssl-provider_latest_u24.04_arm64.deb
   ```

   ```
   $ sudo dpkg -i ./cloudhsm-openssl-provider_latest_u24.04_arm64.deb
   ```

------

   您已在以下位置安装了 OpenSSL 提供程序的共享库。`/opt/cloudhsm/lib/licloudhsm_openssl_provider.so`

1. 引导客户端软件开发工具包 5。有关引导程序的更多信息，请参阅 [引导客户端软件开发工具包](cluster-connect.md#connect-how-to)。

1. 使用您的加密用户 (CU) 凭据设置`CLOUDHSM_PIN`环境变量：

   ```
   $ export CLOUDHSM_PIN=<username>:<password>
   ```

1. 将安装的 OpenSSL 提供程序连接到集群。有关更多信息，请参阅[连接至集群](cluster-connect.md)。

## 验证安装
<a name="openssl-provider-verify-installation"></a>

验证 OpenSSL 提供程序是否已正确安装：

```
$ CLOUDHSM_PIN=<username>:<password> openssl list -providers -provider cloudhsm
```

您应该看到类似于以下内容的输出：

```
Providers:
  cloudhsm
    name: AWS CloudHSM OpenSSL Provider
    version: 5.17.0
    status: active
  default
    name: OpenSSL Default Provider
    version: 3.2.2
    status: active
```

# 适用于 AWS CloudHSM 客户端 SDK 的 OpenSSL 提供程序支持的密钥类型 5
<a name="openssl-provider-key-types"></a>

 AWS CloudHSM OpenSSL 提供程序通过客户端 SDK 5 支持以下密钥类型。


****  

| 密钥类型 | 说明 | 
| --- | --- | 
| RSA | RSA sign/verify 和非对称加密操作。验证已分流至 OpenSSL 软件。要生成可与 OpenSSL 提供程序互操作的 RSA 密钥，请参阅。[使用 CloudHSM CLI 导出非对称密钥](cloudhsm_cli-key-generate-file.md) | 
| EC | P-256、P-384 和 P-521 曲线的 ECDSA sign/verify 。验证已分流至 OpenSSL 软件。要生成可与 OpenSSL 提供程序互操作的 EC 密钥，请参阅。[使用 CloudHSM CLI 导出非对称密钥](cloudhsm_cli-key-generate-file.md) | 

# OpenSSL 提供程序支持的机制
<a name="openssl-provider-mechanisms"></a>

AWS CloudHSM OpenSSL Provider SDK 支持用于各种操作的一整套加密机制，包括数字签名、非对称加密、对称加密、密钥交换等。

## RSA 签名类型
<a name="openssl-provider-rsa-signatures"></a>

OpenSSL 提供程序支持使用多种哈希算法和填充方案的 RSA 数字签名：

SHA1withRSA  
采用 SHA-1 哈希算法的 RSA 签名  
+ PKCS \$11 v1.5 填充
+ PSS（概率签名方案）填充

SHA224withRSA  
采用 SHA-224 哈希算法的 RSA 签名  
+ PKCS \$11 v1.5 填充
+ PSS 填充

SHA256withRSA  
采用 SHA-256 哈希算法的 RSA 签名  
+ PKCS \$11 v1.5 填充
+ PSS 填充

SHA384withRSA  
采用 SHA-384 哈希算法的 RSA 签名  
+ PKCS \$11 v1.5 填充
+ PSS 填充

SHA512withRSA  
采用 SHA-512 哈希算法的 RSA 签名  
+ PKCS \$11 v1.5 填充
+ PSS 填充

## ECDSA 签名类型
<a name="openssl-provider-ecdsa-signatures"></a>

OpenSSL 提供程序支持使用多种哈希算法的 ECDSA 数字签名：

SHA1withECDSA  
采用 SHA-1 哈希算法的 ECDSA 签名

SHA224withECDSA  
采用 SHA-224 哈希算法的 ECDSA 签名

SHA256withECDSA  
采用 SHA-256 哈希算法的 ECDSA 签名

SHA384withECDSA  
采用 SHA-384 哈希算法的 ECDSA 签名

SHA512withECDSA  
采用 SHA-512 哈希算法的 ECDSA 签名

# OpenSSL 提供程序高级配置
<a name="openssl-provider-advanced-config"></a>

AWS CloudHSM OpenSSL 提供商软件开发工具包提供了高级配置选项，可针对不同的用例和环境自定义其行为。使用配置工具来设置这些选项。
+ [重试 OpenSSL 提供程序的配置](openssl-provider-configs-retry.md)

# 重试适用于 OpenSSL 提供程序的命令 AWS CloudHSM
<a name="openssl-provider-configs-retry"></a>

AWS CloudHSM 客户端 SDK 5.8.0 及更高版本具有内置的自动重试策略，该策略将从客户端重试 HSM 限制的操作。当 HSM 因忙于执行之前的操作而无法接受更多请求而限制操作时，客户端 SDKs 将尝试重试受限制的操作最多 3 次，同时呈指数级退缩。这种自动重试策略可设置为以下两种模式之一：**关闭**和**标准**。
+ **关闭**：客户端软件开发工具包 不会对 HSM 的任何节流操作执行任何重试策略。
+ **标准**：这是客户端软件开发工具包版本 5.8.0 及更高版本的默认模式。在此模式下，客户端 SDKs 将通过指数级退出自动重试受限制的操作。

有关更多信息，请参阅 [HSM 节流](troubleshoot-hsm-throttling.md)。

## 将重试命令设置为关闭模式
<a name="w2aac25c21c21c19b7b9"></a>

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

**在 Linux 上将客户端软件开发工具包 5 的重试命令设置为 **off****
+ 您可以使用以下命令将重试配置设置为 **off** 模式：

  ```
  $ sudo /opt/cloudhsm/bin/configure-openssl-provider --default-retry-mode off
  ```

------