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



我想生成一个带有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 1.0.2k-fips 2017年1月26日(RHEL默认值(
  • OpenSSL 1.1.1f 2020年3月31日(Cygwin(

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

export OPENSSL_CONF=/home/me/openssl.cnf

相关内容

最新更新