我是否应该在 Root-CA 及其子 CA 的配置中对数据库、序列号和 crlnumber 使用相同的值?

我是否应该在 Root-CA 及其子 CA 的配置中对数据库、序列号和 crlnumber 使用相同的值?

我是否应该在配置文件的和部分中为根 CA 和从属 CA使用相同的文件database?还是最好使用不同的文件集?serialcrlnumberca_default

如果两者都可行,那么各个版本的优点和缺点是什么?

答案1

OpenSSL 对于 CA 来说不是一个好的选择 - 它甚至在man 页面

您应该将根 CA 和下属 CA 视为完全独立的实体,否则拥有下属 CA 毫无意义。您的根 CA 应该处于离线状态,而下属 CA 应该处于日常使用状态。

现在您正在运行两个独立的 CA,因此这些文件将不会共享。

您还应该考虑这些文件的用途。根 CA 仅向下属 CA 颁发 CA 证书。这意味着它将database在其中有一个条目(直到您续订 CA 证书或建立另一个下属 CA),而下属 CA 将在其 中拥有所有最终实体证书database

serial文件会保留证书序列号的标签,因此下属 CA 的serial文件比根 CA 的文件计数要多得多。

类似地,根 CA 颁发 CRL 的频率比下属 CA 低得多(因为它对下属 CA 的运营商的信任程度远远高于下属 CA 对其最终实体的信任程度),因此文件中的值crlnumber也会有所不同。

因此,使用不同文件的优势在于 OpenSSL 可以正常工作,但如果您尝试共享文件,可能会使它(和您自己)感到困惑。

相关内容