5.6. 用于清理证书系统子系统密钥和证书的令牌
内部(软件)令牌是一组文件,通常称为 证书数据库 (
cert9.db
)和 密钥数据库 (key4.db
),用于生成和存储其密钥对和证书。首次使用内部令牌时,证书系统会在主机机器的文件系统中自动生成这些文件。如果为密钥对生成选择了内部令牌,则这些文件是在证书系统子系统配置期间创建的。
这些安全数据库位于
/var/lib/pki/instance_name/alias
目录中。
PKCSBACKEND 是一组标准的 API 和共享库,可将应用程序与加密设备的详情隔离开来。这可让应用程序为 PKCSENCODED 兼容加密设备提供统一接口。
证书系统中实施的 PKCSBACKEND 模块支持由许多不同制造商提供的加密设备。此模块允许证书系统插入由外部加密设备提供的共享库,并使用它们为证书系统管理器生成和存储密钥和证书。
考虑使用外部令牌生成和存储证书系统使用的密钥对和证书。这些设备是保护私钥的另一个安全措施,因为硬件令牌有时被视为比软件令牌更安全。
在使用外部令牌前,请规划如何将外部令牌用于子系统:
- 子系统的所有系统密钥都必须在同一令牌上生成。
- 该子系统必须安装在空的 HSM 插槽中。如果 HSM 插槽之前已经用于存储其他密钥,则使用 HSM 厂商的工具删除插槽的内容。证书系统必须能够在带有默认 nickname 的插槽上创建证书和密钥。如果没有正确清理,这些对象的名称可能会与之前的实例冲突。
- 快速 SSL/TLS 连接。速度对于同时注册或服务请求的数量非常重要。
- 私钥的硬件保护。这些设备的行为与智能卡不同,不允许从硬件令牌中复制或移除私钥。这一点非常重要,这是对在线证书管理器主动攻击的关键问题。
证书系统默认支持 nCipher nShield Connect XC 硬件安全模块(HSM)。如果在默认安装路径的预配置阶段,使用 modutil 的证书系统支持的 HSM 会自动添加到
pkcs11.txt
数据库中。
在配置过程中,Security Modules 面板显示支持的模块,以及 NSS 内部软件 PKCS facilities 模块。所有检测到的支持的模块都显示 Found 状态,并单独标记为 Logged in 或 Not logged。如果找到了令牌但没有登录,则可以使用 Operations 下的 登录。如果管理员可以成功登录令牌,密码将存储在配置文件中。在下一次启动或重启证书系统实例时,密码存储中的密码用于尝试每个对应令牌的登录。
管理员可以选择任何作为默认令牌登录的令牌,该令牌用于生成系统密钥。