我正在尝试在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生成。

任何想法可能是什么原因造成的?

最佳答案

删除密码:

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

关于ssl - ngt_prehh “SSL_CTX_use_PrivateKey_file”在Nginx错误日志中指示什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9380403/

10-13 04:33