10.4. 硬件安全模块


本节提供有关如何将证书检测、查看和导入硬件加密模块(HSM)的信息。

10.4.1. 检测令牌

安装证书系统后,若要查看是否可以检测到令牌,请使用 TokenInfo 实用程序,指向子系统实例 的别名 目录。安装证书系统软件包后,此工具可用。

  • 例如:

    # TokenInfo /var/lib/pki/rhcs10-ECC-SubCA/alias
    
    Database Path: .
    Found external module 'NSS Internal PKCS #11 Module'
    Found external module 'nfast'
    Found external module 'p11-kit-proxy'
    Found external token 'accelerator'
    Found external token 'NHSM-CONN-XC'
    Copy to Clipboard Toggle word wrap

    这个工具会返回证书系统可以检测到的所有令牌,而不仅仅是在证书系统中安装的令牌。

10.4.2. 查看令牌

安装证书系统后,若要查看令牌列表,请使用 modutil 实用程序。

  1. 更改到实例别名目录。例如:

    # cd /var/lib/pki/pki-tomcat/alias
    Copy to Clipboard Toggle word wrap
  2. 显示有关安装的 PKCSGRESS 模块的信息,以及使用 modutil 工具有关相应令牌的信息。

    # modutil -dbdir . -nocertdb -list
    Copy to Clipboard Toggle word wrap

10.4.3. 将证书导入到 HSM

以下流程描述了如何在获取新发布的证书(例如新签发或更新 TLS 服务器证书)后将证书导入到 HSM 中,其密钥是在与创建 CSR 相同的 HSM 令牌上生成的 HSM 令牌中。

注意

通常,对于证书系统服务器,pkispawn 会在安装过程中负责所有系统证书创建和导入。但是,当实例需要替换其中一个系统证书时,这个过程仍很有用。

在这里,我们提供了将四种证书导入到 HSM 的示例:

  • 服务器证书
  • 客户端证书
  • 对象签名证书:
  • OCSP 响应签名证书

在开始前,请将目录改为 nssdb :

# cd /path/to/nssdb
Copy to Clipboard Toggle word wrap

例如:

# cd /var/lib/pki/pki-ca/alias
Copy to Clipboard Toggle word wrap

在执行这些步骤时,请确保您的 Web 服务离线(停止、禁用等),并确保其他进程(如浏览器)不会并发访问 nssdb。这样做可能会破坏 nssdb,或导致不当使用这些证书。

如果您还没有导入并信任 root 证书,请参阅 第 10.2 节 “导入 root 证书”。如果您还没有导入并验证中间证书,请参阅 第 10.3 节 “导入中间证书链”

请注意,您遵循哪些指令将取决于问题中的证书的用法。

  • 对于所有 PKI 子偏移的 TLS 服务器证书,请按照 服务器证书步骤
  • 对于任何子系统的审计签名证书,请按照以下步骤验证 对象签名证书
  • 对于 CA 子系统的签名证书,请按照上述步骤导入和验证 中间证书链,但仅用 caSigningCert 执行。
  • 对于 CA 子系统的 OCSP 签名证书,请按照以下步骤验证 OCSP 证书
  • 对于 PKI 子系统的所有其他系统证书,请按照 客户端证书步骤操作

有关以下使用的 certutilPKICertImport 选项的详情,请参考 第 10.1 节 “关于 certutilPKICertImport

注意

在 FIPS 模式中设置的系统上,PKICertImport 将返回 superfluous 错误消息,您可以忽略它(BZxetex93668):

certutil: could not change trust on certificate: SEC_ERROR_TOKEN_NOT_LOGGED_IN: The operation failed because the PKCS#11 token is not logged in.
e: certutil returned non-zero value: 255
e: Unable to import certificate to NSS DB: ..
Copy to Clipboard Toggle word wrap

导入服务器证书:

  • PKICertImport -d . -h HSM -f password_file -n "host.name.example.com" -t "," -a -i service.crt -u V

    此命令将验证并导入服务器证书到 HSM。当没有输出错误消息且返回码为 0 时,验证成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。由于父证书或缺少 CA 信任链的过期(如缺少中间证书或缺少 CA Root),证书通常无法验证。如果验证没有成功,请联络签发者并确保您的系统中存在所有中间证书和 root 证书。

导入客户端证书:

  • PKICertImport -d . -h HSM -f password_file -n "client name" -t "," -a -i client.crt -u C

    此命令将验证并导入客户端证书到 HSM。当没有输出错误消息且返回码为 0 时,验证成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联络签发者并确保您的系统中存在所有中间证书和 root 证书。

导入对象签名证书:

  • PKICertImport -d . -h HSM -f password_file -n "certificate name" -t ",P" -a -i objectsigning.crt -u J

    此命令将验证并导入对象签名证书到 HSM。当没有输出错误消息且返回码为 0 时,验证成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联络签发者并确保您的系统中存在所有中间证书和 root 证书。

要导入 OCSP 响应签名证书:

  • PKICertImport -d . -h HSM -f password_file -n "certificate name" -t "," -a -i ocsp.crt -u O

    这个命令会验证并将 OCSP 响应器证书导入到 HSM 中。当没有输出错误消息且返回码为 0 时,验证成功。要检查返回代码,请在执行上述命令后立即执行 echo $?。在大多数情况下,会输出视觉错误消息。如果验证没有成功,请联络签发者并确保您的系统中存在所有中间证书和 root 证书。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat