无法打开配置文件:Windows 上的 /usr/local/ssl/openssl.cnf [重复]

Posted

技术标签:

【中文标题】无法打开配置文件:Windows 上的 /usr/local/ssl/openssl.cnf [重复]【英文标题】:Can't open config file: /usr/local/ssl/openssl.cnf on Windows [duplicate] 【发布时间】:2013-05-15 12:20:02 【问题描述】:

我已经安装了 OpenSSL 64。我想为我的 nodejs https 服务器使用证书。我运行了以下命令:

openssl genrsa -out subdomain.domain.com.key 1024

但我得到了错误:

WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
.........++++++
.........................................++++++
unable to write 'random state'
e is 65537 (0x10001)

我该如何解决? 这是正确的命令吗?

【问题讨论】:

创建一个文本文件并将其命名为 openssl.cnf。文件示例内容:flatmtn.com/article/… *** 帖子:***.com/a/43630802/4217744 【参考方案1】:

解决方案是运行这个命令:

set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg   

set OPENSSL_CONF=[path-to-OpenSSL-install-dir]\bin\openssl.cfg

在命令提示符之前使用openssl 命令。

openssl 确定在哪里可以找到它的.cfg 文件。

或者,您可以在 Windows 环境变量中设置相同的变量 OPENSSL_CONF

注意:使用OpenSSL binary distribution from Shining Light Productions(官方 OpenSSL 的编译 + 安装程序版本,可免费下载和使用)时可能会发生这种情况。此发行版是“半官方”从 OpenSSL 网站链接的,作为“主要用于没有预编译 OpenSSL 包的操作系统的服务”。

【讨论】:

确保您创建了一个用户变量。就我而言,创建系统变量并不能解决问题。 不起作用,我检查了控制台中的 OPENSSL_CONF var 并且它已设置。 如果您使用带空格的路径,请尝试用引号括起来:set "OPENSSL_CONF=C:\OpenSSL Win32\bin 123\openssl.cfg" 另请注意,正如大多数跨平台开源 crapyware 所做的那样,路径中包含 unicode 字符会产生问题。 对我来说需要使用双斜杠:set OPENSSL_CONF=C:\\Projects\\Web\\apache\\conf\\openssl.cnf【参考方案2】:

我在 Apache2.4.4 上安装了 SSL,并首先执行了这段代码,成功了:set OPENSSL_CONF=C:\wamp\bin\apache\Apache2.4.4\conf\openssl.cnf

然后执行剩下的代码..

【讨论】:

这适用于我在带有 Win64OpenSSL_Light-1_1_0c +1 的 Windows 2008 R2 上【参考方案3】:

/usr/local/ssl/openssl.cnf

这样的路径意味着程序已经用 Cygwin 或 MSYS 编译。如果您必须使用这个openssl,那么您将需要一个能够理解这些路径的解释器,例如由 Cygwin 或 MSYS 提供的 Bash。

另一种选择是下载或编译 Windows Native 版本的openssl。使用该程序将需要类似的路径

C:\Users\Steven\ssl\openssl.cnf

这将更适合命令提示符。

【讨论】:

没有。我认为这意味着它是用 OPENSSLDIR 编译的:“/usr/local/ssl”。我的是用 cl.exe openssl version -f compiler: cl -D_USING_V110_SDK71_ [..]编译的。【参考方案4】:

在我的例子中,我使用了 Shining Light 的二进制文件,并且环境变量已经更新。但在我以提升的权限运行命令窗口之前,问题仍然存在。

当您打开 CMD 窗口时,请务必以管理员身份运行它。 (右键单击开始菜单中的命令提示符并选择“以管理员身份运行”)

我认为由于用户帐户控制,它无法读取文件。

【讨论】:

以管理员身份运行命令并执行set OPENSSL_CONF= 为我解决了这个问题。谢谢!【参考方案5】:

解决方案!

只需正确设置-config参数位置,即:

openssl ....................  -config C:\bin\apache\apache2.4.9\conf\openssl.cnf

【讨论】:

这适用于“openssl req”,但不适用于“openssl pkcs12”。环境变量对两者都有效。奇怪的是 pkcs12 选项不包括 -config 开关。 Funny...openssl req 在此处忽略 -config (Apache/2.4.10 Win64) 但设置 OPENSSL_CONF 工作正常。【参考方案6】:

不知道 .cfg 和 .cnf 有什么区别 在我的服务器中,我找不到 .cfg 或 .cnf 我为same 创建了一个新文件并将其放在以下文件夹/usr/local/ssl/bin

执行了

.\openssl genrsa -des3 -out <key name>.key 2048 

做得很好..

【讨论】:

【参考方案7】:

只需安装 Win64 OpenSSL v1.0.2a 或 Win32 OpenSSL v1.0.2a,您可以从http://slproweb.com/products/Win32OpenSSL.html 下载这些。开箱即用,无需配置。

【讨论】:

这是我从那里下载的,并且要说它有OP描述的问题,但是在按照建议(来自Xero会计)安装后重新启动计算机后,我发现它可以工作没有问题。

以上是关于无法打开配置文件:Windows 上的 /usr/local/ssl/openssl.cnf [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Samba 网络驱动器上的 Excel 文件无法打开

在 Windows 上的 PyTorch 中使用“多处理”出现错误-“无法打开共享文件映射:<torch_13684_4004974554>,错误代码:<0>”

autovue打开dft格式文件出现中文乱码

Win7安装时出现:“windows无法安装所需的文件,错误代码:0X80070570 ”这样的错误。这个怎么破?

windows系统打开火狐浏览器提示“无法加载你的firefox配置文件”

Qt 无法在 Windows 上打开包含文件