指定 OpenSSL 配置文件时出错

mat*_*360 2 openssl ssl-certificate amazon-web-services

我正在尝试在 EC2 负载均衡器上安装 SSL 证书。遵循本指南:http : //docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html

  • 我安装了 OpenSSL(在 Windows 中)
  • 以管理员身份运行命令提示符
  • 我正在执行“在使用 OpenSSL 命令之前,您必须配置操作系统,以便它具有有关 OpenSSL 安装点位置的信息”这一步骤。

设置 OpenSSL_HOME= C:\OpenSSL-Win32

设置 OpenSSL_CONFIG= C:\OpenSSL-Win32\bin\openssl.cfg

设置路径=%Path%;%OpenSSL_HOME%\bin

  • 当我运行这些命令时,我“在”哪个目录有关系吗?
  • 亚马逊指南说“设置 OpenSSL_CONFIG= ...”,但我在多个示例中看到它应该是“设置 OpenSSL_CONF= ...”,那么它是“CONFIG”还是“CONF”?
  • 之后它说:

openssl genrsa 2048 > 你的私钥文件名.pem

  • 所以,我 CD 到“C:\OpenSSL-Win32\bin”然后我运行“openssl genrsa 2048 > new_key.pem”
  • 在这一点上,发生了 2 件事中的 1 件事。
    • 如果我像指南中所说的那样使用“OpenSSL_CONFIG”,那么我会收到警告:“警告:无法打开配置文件:/usr/local/ssl/openssl.cnf”但是无论如何都会创建 .pem 文件。
    • 如果我使用“OpenSSL_CONF”,则会出现以下错误:

4848:error:0200107B:system library:fopen:Unknown error:.\crypto\bio\bss_file.c:169:fopen('C:\OpenSSL-Win32\bin\openssl.cfg','rb') 4848:error :2006D002:BIO 例程:BIO_new_file:system lib:.\crypto\bio\bss_file.c:174: 4848:error:0E078002:configuration fileroutines:DEF_LOAD:system lib:.\crypto\conf\conf_def.c:199:

  • 然后我继续创建 CSR 的步骤,我遇到了类似的情况

    • 如果我使用“OpenSSL_CONFIG”,则会收到此错误:

      警告:无法打开配置文件:/usr/local/ssl/openssl.cnf 无法从 /usr/local/ssl/openssl.cnf 加载配置信息

    • 如果我使用“OpenSSL_CONF”,则会收到此错误:

      4848:error:0200107B:system library:fopen:Unknown error:.\crypto\bio\bss_file.c:1 69:fopen('C:\OpenSSL-Win32\bin\openssl.cfg','rb') 4848:错误:2006D002:BIO 例程:BIO_new_file:system lib:.\crypto\bio\bss_file.c:174:4848:error:0E078002:configuration fileroutines:DEF_LOAD:system lib:.\crypto\con f\conf_def.c: 199:

我完全被困在这一点上。无论我做什么,我都无法创建 CSR。谁能看到我做错了什么?

我很确定亚马逊指南是不正确的。“设置 OpenSSL_CONFIG”似乎没有任何效果。但是“设置 OpenSSL_CONF”肯定有效果。这让我想知道亚马逊指南中还有什么不正确或遗漏的地方......

编辑:嗯......我只是跳过了你设置 openssl_home、openssl_config 和路径的前三个步骤,一切正常。所以......不确定这些步骤的意义是什么,因为它们肯定没有帮助。

Ami*_*dor 7

我有一个类似的问题,发生的事情是我没有OPENSSL_CONF正确设置,即:

set OPENSSL_CONF="D:\openssl.cnf"      # did not work :(
set OPENSSL_CONF=D:\openssl.cnf        # worked! (without the quotes)
Run Code Online (Sandbox Code Playgroud)

我在您的帖子中看到的是,在命令的等号后面有一个空格字符setOPENSSL_CONF= your-file-here.cnf.