openssl 的 DomainComponent 错误

openssl 的 DomainComponent 错误

我正在创建一个简单的 PKI 以便将 TLS 与 LDAP 服务器一起使用。

我在配置文件中用这个创建了根 CA 请求和证书:

[ ca_dn ]
0.domainComponent       = "org"
1.domainComponent       = "example"

然后,我在配置文件中用以下内容创建了签名 CA 请求和证书:

[ ca_dn ]
0.domainComponent       = "org"
1.domainComponent       = "example"

然后我在配置文件中用这个创建了 ldap 请求:

[ server_dn ]
0.domainComponent       = "org"
1.domainComponent       = "example"
2.domainComponent       = "ldap"

但是当我想使用创建证书时

openssl ca -config etc/signing-ca.conf -in certs/ldap.example.org.csr -out certs/ldap.example.org.crt -extensions server_ext

我收到此消息:

The domainComponent field needed to be the same in the CA certificate (example) and the request (ldap)

我可以看到ldap.example.org.keyldap.example.org.crt文件创建后,.crt文件为空。我是否误解了这个过程中的某些内容?

答案1

您的 OpenSSL 配置文件将有一个名为的选项policy,它指向策略部分。例如policy = [policy_match]。一个[policy_match]部分(通常位于选项下方)将列出 Distinguished Name 的哪些元素是 、optionalsuppliedmatch例如:

[policy_match]
countryName=match
organizationName=match
organizationalUnitName=optional
domainComponent=match

您可能有一个domainComponent=match如示例中所示的,这意味着请求的 domainComponent 必须与签署请求的证书(CA 证书)的 domainComponent 相同。将其更改为optional(它不必出现在请求中)或更改为supplied(它必须出现,但不必匹配)。

更多详情请参阅OpenSSL CA 手册页在下面政策格式

相关内容