15.4. 将证书导入到 HSM 中
此流程描述了如何在获取新发布的证书(比如当系统证书被续订)后将证书导入到 HSM 中,其密钥是在与创建 CSR 过程相同的 HSM 令牌中。
在开始前,请将目录改为 NSS DB:
- cd /path/to/nssdb,如 cd /var/lib/pki/pki-ca/alias
在执行这些步骤时,请确保您的 web 服务离线(停止、禁用等),并确保其他进程(如浏览器)无法并发访问 NSS DB。这样做可能会损坏 NSS DB,或者不当使用这些证书。
如果您还没有导入并信任 root 证书,请参阅 第 15.2 节 “导入根证书”。如果您还没有导入并验证中间证书,请参阅 第 15.3 节 “导入中间证书链”。
请注意,您遵循的哪个指令集合将取决于问题中证书的使用。
- 对于所有 PKI 子程序的 TLS 服务器证书,请按照 服务器证书步骤。
- 对于任何子系统的审计签名证书,请按照以下步骤操作来验证 对象签名证书。
- 对于 CA 子系统的签名证书,请按照上述步骤导入和验证 中间证书链,但仅对 caSigningCert 执行此操作。
- 对于 CA 子系统的 OCSP 签名证书,请按照以下步骤验证 OCSP 证书。
- 对于 PKI 子系统的所有其他系统证书,请按照 客户端证书步骤。
要在 HSM 中导入服务器证书:
- 执行 PKICertImport -d . -h HSM -n "host.name.example.com" -t "," -a -i service.crt -u V此命令验证服务器证书并将其导入到 HSM。如果没有打印错误消息,且返回码为 0 时,验证会成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。证书通常因为父证书或缺失的 CA 信任链(如缺少中间证书或缺少 CA Root)导致验证失败。如果验证没有成功,请联系签发者并确保系统中存在所有中间证书和 root 证书。
在 HSM 中导入客户端证书:
- Execute PKICertImport -d . -h HSM -n "client name" -t ",," -a -i client.crt -u C此命令验证客户端证书并将其导入到 HSM。如果没有打印错误消息,且返回码为 0 时,验证会成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联系签发者并确保系统中存在所有中间证书和 root 证书。
要在 HSM 中导入对象签名证书:
- 执行 PKICertImport -d . -h HSM -n "certificate name" -t ",P" -a -i objectsigning.crt -u J此命令验证对象签名证书并将其导入到 HSM。如果没有打印错误消息,且返回码为 0 时,验证会成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联系签发者并确保系统中存在所有中间证书和 root 证书。
要在 HSM 中导入 OCSP 响应签名证书:
- 执行 PKICertImport -d . -h HSM -n "certificate name" -t "," -a -a -i ocsp.crt -u O此命令将 OCSP 响应器证书验证并导入到 HSM。如果没有打印错误消息,且返回码为 0 时,验证会成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联系签发者并确保系统中存在所有中间证书和 root 证书。