是否可以直接在命令行上向OpenSSL req
模块提供subjectAltName-Extension?
我知道可以通过openssl.cnf文件来实现,但这对于批量创建CSR来说并不优雅。
我的解决方案是通过环境变量传递subjectAltName
。
首先在openssl.conf
中加入这个变量。
[ san_env ]
subjectAltName=${ENV::SAN}
然后在调用openssl之前设置该环境变量。
export SAN=DNS:value1,DNS:value2
openssl req -extensions san_env -subj '/CN=value1' ...
注意:-extensions san_env
参数在签署CSR和生成CSR时都需要存在。因此,对于CA签署的CSR,在 "openssl ca "命令中也添加-extensions san_env
。