【问题标题】:What does "SSL_CTX_use_PrivateKey_file" "problems getting password error" indicate in Nginx error log?Nginx 错误日志中的“SSL_CTX_use_PrivateKey_file”“获取密码错误的问题”表示什么?
【发布时间】:2012-03-11 22:21:03
【问题描述】:

我正在尝试在 Nginx 上设置 SSL。它不起作用,并且我在错误日志中收到以下错误,该错误是从编译 nginx 的 OpenSSL 库中传递的。我不知道那个库是什么,但它是 nginx 的 0.8.54 版本,我在 Ubuntu Linux 上使用 apt-get 安装了它。

2012/02/21 07:06:33 [emerg] 4071#0: 
SSL_CTX_use_PrivateKey_file("/exequias/certs/exequias.com.key") failed (SSL: 
error:0906406D:PEM routines:PEM_def_callback:problems getting password error:
0906A068:PEM routines:PEM_do_header:bad password read error:140B0009:SSL routines:
SSL_CTX_use_PrivateKey_file:PEM lib)

我已确保私钥文件的文件权限不会阻止 nginx 读取它。它是一个 RSA 私钥,由openssl rsa 生成。

任何想法可能导致这种情况?

【问题讨论】:

    标签: ssl https nginx openssl private-key


    【解决方案1】:

    我知道了...与 nginx 一起使用的私钥文件必须有密码。我删除了密码,它起作用了。

    【讨论】:

    • 我不记得了——我可能只是用openssl 生成了一个新的私钥,并且忘记了密码。
    • 谢谢,我记得密码。
    • @CrossleSong ssh-keygen -t rsa 并且不要输入密码来生成没有密码的密钥。
    【解决方案2】:

    删除密钥密码:

    openssl rsa -in key.pem -out newkey.pem
    

    如果他们的证书和密钥在一起:

    openssl rsa -in mycert.pem -out newcert.pem
    openssl x509 -in mycert.pem >>newcert.pem
    

    来源:http://www.madboa.com/geek/openssl/#key-removepass

    【讨论】:

    • 非常感谢!我在R'lyeh。你救了我的理智。
    • 不客气 :-) 我听到了。我写这个答案已经两年了,现在我什么都不记得了:D #insanityrealized
    【解决方案3】:

    这个问题现在有点老了,至少从 1.2 版本开始,nginx 实际上支持在启动时询问密码。但是这个问题仍然存在,因为这个功能已经从 debian 的最新版本中删除,版本 8 和 nginx 1.6。原因是密码输入尚未在 nginx 的 systemd 脚本中实现,而对于 apache 却已实现。手动启动nginx很简单,也不是什么大问题,反正需要人工干预,这里没用systemd。

    参考:https://forum.nginx.org/read.php?2,262900,262931#msg-262931

    【讨论】:

      【解决方案4】:

      因为您生成带有密码的 .crt 文件,所以您需要像这样在 Nginx conf 中为您的 .key 和 .crt 文件指定相同的密码

      server {
          ssl_password_file /path-to-your-passphrase/ssl.pass;
      }
      

      Nginx Doc

      或者,如果您不需要证书文件的密码,只需使用ssh-keygen 工具生成文件,如下所示:

      ssh-keygen -t rsa
      

      【讨论】:

      • @JosephCoco 是的,你是对的。我需要编辑我的答案。
      • 完美:thumbsup:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 2018-03-10
      • 2021-02-07
      • 2016-06-06
      • 2015-10-03
      • 1970-01-01
      • 2014-06-16
      相关资源
      最近更新 更多