创建中级证书对时遭遇Expecting: CERTIFICATE REQUEST错误求助
问题分析与解决
核心问题
你生成CSR的命令里错误添加了-x509参数,这个参数的作用是直接生成自签名证书,而非证书签名请求(CSR),所以输出文件是-----BEGIN CERTIFICATE-----格式的证书,而非预期的-----BEGIN CERTIFICATE REQUEST-----格式的CSR,这才导致后续openssl ca命令报错。
正确操作步骤
1. 重新生成合法的中级CA CSR
先删除错误生成的文件,执行以下命令(移除-x509参数):
sudo openssl req -config /etc/pki/CA/intermediate/openssl.cnf -key /etc/pki/CA/intermediate/private/intermediate.key.pem -new -sha256 -out /etc/pki/CA/intermediate/csr/intermediate.csr.pem
执行后会提示你填写证书请求的DN信息,完成后生成的文件会包含-----BEGIN CERTIFICATE REQUEST-----头,符合openssl ca的要求。
2. 用根CA签名中级CSR
执行你原本准备的签名命令(注意确认路径正确性,比如intermediate/certs/如果是相对路径,要确保当前工作目录匹配):
sudo openssl ca -config /etc/pki/tls/openssl.cnf -extensions v3_intermediate_ca -days 4000 -notext -md sha256 -in /etc/pki/CA/intermediate/csr/intermediate.csr.pem -out /etc/pki/CA/intermediate/certs/intermediate.cert.pem
配置确认
你的v3_intermediate_ca扩展和[req]段配置完全符合中级CA的要求,不需要修改。问题完全出在CSR生成命令的参数错误上。
内容的提问来源于stack exchange,提问作者BairDev
相关产品推荐
相关产品推荐

