Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does openssl_pkey_new() fail?

I'm very new to this. Why is openssl_pkey_new() returning false?

I am using XAMPP and there is a an OpenSSL under the Apahce\bin directory.

What obvious beginner mistake am I making? Maybe it's a matter of SSL configuration?

My goal is to write the two keys into two files.


Update: as suggested, I used openssl_error_string() and it says error:02001003:system library:fopen:No such process. It sounds like maybe OpenSSL isn't running or isn't in the path?? Any ideas?


Update: I put c:\xampp\php into the windows path, so that it could find libeay32.dlland restarted Apache.

Now I get error:2006D080:BIO routines:BIO_new_file:no such file. Any ideas?

like image 238
Mawg says reinstate Monica Avatar asked Nov 26 '10 04:11

Mawg says reinstate Monica


2 Answers

Use openssl_error_string() to find out why openssl_pkey_new() is returning false (or any other OpenSSL error).


After your latest update, it appears that OpenSSL can't find the openssl.cnf file, as described here.

like image 109
caf Avatar answered Nov 01 '22 18:11

caf


For me with XAMPP on Windows 10 it works:

  1. https://stackoverflow.com/a/18869750/4695499. (You can find exactly those steps in the old Control panel in Windows 10 under one of the display options)
  2. I also tried uncomment extension=php_openssl.dll in php.ini (but I mean it’s working without that)
  3. I restarted computer and Apache, then openssl_pkey_new() generated some of RESOURCE instead of false
like image 35
Starboy Avatar answered Nov 01 '22 20:11

Starboy