You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenSSL生成根CA证书签名请求(CSR)时系统仍弹出交互式配置提示的问题

使用OpenSSL生成根CA证书签名请求(CSR)时系统仍弹出交互式配置提示的问题

兄弟,我太懂你现在的烦躁了——明明已经把所有配置参数都老老实实写进rootCA_openssl.cnf里,执行CSR生成命令时也特意指定了这个配置文件,结果Ubuntu还是跳出来一堆交互式提示,让你重复填写那些早就定义好的字段,这纯纯是折腾人啊!

先把你的现有操作和配置理清楚,方便咱们定位问题:

你的现有配置与操作步骤

1. 已经写好的根CA配置文件 rootCA_openssl.cnf

[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[ req_distinguished_name ]
countryName = NO
countryName_default = NO
stateOrProvinceName = Stavanger
stateOrProvinceName_default = Stavanger
organizationName = Stavanger Info
organizationName_default = Stavanger Info
commonName = 88.5.44.3
commonName_default = 88.5.44.3

[ v3_req ]
basicConstraints = CA:true
keyUsage = critical, keyCertSign

2. 你执行的命令

  • 首先生成了带密码的RSA根密钥:
openssl genrsa -aes256 -out rootCA.key --passout pass:password 2048
  • 然后尝试生成CSR(就是出问题的这条命令):
openssl req -new -key rootCA.key -out rootCA.csr -config rootCA_openssl.cnf --passin pass:password

3. 遇到的问题

执行上面的CSR命令后,系统还是弹出交互式提示(比如You are about to be asked to enter information that will be incorporated into your certificate request...这类内容),要求你手动确认或填写那些已经在配置文件里定义好的字段。

问题原因&解决办法

其实问题出在[ req ]段的配置里——你虽然指定了默认值,但OpenSSL默认还是会弹出提示让你确认。咱只需要在[ req ]段里加一行配置,告诉OpenSSL“别啰嗦,直接用配置里的默认值就行”。

把你的rootCA_openssl.cnf里的[ req ]段修改成这样:

[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no  # 新增这行,彻底禁用交互式提示

修改完配置后,再重新执行生成CSR的命令,这次系统就不会再弹出那些烦人的提示了,会直接读取配置文件里的参数生成CSR。

验证一下是否生效

生成CSR后,你可以用这条命令查看CSR的详细内容,确认所有字段都和配置文件里的一致:

openssl req -in rootCA.csr -noout -text

备注:内容来源于stack exchange,提问作者Europa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:58:15