certutil - 如何避免用户输入

certutil - 如何避免用户输入

我正在使用下面的命令在 bash 脚本中创建 CA 证书。

certutil -S -x -n "MyOrg AC CA" \
  -z <(openssl rand -hex 16) \
  -s "O=MyOrg,CN=MyOrg AC CA" \
  -Z SHA512 --pss -k rsa -g 4096 -v 120  \
  -t "CT,," -d sql:"/var/lib/ipsec/nss" -2

但是,我想避免用户输入,但仍分配基本约束“CA”和“关键”。

我认为输出certutil -L -d /var/lib/ipsec/nss -n "MyOrg AC CA"应该是这样的:

Signed Extensions:
    Name: Certificate Basic Constraints
    Critical: True
    Data: Is a CA with no maximum path length.

此外,使用此命令创建主机证书也需要用户输入。

certutil -S -x -n "${host}" \
    -z <(openssl rand -hex 16) \
    -s "O=MyOrg,CN=${host}" \
    -Z SHA512 --pss -k rsa -g 4096 -v 60 \
    -t ",," -d sql:"/var/lib/ipsec/nss" -c "MyOrg AC CA" -1 -6 -8 "${host}"

如何避免用户输入并在命令行上添加适当的扩展?

创建的证书将与 Libreswan IPSec 版本 4.12 一起使用,我使用 Linux 内核 5.14。

相关内容