生成 CSR 时无法在配置中找到 'distinguished_name'

Getting unable to find 'distinguished_name' in config when generating CSR

我想生成一个包含 SAN 部分的 CSR,但不断收到以下错误:unable to find 'distinguished_name' in config

据我所知,cnf 的结构适​​当并且也被调用了。注意 CN 值与 SAN 不匹配并且是我的组织强制要求的。

这是我的 cnf 文件的内容:

[me@server-5007749 ~]$ cat openssl.cnf
[ req ]
distinguished_name = req_distinguished_name
req_extensions     = req_ext
[ req_distinguished_name ]
C = CA
0.OU = SSL
1.OU = Device
O = MyOrg
CN = 43546323
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = my_fqdn_here.ca

这是我的 shell 脚本的内容,其中包含创建 CSR 的命令:

[me@server-5007749 ~]$ cat ssl.sh
export OPENSSL_CONF=/home/me
printenv OPENSSL_CONF
openssl req -new -key /opt/rh/httpd24/root/etc/httpd/certs/private.key -out site_csr.csr

这是我的 shell 脚本的输出:

[me@server-5007749 ~]$ ./ssl.sh
/home/me
unable to find 'distinguished_name' in config
problems making Certificate Request
140524933736336:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_lib.c:324:group=req name=distinguished_name

编辑#1

我尝试了几个不同的 OpenSSL 版本,认为我可能会得到更好的结果:

OPENSSL_CONF用于指定配置文件的位置。 试试这个

export OPENSSL_CONF=/home/me/openssl.cnf