Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "SSL_CTX_use_PrivateKey_file" "problems getting password error" indicate in Nginx error log?

I'm trying to set up SSL on Nginx. It doesn't work, and I am getting the following error in the error log, which is getting passed up from the OpenSSL library which nginx was compiled with. I don't know what that library is, but it's version 0.8.54 of nginx, and I installed it using apt-get on Ubuntu Linux.

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) 

I have ensured that the file permissions on the private key file are not stopping nginx from reading it. It is an RSA private key, generated with openssl rsa.

Any ideas what might be causing this?

like image 585
Alex D Avatar asked Feb 21 '12 15:02

Alex D


2 Answers

Remove the key pass phrase:

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

If they certificate and key are together:

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

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

like image 182
Ravindranath Akila Avatar answered Oct 02 '22 17:10

Ravindranath Akila


I got it... the private key file used with nginx must not have a passphrase. I removed the passphrase and it worked.

like image 31
Alex D Avatar answered Oct 02 '22 15:10

Alex D