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

被折叠的 条评论
为什么被折叠?



