openssl 生成证书时报错Error opening CA private key

在Windows XP 32位环境下,使用openssl生成自签名CA及证书过程中遇到"Error opening CA private key"错误。通过检查私钥文件、配置文件中的路径以及确保所有必填字段完整,成功解决了问题。错误原因是配置文件中的demoCA路径不正确,修正为绝对路径并重新生成证书请求文件后,证书成功生成。

参考http://blog.youkuaiyun.com/u014721096/article/details/78571287生成证书方法【我是在winxp 32上执行的,特意下的openssl win32版】,在用openssl生成自签CA及证书私钥与证书请求文件后,用自签CA与证书请求文件生成证书,生成证书命令如下:openssl ca -in E:\OpenSSL-Win32\bin\PEM\demoCA\cert.csr -days 1 -out E:\OpenSSL-Win32\bin\PEM\demoCA\certs\cert.crt

执行该命令报错Error opening CA private key,如图1


图1

很明显报错是说私钥文件找不到,由于报错中的路径是相对路径,先在本机上搜到demoCA这个文件夹,观察这个文件夹下是否存在cakey.pem文件


图2

若存在,则继续排查openssl配置文件,搜索openssl.cfg文件,查看其配置的路径为./demoCA,意为demoCA与本配置文件同路径。


图3

而从图2可以看到demoCA是在E:\OpenSSL-Win32\bin\PEM路径下,配置文件路径在E:\OpenSSL-Win32\bin,显然两者不是同一个路径,是配置文件中的路径配错了。

可以将openssl.cfg的路径修改成demoCA的真实路径,最好直接填写绝对路径E:\OpenSSL-Win32\bin\PEM\demoCA


图4

修改完成后再在cmd中输出证书生成命令,不再出现报错Error opening CA private key

图5

控制台回显中有The mandatory stateOrProvinceName field was missing,是因为我在生成CA证书与证书请求文件时,必填项省份名称没填,如图6


图6

按照要求(填写省份)重新生成这两个文件后,再执行生成证书命令已经OK,控制台回显如图7

 图7


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值