在Windows上使用OpenSSL时:
Openssl genrsa out privatekey。Pem 1024—>
成功创建
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
显示错误消息为
无法从/usr/local/ssl/openssl.cnf加载配置信息
在Windows上使用OpenSSL时:
Openssl genrsa out privatekey。Pem 1024—>
成功创建
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
显示错误消息为
无法从/usr/local/ssl/openssl.cnf加载配置信息
当前回答
在Windows Powershell上:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL-Win64\bin\openssl.cfg"
其他回答
你应该指定配置的绝对路径,就像这样:
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
我在Windows 7上也遇到了类似的问题:
WARNING: can't open config file: C:\OpenSSL-Win32\bin\openssl.cfg
Unable to load config info from C:\OpenSSL-Win32\bin\openssl.cfg
原因是在没有使用deinstallator的情况下删除了OpenSSL-Win32目录,所以没有正确地从系统中删除所有组件。 我不得不手动删除环境变量OPENSSL_CONF。
一些openssl二进制文件,例如安装在git中,不需要OPENSSL_CONF环境变量,但是如果这个环境变量存在,它必须指向有效的文件。
在安装OpenSSL之后,我需要创建一个新的环境变量:
名称:OPENSSL_CONF 取值范围:C:\Program Files\OpenSSL\ openssl.cnf
powershell:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"
这个值与以前的安装版本不同(如本文前面的编辑所示)。另外,不要忘记将openssl二进制文件夹${env:ProgramFiles}\ openssl添加到您的Path中。
对我来说,在Windows 8上,我只是找到了openssl.cnf文件,并将其复制到C盘。然后:
openssl req -new -key server.key -out server.csr -config C:\openssl.cnf
完美的工作。
在我的例子中,我需要使用config选项在命令上手动设置openssl.cnf文件的路径。所以这个命令
openssl req -x509 -config "C:\Users\sk\Downloads\openssl-0.9.8k_X64\openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900