我正在使用下面的命令在 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。