无论如何都要通过命令行为openssl cert指定basicConstraints

时间:2016-04-28 16:34:54

标签: ssl openssl

我想在我的自签名CA创建脚本中包含basicConstraints=CA:TRUE,pathlen:0约束,如果我不必创建配置文件和所有文件夹,那么简化我的过程会有很长的路要走。适当的CA的结构。

我正在尝试创建一个只能签署最终证书的中间证书,而不是其他CA.我将使用bouncycastle签署所有进一步的证书,无论如何我都不需要为正确的CA创建文件夹结构。

2 个答案:

答案 0 :(得分:10)

需要创建OpenSSL配置文件或任何文件夹结构,以使用OpenSSL创建自签名证书。

例如,以下是最小的OpenSSL配置文件可能包含的内容,用于设置基本约束扩展,如下所示:

[req]
distinguished_name=dn
[ dn ]
[ ext ]
basicConstraints=CA:TRUE,pathlen:0

在这里,我使用OpenSSL从Bash shell创建一个带有“配置文件”的自签名证书,只有它不是文件 - 它是一个shell变量:

CONFIG="
[req]
distinguished_name=dn
[ dn ]
[ ext ]
basicConstraints=CA:TRUE,pathlen:0
"

openssl req -config <(echo "$CONFIG") -new -newkey rsa:2048 -nodes \
  -subj "/CN=Hello" -x509 -extensions ext -keyout key.pem -out crt.pem
祝你好运!

答案 1 :(得分:2)

添加没有basicConstraints的{​​{1}}

我无法避免如何完全使用它,但是使用默认配置并注释掉命令行中设置的任何内容似乎足够有效。

利用openssl.cnf可以多次使用

鉴于已经存在的-addext并警告 eg privkey.pem并没有相互矛盾的说明,以下内容似乎可以做到而没有强烈的批评< / strong>。

/etc/ssl/openssl.cnf