我有一个已经在使用 cms 密钥库的 IBM HTTP Server。当部署团队创建 cms 类型的密钥库时,ikeyman 工具生成了 4 个文件(key.kdb、key.sth、key.crl、key.rdb)。我不知道哪个是密钥库,而其他文件到底是什么。我需要知道它们是什么,因为我最近几乎在使用 IBM 产品。我听说 key.sth 是一个存储文件,但我不知道它的实际含义。如果有人可以帮助我,我将不胜感激
2 回答
您应该将它们视为一组原子文件,并且永远不要复制子集。您始终只从配置或证书管理工具中引用 *.kdb。
*.kdb 包含私钥、证书和 CA。它使用可以隐藏在 *.sth 文件中的密码进行加密。
*.rdb 包含有关未完成的证书请求的信息。与 KDB 保持这种 1:1 的关系至关重要。
*.crl 包含撤销信息。通常它并不有趣,除非它被损坏/不匹配,在这种情况下它可能导致运行时错误。
*.sth 是一种将混淆密码存储到文件的方法。运行时工具可以使用此密码,而不是交互式地提示输入密码。如果您在相应的 KDB 中有私钥,显然必须对其进行保护。
所有放在一起的集合类似于其他工具中的 PKCS12 文件。
来自ftp://ftp.software.ibm.com/software/webserver/appserv/library/v80/GSK_CapiCmd_UserGuide.pdf
CMS 密钥数据库是如何组织的?CMS 密钥库由一个扩展名为 .kdb 的文件和可选的另外两个扩展名为 .rdb 和 .crl 的文件组成。
.kdb 文件中的密钥记录可以是证书本身,也可以是证书加上其加密的私钥信息。如果没有相应的证书,私钥不能存储在 CMS 密钥库中。
创建证书请求时,会创建一个与密钥数据库文件具有相同文件主干的 .rdb 文件。此文件用于存储请求的密钥对以及 PKCS#10 证书请求数据。仅当从签名机构获得签名证书并将其接收到密钥数据库中时,才从请求密钥数据库中删除请求条目。签名证书与 .rdb 文件中的私钥相匹配,它们一起作为带有私钥信息的证书添加到 .kdb 文件中。
还创建了一个 .crl 文件,纯粹是出于遗留原因(过去它包含证书吊销列表 (CRL))。该文件不再使用并且始终为空。