我要发出一条通用命令,该命令在运行时应将证书的CN的值作为执行该命令的主机名。
我当前使用的命令如下
openssl req -sha256 -new -key $HOSTNAME.key -out $HOSTNAME.csr -subj 'CN=$HOSTNAME'
HOSTNAME的值在环境变量中定义。例如localhost
执行上述命令会创建一个具有localhost.key实际值的密钥文件,但是CN名称反映为$ HOSTNAME,其中我希望CN为真实主机名,即环境变量中提到的值,即本地主机
答案 0 :(得分:0)
您必须使用引号,并且在字段名称前使用斜杠是个好主意:
openssl req -sha256 -new -key $HOSTNAME.key -out $HOSTNAME.csr -subj "/CN=$HOSTNAME"
如果需要连接:
openssl req -sha256 -new -key $HOSTNAME.key -out $HOSTNAME.csr -subj "/CN=prefix${HOSTNAME}sufix"