我是否应该在配置文件的和部分中为根 CA 和从属 CA使用相同的文件database
?还是最好使用不同的文件集?serial
crlnumber
ca_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 可以正常工作,但如果您尝试共享文件,可能会使它(和您自己)感到困惑。