openssl
我可以通过将行basicConstraints = critical,CA:true
放在配置文件的适当部分并使用它来使用命令制作自签名 CA 证书:
openssl req -new -x509 -config myconfig.cnf ...
但是我在使用该certtool
命令做同样的事情时遇到了困难。似乎我应该能够将同一行添加到通过--template=FILE
开关传递的模板文件中,但该行无法识别。
我发现basicConstraints
是 OID 号2.5.29.19
(在 oid-info.com),所以我应该能够添加这样的一行:add_extension = "2.5.29.19 critical,CA:true"
. 但这也失败了。显然 OID 后面的参数必须是数字。
查看RFC2459第 119 页上的代码,我认为这个字符串可能有效。语法被接受,但仍然不产生 CA:add_extension = "2.5.29.19 0xff010103300504ff0101"
那么如何进行certtool
插入扩展critical,CA:true
来创建 CA 证书呢?
交互式地,在跑步时
certtool --generate-self-signed …
,您只需正面回答问题Does the certificate belong to an authority? (y/N)
。在模板中,您可以添加
ca
密钥,如手册页所述: