本指南分步说明如何使用Luna Network Attached HSM v7.x 的“在现有 HSM 上安装“方法完成代码签名订单。
请注意,本指南假定您已经拥有 Luna HSM 设备并知道如何使用。 在进行代码签署之前,必须先拥有这些硬件。
如果您不熟悉硬件安全模块,可以订购预配置的证书令牌(令牌 + 运输方式)。
以下说明由 Sectigo CA 提供。 有关第三方硬件的任何进一步帮助,请咨询特定的硬件安全模块 (HSM) 制造商,因为他们可以提供专门的支持。
Luna HSM 认证包
Luna HSM 为 HSM 中存储的每个密钥对生成公钥确认包 (PKC)。 该 PKC 可确保密钥对确实已生成并安全地存储在支持 FIPS 的 Luna HSM 中。
证明文件包格式
生成的 PKC 是包含证书链的DER PKCS7文件。 PKC 的内容可能因创建密钥对所使用的非对称算法而异。
用于 RSA 密钥对的 PKC
为 RSA 密钥对生成 PKC 时,有两种可能的格式:
- TC-信任中心:这种格式在链中包含 3 个证书,但并不以预期的 SafeNet 根结束。
- Chrysalis-ITS:在这种格式中,PKC 由 5 个证书组成,链的顶点是预期的 SafeNet 根。
有关详细信息,请查阅Thale有关 Luna HSM 的文档。
如何在 Chrysalis-ITS 中生成 PKC?
要为 RSA 密钥对创建 Chrysalis-ITS 格式的 PKC,请按以下步骤操作:
1.使用 Luna 远程客户端访问 Luna HSM 并成功登录。
2.使用 LunaCM2 实用程序在 Luna Partition1 上生成 RSA 密钥对。 执行以下命令
适用于 Windows:
c:cd c:\Program Files\SafeNet\LunaClient
c:\Program Files\SafeNet\LunaClient> lunacm
适用于 Linux:
cd /usr/safenet/lunaclient/bin
./lunacm
命令:
cmu gen -modulusBits=3072 -publicExp=65537 -sign=T -verify=T -label=example-key -extractable=false
注意:参数”-extractable=false“和“-sign=T“为必填项。 如果没有它们,CSR 生成将失败,因为 Luna 不会使用此密钥进行 CSR 签名。
3.查看以下命令的输出结果,获取公钥和私钥的句柄编号:
cmu list -class public
cmu list -class private
4.使用此命令创建证书签名请求(CSR)(用公钥和私钥手柄分别替换 AAA 和 BBB):
cmu requestcert -publichandle=AAA -privatehandle=BBB -C=CA -L=Ottawa -O=Sectigo -CN=PKC Test Cert -outputFile=rsacsr.pem
5.运行此命令生成 PKC(用公钥句柄替换 AAA):
cmu getpkc -handle=AAA -outputfile=.p7b -pkctype=2 -verify
6.保存生成的文件(.p7b),该文件将作为您的验证包。
7.要检查证书链,请双击保存的 .p7b 文件。
成功生成 PKC 文件后,您就可以在填写代码签名订单时将其作为证明文件上传。