📌  相关文章
📜  无法打开 C:\ci\openssl_1581353098519\_h_env\Library openssl.cnf 进行读取,没有这样的文件或目录 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:40:07.814000             🧑  作者: Mango

无法打开 C:\ci\openssl_1581353098519_h_env\Library openssl.cnf 进行读取,没有这样的文件或目录 - Shell-Bash

这个错误通常发生在使用 OpenSSL 库时,表示 OpenSSL 无法找到指定的 openssl.cnf 文件进行读取。可能是因为文件不存在、文件路径错误或权限不足等原因。

可能原因
  • 文件不存在:指定的 openssl.cnf 文件不存在,需要确认文件是否存在以及文件路径是否正确。

  • 文件路径错误:指定的文件路径不正确,需要确认文件路径是否正确。

  • 权限不足:可能是当前用户没有足够的权限来访问指定的文件路径或文件。

解决方法
  1. 确认指定的 openssl.cnf 文件是否存在,路径是否正确。

  2. 添加 OpenSSL 配置文件路径到系统环境变量 OPENSSL_CONF 中,以便 OpenSSL 能够找到该文件:

    export OPENSSL_CONF=/path/to/openssl.cnf
    

    如果是 Windows,可以将以下命令添加到 cmd 或 PowerShell 窗口中:

    SET OPENSSL_CONF=C:\path\to\openssl.cnf
    
  3. 如果权限不足,可以尝试以管理员权限运行程序。

  4. 如果仍然无法解决问题,可以尝试重新安装 OpenSSL 库。

示例代码
$ openssl s_client -connect example.com:443
unable to find 'openssl.cnf' (in $OPENSSL_CONF)
$ export OPENSSL_CONF=/path/to/openssl.cnf
$ openssl s_client -connect example.com:443
> SET OPENSSL_CONF=C:\path\to\openssl.cnf
> openssl s_client -connect example.com:443