apache - 生成 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
推荐阅读
- hive - HIVE 3.1 - 每个分区仅触发一次自动主要压缩
- python - 我目前正在创建一个字谜测试器。问题是当我添加两个完全相同的单词时,它应该打印 false 但 dosent
- r - 使用其他变量(如内置函数中的参数)在数据表中添加新变量
- php - 单元测试 guzzle http 承诺回调
- java - 当我启动应用程序时,使用 @around 的 Spring AOP 会抛出 org.springframework.beans.factory.BeanCreationException
- php - PHP反序列化变量
- angular - 材料日期选择器的 Unix 纪元双向数据绑定
- excel - 基于大于 0 的各种标准运行的 if 语句
- header - 以表单组输入值为条件的 Twig
- r - ' ' 的登录失败。将 DSN 与 Rstudio 连接到 MS SQL 2016 时