在什么情况下您会将 openssl ca 的 `unique_subject` 设置为 yes?

问题描述 投票:0回答:1

默认情况下

unique_subject
设置为
yes
,这会阻止您签署多个 具有相同可分辨名称的证书。尝试签署此类证书将 结果出现以下错误消息。

failed to update database
TXT_DB error number 2

然而,有一个明确的用例允许重复的 dn,即颁发证书 对于具有延长到期日的依赖方。例如一个证书 几个月后需要刷新的网站(类似的论点已经 在[1]中制作)。在不更改设置的情况下,您只能使用以下内容颁发新证书 如果您撤销现有证书,则使用相同的 dn。但您可能想给所有者 网站 两个证书均有效的宽限期。我唯一的其他选择 遇到的问题是更改 dn(例如 OU)中与实际不太相关的内容 证书[2]。

openssl 文档 [3] 有一个

unique_subject
的条目,其中他们建议 选择默认值是为了与旧版本兼容。该页面还 提到这个值应该设置为
no
以使 ca 翻转更容易。这 向我建议
no
的值非常好,也许应该是默认值。

可以找到此属性的许多参考资料,并且通常建议使用此值 应设置为

no
(在 openssl.cnf 和 index.txt.attr 文件中)[1, 2, 3, 4, 许多 更多的]。我只找到一个地方有人建议把它留在
yes
或至少这样做了 不太关心它的实际价值[5]。但是,在那条线索中,只是一个空白的声明 被给予:

For the use case of a VPN, as EasyRSA was originally intended, the current setting is
best.

是吗?为什么?

我了解该选项的作用以及如何使用它。我找不到的是一个合理的 早期默认值

yes

openssl ca 是否尝试使用此默认值解决一些安全问题?
颁发两个具有相同 dn 的证书有什么风险?
设置时有哪些需要遵循的做法吗

unique_subject=no

是否有充分的理由将该值保留为默认设置?

简而言之,是否存在支持防止使用多个有效证书的论点? 相同的 dn?

[1] https://github.com/OpenVPN/easy-rsa/issues/40#issuecomment-56191531
[2] https://serverfault.com/a/810608(在 https://serverfault.com/questions/810557/how-do-i-issue-multiple-certificates-for-the-same 上回答) -通用名称
[3] https://www.openssl.org/docs/man1.1.1/man1/openssl-ca.html
[4] 如何向证书颁发机构签署证书签名请求?
[5] https://github.com/OpenVPN/easy-rsa/issues/40#issuecomment-150035723

openssl ca
1个回答
0
投票

我认为您已经在 OpenSSL 手册页 [3] 中得到了答案:

默认值为 yes,以兼容旧版本(0.9.8 之前) OpenSSL 的版本。但是,为了使 CA 证书更容易更新, 建议使用值 no,特别是与 -selfsign 命令行选项。

还建议将其设置为默认“是”,甚至完全删除它(使其始终为“是”)。目前计划在“Post 3.0.0”中进行:https://github.com/openssl/openssl/issues/5451

提议删除它的 Richard Levitte 与 2004 年引入它的人是同一个人:https://www.openssl.org/news/cl111.txt0.9.7c 和 0.9.7d 之间的更改 [3 月 17 日] 2004]

由于 OpenSSL 也建议将

unique_subject
设置为“否”,因此绝对不会产生安全隐患。人们只能推测为什么默认值为“是”。可能在早期,没有太多考虑滚动证书和实时撤销列表。

© www.soinside.com 2019 - 2024. All rights reserved.