您的位置:首页 > 运维架构

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

2018-02-25 22:13 246 查看
参考http://blog.csdn.net/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: