指定OpenSSL配置文件时出错

时间:2014-09-02 19:51:23

标签: amazon-web-services openssl ssl-certificate

我试图在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

     

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

  • 我在" m""当我运行这些命令时?
  • 亚马逊指南说"设置OpenSSL_CONFIG = ..."但我在多个例子中看到它应该是"设置OpenSSL_CONF = ..."所以它是" CONFIG"或" CONF"?
  • 之后它说:
  

openssl genrsa 2048>您-私钥-filename.pem

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

4848:错误:0200107B:系统库:fopen:未知错误:。\ crypto \ bio \ bss_file.c:169:fopen(' C:\ OpenSSL-Win32 \ bin \ openssl.cfg' ' RB')   4848:错误:2006D002:BIO例程:BIO_new_file:system lib:。\ crypto \ bio \ bss_file.c:174:   4848:错误:0E078002:配置文件例程: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:错误:0200107B:系统库:fopen:未知错误:。\ 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:错误:0E078002:配置文件例程:DEF_LOAD:system lib:。\ crypto \ con   ˚F\ conf_def.c:199:

我完全陷入困境。无论我做什么,我都无法创建CSR。谁能看到我做错了什么?

我非常确定亚马逊指南不正确。 "设置OpenSSL_CONFIG"似乎没有任何效果。但是"设置OpenSSL_CONF"肯定会产生影响。这让我想知道亚马逊指南中还有哪些不正确或缺失...

编辑: 好吧......我刚跳过你设置openssl_home,openssl_config和路径的前三个步骤,一切正常。所以...不确定这些步骤的重点是什么,因为他们当然没有帮助。

1 个答案:

答案 0 :(得分:4)

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

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

我在帖子中看到的是set命令上的等号后面有单个空格字符:{/ 1}。