Why does openssl_pkey_new() fail?

12,586

Solution 1

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.

Solution 2

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
Share:
12,586

Related videos on Youtube

Mawg says reinstate Monica
Author by

Mawg says reinstate Monica

Donate a cup of food for free: Click to Give @ The Hunger Site SOreadytohelp

Updated on May 10, 2022

Comments

  • Mawg says reinstate Monica
    Mawg says reinstate Monica almost 2 years

    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?