不接受 openldaps 通配符证书

JMW*_*JMW 6 ssl openldap ldap

ldap 2.4.23 不接受我的通配符证书。当我尝试连接时,出现以下错误:

TLS certificate verification: subject:
OID.2.5.29.17=DNS:*.domain.com,CN=*.domain.com,OU=LALALA,O=LALALA S.A.,L=LALALA,ST=LALALA,C=XX,
issuer: E=support@domain.com,CN=LALALA Root C.A.,O=LALALA,L=LALALA,ST=LALALA,C=XX,
cipher: AES-256, security level: high, secret key bits: 256, total key bits: 256,
cache hits: 0, cache misses: 0, cache not reusable: 0
TLS: hostname (openldap1.domain.com) does not match common name in certificate (*.domain.com).
Run Code Online (Sandbox Code Playgroud)

我的证书是:CN=*.domain.comANDsubjectAltName=DNS:*.domain.com

我怎样才能让我的证书在 LDAP 中被接受?

JMW*_*JMW 0

首先我发现一个页面说,CN 中的通配符不适用于 openldap,你必须使用 subjectAltName!(我再也找不到那个页面了...)

不幸的是,我创建了这样的证书,它不是您需要的 subjectAltName:

[ req_distinguished_name ]
subjectAltName                =Alternativer Name 1
subjectAltName_default        =DNS:*.domain.com
Run Code Online (Sandbox Code Playgroud)

这就是为什么它显示 OID.2.5.29.17 而不是 subjectAltName...

我在以下位置找到了 subjectAltName 的答案: http: //wiki.cacert.org/VhostTaskForce

在研究了“RFC 2459 - 第 4.2.1.7 节:主题备用名称”并交叉引用 isakmpd 的 certpatch(8) 结果之后,以下内容应该可以工作: [...] 要完成这样的 CSR,openssl 中需要以下条目.cnf(请注意:我只添加了该属性的相关部分)

[ req ]
req_extensions          = v3_req
[ v3_req ]
subjectAltName          = DNS:www.example.com
Run Code Online (Sandbox Code Playgroud)