本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
验证集群的 HSM 的身份和真实性 (可选)
要初始化您的群集,请签署由群集的第一个 HSM 生成的证书签名请求 (CSR)。在执行此操作之前,您可能需要验证 HSM 的身份和真实性。
注意
此过程是可选过程。但是,它仅在初始化群集之前有效。初始化群集后,您不能使用此过程来获取证书或验证 HSM。
概述
要验证群集的第一个 HSM 的身份,请完成以下步骤:
下图显示了 CSR、证书及其相互关系。后续列表定义了每个证书。
![HSM 证书及其关系。](images/hsm-certificate-relationships.png)
- AWS 根证书
-
AWS CloudHSM这是根证书。
- 制造商根证书
-
这是硬件制造商的根证书。
- AWS 硬件证书
-
AWS CloudHSM 在将 HSM 硬件添加到队列时创建了此证书。此证书声明自己 AWS CloudHSM 拥有硬件。
- 制造商硬件证书
-
HSM 硬件制造商在制造 HSM 硬件时已创建此证书。此证书声明制造商创建了该硬件。
- HSM 证书
-
HSM 证书在您创建群集中的第一个 HSM 时由经 FIPS 验证的硬件生成。此证书声明 HSM 硬件已创建 HSM。
- 群集 CSR
-
第一个 HSM 将创建群集 CSR。在对群集 CSR 进行签名时,您将声明群集。然后,您可以使用已签名 CSR 初始化群集。
从 HSM 获取证书
要验证 HSM 的身份和真实性,请先获取 1 个 CSR 和 5 个证书。您可以从 HSM 获得其中三个证书,您可以使用AWS CloudHSM 控制台
获取 CSR 和 HSM 证书 (控制台)
打开 AWS CloudHSM 控制台,网址为 https://console.aws.amazon.com/cloudhsm/home
。 -
选中要验证的 HSM 的集群 ID 旁边的单选按钮。
-
选择操作。从下拉菜单中,选择初始化。
-
如果您未完成旨在创建 HSM 的 上一步 操作,则请为正在创建的 HSM 选择可用区(AZ)。然后选择 创建。
-
在证书和 CSR 准备就绪后,您将看到用于下载它们的链接。
-
选择用于下载和保存 CSR 和证书的每个链接。要简化后续步骤,请将所有文件保存到同一目录中,并使用默认文件名。
获取 CSR 和 HSM 证书 (AWS CLI)
-
在命令提示符处,运行 describe-clusters 命令四次,每次提取 CSR 和不同的证书,然后将其保存到相应文件中。
-
发出以下命令以提取群集 CSR。将
<cluster ID>
替换为之前创建的群集的 ID。$
aws cloudhsmv2 describe-clusters --filters clusterIds=
<cluster ID>
\ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ ><cluster ID>
_ClusterCsr.csr -
发出以下命令以提取 HSM 证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
aws cloudhsmv2 describe-clusters --filters clusterIds=
<cluster ID>
\ --output text \ --query 'Clusters[].Certificates.HsmCertificate' \ ><cluster ID>
_HsmCertificate.crt -
发出以下命令提取 AWS 硬件证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
aws cloudhsmv2 describe-clusters --filters clusterIds=
<cluster ID>
\ --output text \ --query 'Clusters[].Certificates.AwsHardwareCertificate' \ ><cluster ID>
_AwsHardwareCertificate.crt -
发出以下命令以提取制造商硬件证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
aws cloudhsmv2 describe-clusters --filters clusterIds=
<cluster ID>
\ --output text \ --query 'Clusters[].Certificates.ManufacturerHardwareCertificate' \ ><cluster ID>
_ManufacturerHardwareCertificate.crt
-
获取 CSR 和 HSM 证书 (AWS CloudHSM API)
-
发送 DescribeClusters 请求,然后从响应中提取并保存 CSR 和证书。
获取根证书
按照以下步骤获取 AWS CloudHSM 和制造商的根证书。将根证书文件保存到包含 CSR 和 HSM 证书文件的目录。
获取 AWS CloudHSM 和制造商根证书
-
下载 AWS CloudHSM 根证书:AWS_CloudHSM_Root-G1.zip
-
下载适合您的 HSM 类型的制造商根证书:
注意
要从登录页面下载每份证书,请使用以下链接:
您可能需要右键单击 Download Certificate 链接,然后选择 Save Link As... 才能保存证书文件。
-
在下载文件后,提取 (解压缩) 其内容。
验证证书链
在此步骤中,您将构造两个证书链,一个指向 AWS CloudHSM 根证书,另一个指向制造商根证书。然后使用 OpenSSL 通过每个证书链验证 HSM 证书。
要创建证书链,请打开 Linux shell。您需要 OpenSSL (在大多数 Linux shell 中可用),并且需要已下载的根证书和 HSM 证书文件。但是,您不需要执行 AWS CLI 此步骤,也无需将外壳与您的 AWS 账户关联。
使用 AWS CloudHSM 根证书验证 HSM 证书
-
导航到您将下载的根证书和 HSM 证书文件保存到的目录。以下命令假设所有证书都在当前目录中并使用默认文件名。
使用以下命令按顺序创建包含 AWS 硬件证书和 AWS CloudHSM 根证书的证书链。将
<cluster ID>
替换为之前创建的群集的 ID。$
cat
<cluster ID>
_AwsHardwareCertificate.crt \ AWS_CloudHSM_Root-G1.crt \ ><cluster ID>
_AWS_chain.crt -
使用以下 OpenSSL 命令通过 AWS 证书链验证 HSM 证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
openssl verify -CAfile
<cluster ID>
_AWS_chain.crt<cluster ID>
_HsmCertificate.crt<cluster ID>
_HsmCertificate.crt: OK
使用制造商根证书验证 HSM 证书
-
使用以下命令创建一个证书链,其中按该顺序包含制造商硬件证书和制造商根证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
cat
<cluster ID>
_ManufacturerHardwareCertificate.crt \ liquid_security_certificate.crt \ ><cluster ID>
_manufacturer_chain.crt -
使用以下 OpenSSL 命令通过制造商证书链验证 HSM 证书。将
<cluster ID>
替换为之前创建的群集的 ID。$
openssl verify -CAfile
<cluster ID>
_manufacturer_chain.crt<cluster ID>
_HsmCertificate.crt<cluster ID>
_HsmCertificate.crt: OK
提取和比较公有密钥
使用 OpenSSL 提取并比较 HSM 证书和群集 CSR 中的公有密钥以确保二者相同。
要比较公有密钥,请使用您的 Linux shell。你需要 OpenSSL,它在大多数 Linux 外壳中都可用,但此步骤 AWS CLI 不需要。外壳无需与您的 AWS 账户关联。
提取和比较公有密钥
-
使用以下命令可从 HSM 证书中提取公有密钥。
$
openssl x509 -in
<cluster ID>
_HsmCertificate.crt -pubkey -noout ><cluster ID>
_HsmCertificate.pub -
使用以下命令可从群集 CSR 中提取公有密钥。
$
openssl req -in
<cluster ID>
_ClusterCsr.csr -pubkey -noout ><cluster ID>
_ClusterCsr.pub -
使用以下命令可比较公有密钥。如果公有密钥相同,以下命令不会生成任何输出。
$
diff
<cluster ID>
_HsmCertificate.pub<cluster ID>
_ClusterCsr.pub
在验证 HSM 的身份和真实性后,请继续初始化集群。