我们正在使用现有的CA进行freeipa安装。在安装期间,会生成CSR并且必须由CA签名才能创建证书。此证书必须
X509v3基本约束: CA:TRUE
我现在已经研究了大约一个小时,我不知道该怎么做。通常情况下,我会签署CSR这样的
openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ipa.pem
这有效,但CA:TRUE不存在。 我试着这样做:
openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -extensions v3_ca -out ipa.pem
它生成的功能与原始功能相同。
我可以看到生成的密钥从我的openssl.cnf中提取信息,但它忽略了下面的扩展语句。
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
有没有人对我需要做什么或者我能提供哪些其他信息有任何想法?谢谢!
旁注:我没有gui或gui工具,这完全来自命令行。 CSR由IPA软件生成,我不是手动创建的。
这是来自IPA的说明:
为身份管理生成的CA签名证书 服务器必须是有效的CA证书。这要么是要么 Basic Constraint设置为CA = true或Key Usage Extension为 在签名证书上设置,以允许它签署证书。
答案 0 :(得分:4)
你可以使用" -extfile"使openssl x509读取特定的配置。命令。
我建议你制作一个新的配置,让我们把它命名为foo.cnf。 里面放了:
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
basicConstraints = CA:true
现在通过一个小小的改动来运行你的命令:
openssl x509 -req -in ipa.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -extfile foo.cnf -out ipa.pem
您现在应该拥有CA证书:true。
答案 1 :(得分:0)
你应该先创建配置文件
tee ca.cnf <
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
basicConstraints = CA:true
EOF
使用选项签名时使用
-extensions v3_ca -extfile ca.cnf
sudo openssl x509 -req -in ipa.csr -CA root.crt -CAkey root.key -CAcreateserial -extensions v3_ca -extfile ca.cnf -out ipa.crt
检查
sudo openssl x509 -text -noout -in ipa.crt