在中初始化集群 AWS CloudHSM - AWS CloudHSM

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

在中初始化集群 AWS CloudHSM

创建集群并在中添加硬件安全模块 (HSM) 后 AWS CloudHSM,您可以初始化集群。完成以下主题中的步骤可初始化 群集。

注意

在初始化集群之前,请查看验证集群身份和真实性的过程HSMs。此过程是可选的,并且仅在初始化集群之前有效。集群初始化后,您无法使用此过程来获取证书或验证。HSMs

第 1 步:获取集群 CSR

在初始化集群之前,必须先下载并签署由集群第一个生成的证书签名请求 (CSR) HSM。如果您按照步骤验证集群的身份 HSM,则表明您已经拥有CSR并可以对其进行签名。否则,请使用AWS CloudHSM 控制台AWS Command Line Interface (AWS CLI) 或 the CSR 立即获取 AWS CloudHSM API。

重要

要初始化集群,您的信任锚必须符合 RFC5280 并满足以下要求:

  • 如果使用 X509v3 扩展,则必须存在 X509v3 基本约束扩展。

  • 信任锚必须是自签名证书。

  • 扩展值不能相互冲突。

Console
要获取CSR(控制台)
  1. 在家中打开https://console.aws.amazon.com/cloudhsm/主 AWS CloudHSM机。

  2. 选择要验证的集群 ID 旁边的HSM单选按钮。

  3. 选择操作。从下拉菜单中,选择初始化

  4. 如果您没有完成上一步的创建HSM,请为正在创建的选择可用区 (AZ)。HSM然后选择创建

  5. 准备CSR就绪后,您会看到一个下载链接。

    在 AWS CloudHSM 控制台中下载证书签名请求页面。
  6. 选择集群CSR以下载并保存CSR。

AWS CLI
要获得 CSR (AWS CLI)
  • 在命令提示符处,运行以下describe-clusters命令,该命令会提取CSR并保存到文件中。<cluster ID>替换为您之前创建的集群的 ID。

    $ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr
AWS CloudHSM API
要获得 CSR (AWS CloudHSM API)
  1. 发送 DescribeClusters 请求。

  2. CSR从响应中提取并保存。

第 2 步:签名 CSR

目前,您必须创建自签名签名证书,并使用它CSR为集群签名。您不需要执行 AWS CLI 此步骤,也无需将外壳与您的 AWS 账户关联。要签署CSR,您必须执行以下操作:

  1. 完成上一节(请参阅 第 1 步:获取集群 CSR)。

  2. 创建私有密钥。

  3. 使用私有密钥创建签名证书。

  4. 为您的集群签名CSR。

创建私有密钥

注意

对于生产集群,您将要创建的密钥应使用可信的随机掩码以安全的方式创建。我们建议您使用安全的异地和离线模式HSM或等效方式。安全地存储密钥。密钥用于确定集群的身份以及您对集群所含集群的HSMs唯一控制权。

对于开发和测试,您可以使用任何便捷的工具(例如 OpenSSL)来创建和签署集群证书。以下示例为您展示了如何创建密钥。使用密钥创建自签名证书 (见下文) 之后,您应该以安全的方式将其存储起来。要登录您的 AWS CloudHSM 实例,证书必须存在,但私钥不存在。

使用以下命令创建私有密钥。初始化集 AWS CloudHSM 群时,必须使用 RSA 2048 证书或 RSA 4096 证书。

$ openssl genrsa -aes256 -out customerCA.key 2048 Generating RSA private key, 2048 bit long modulus ........+++ ............+++ e is 65537 (0x10001) Enter pass phrase for customerCA.key: Verifying - Enter pass phrase for customerCA.key:

使用私有密钥创建自签名证书

您用来为生产集群创建私有密钥的可信硬件还应提供软件工具,以使用该密钥生成自签名证书。以下示例使用 Open SSL 和您在上一步中创建的私钥来创建签名证书。该证书的有效期为 10 年 (3652 天)。阅读屏幕上的说明,并按照提示操作。

$ openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt Enter pass phrase for customerCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

完成后,此命令将创建一个名为 customerCA.crt 的证书文件。将此证书放在要连接到 AWS CloudHSM 集群的每台主机上。如果您为文件指定了不同的名称或将其存储在与主机根不同的路径,则应相应地编辑客户端配置文件。在下一步中,使用您刚刚创建的证书和私钥对集群证书签名请求 (CSR) 进行签名。

为集群签名 CSR

用于为生产集群创建私钥的可信硬件还应提供CSR使用该密钥进行签名的工具。以下示例使用 Open SSL 对集群进行签名CSR。该示例使用您在上一步中创建的私有密钥和自签名证书。

$ openssl x509 -req -days 3652 -in <cluster ID>_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out <cluster ID>_CustomerHsmCertificate.crt Signature ok subject=/C=US/ST=CA/O=Cavium/OU=N3FIPS/L=SanJose/CN=HSM:<HSM identifier>:PARTN:<partition number>, for FIPS mode Getting CA Private Key Enter pass phrase for customerCA.key:

完成后,此命令将创建一个名为 <cluster ID>_CustomerHsmCertificate.crt 的文件。在初始化集群时,将此文件用作签名证书。

第 3 步:初始化集群

使用您的签名HSM证书和签名证书初始化集群。您可以使用AWS CloudHSM 控制台AWS CLI、或 AWS CloudHSM API。

Console
初始化群集(控制台)
  1. 在家中打开https://console.aws.amazon.com/cloudhsm/主 AWS CloudHSM机。

  2. 选择要验证的集群 ID 旁边的HSM单选按钮。

  3. 选择操作。从下拉菜单中,选择初始化

  4. 如果您没有完成上一步的创建HSM,请为正在创建的选择可用区 (AZ)。HSM然后选择 创建

  5. 下载证书签名请求页面上,选择下一步。如果 “下一步” 不可用,请先选择CSR或证书链接之一。然后选择下一步

  6. 在 “签署证书签名请求” (CSR) 页面上,选择 “下一步”。

  7. 上传证书页面上,执行以下操作:

    1. 集群证书旁边,选择上传文件。然后找到并选择您之前签署的HSM证书。如果您完成了以上部分中的步骤,请选择名为 <cluster ID>_CustomerHsmCertificate.crt 的文件。

    2. 颁发证书旁边,选择上传文件。然后,选择您的签名证书。如果您完成了以上部分中的步骤,请选择名为 customerCA.crt 的文件。

    3. 选择上传并初始化

AWS CLI
初始化群集 (AWS CLI)
  • 在命令提示符下,运行 initialize-cluster 命令。提供以下项:

    • 您之前创建的集群的 ID。

    • 您之前签署的HSM证书。如果您完成了以上部分中的步骤,它保存在名为 <cluster ID>_CustomerHsmCertificate.crt 的文件中。

    • 您的签名证书。如果您完成了以上部分中的步骤,签名证书保存在名为 customerCA.crt 的文件中。

    $ aws cloudhsmv2 initialize-cluster --cluster-id <cluster ID> \ --signed-cert file://<cluster ID>_CustomerHsmCertificate.crt \ --trust-anchor file://customerCA.crt { "State": "INITIALIZE_IN_PROGRESS", "StateMessage": "Cluster is initializing. State will change to INITIALIZED upon completion." }
AWS CloudHSM API
初始化群集 (AWS CloudHSM API)
  • 发送 InitializeCluster 请求,包含以下内容:

    • 您之前创建的集群的 ID。

    • 您之前签署的HSM证书。

    • 您的签名证书。