gpt4 book ai didi

ssl - 如何使用配置 OpenSSL 的策略来签署具有多个 OU 的证书?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:42 26 4
gpt4 key购买 nike

我最近开始使用 OpenSSL 配置 CA。根 CA 要求中间 CA 证书具有 OU 字段,以便中间 CA 的 DN 看起来像 OU=group

对于那个中间 CA,我已经为它可以签署的 CSR 定义了如下策略:

[策略匹配]
organizationUnitName=匹配

我尝试签署的 CSR 具有类似 OU=group, OU=subgroup 的 DN,但是命令 openssl ca -in two_OUs.csr 吐出错误: organizationalUnitName 字段需要与
CA 证书(组)和请求(子组)

我尝试以两种方式修改政策:

[策略匹配]
organizationUnitName=匹配
organizationUnitName=supplied

[策略匹配]
0.organizationUnitName=匹配
1.organizationUnitName=supplied

第一个成功,但不强制要求有两个 OU。第二次失败,提示 0.organizationalUnitName:unknown object type in 'policy' configuration

除了绕过 ca 命令以支持 x509 命令,我该如何解决这个问题?

最佳答案

你不能直接检查它。 openssl ca策略逻辑只能检查给定 OID 的属性(准确地说,RDN 中的 AVA)出现一次。从我阅读代码而没有实际逐步执行代码来看,我认为它应该检查第一个,而它似乎是您发布的最后一个值;您是否从使用 LDAP 约定“向后”显示 DN 的内容中发布值?

需要明确的是,您并不是说 DN 按此顺序包含两个 OU,而是说它完全由它们组成,没有任何 O(组织名称) ?如果是这样,那似乎违反了 X.520 规则,正如我在对您的问题的评论中指出的那样——尽管 AFAICS 该规则没有被引入 PKIX 甚至 LDAP,而且它肯定没有被 OpenSSL 强制执行。

如果您想通过检查两个 OU 的值来执行您的规则,您需要在 OpenSSL 之外执行此操作,例如通过使用 openssl req 显示请求信息并用另一个程序(可能是像 awk 或 perl 这样的文本处理程序)检查它。

可以使用openssl ca使用 -preserveDN 为具有像这样的重复属性(也是策略之外的属性)的名称​​颁发证书选项或 preserve=y配置设置。这做同样的事情 x509 -req -CA*默认情况下。

关于ssl - 如何使用配置 OpenSSL 的策略来签署具有多个 OU 的证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53992170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com