使用OpenSSL生成HTTPS证书时遇文件读取错误求助
解决OpenSSL找不到openssl.cnf配置文件的错误
执行openssl req -new -key privateKey.pem -out request.pem时出现以下错误:
Can't open C:/OpenSSL/SSL/openssl.cnf for reading, No such file or directory
1332:error:02001003:system library:fopen:No such process:crypto/bio/bss_file.c:69:fopen('C:/OpenSSL/SSL/openssl.cnf','r')
这是因为OpenSSL默认会读取C:/OpenSSL/SSL/openssl.cnf,但你的环境中该路径不存在配置文件。以下是几种解决办法:
直接在命令中指定配置文件路径
使用-config参数明确openssl.cnf的实际位置,替换成你自己的OpenSSL安装路径:openssl req -new -key privateKey.pem -out request.pem -config D:\OpenSSL-win64\bin\openssl.cnf设置OPENSSL_CONF环境变量
- 临时生效(仅当前命令行窗口):
设置完成后再执行原命令即可。set OPENSSL_CONF=D:\OpenSSL-win64\bin\openssl.cnf - 永久生效:
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量中新建:- 变量名:
OPENSSL_CONF - 变量值:配置文件的实际路径(如
D:\OpenSSL-win64\bin\openssl.cnf)
重启命令行窗口后生效。
- 变量名:
- 临时生效(仅当前命令行窗口):
复制配置文件到默认路径
如果你的OpenSSL安装目录里有openssl.cnf(通常在bin目录下),手动创建C:/OpenSSL/SSL目录,然后将配置文件复制到该目录中。
内容的提问来源于stack exchange,提问作者Assay Khan
相关产品推荐
相关产品推荐

