cURL error 60: SSL certificate problem: unable to get local issuer certificate

I’ve been researching for hours, but I don’t seem to find a solution. I’ve tried every single solution I’ve found.

We’re running WordPress 5.4 with PHP v7.4 in a Windows 2019 server that’s behind an intranet in a Fortune 500 company (ie. Microsoft.com). I mention the Fortune 500 bit because we’re behind a firewall that I cannot alter. The WP installation is running under IIS 10.0 (screenshot here).

So everything’s working fine, but I get the following error when trying to activate a plugin that we bought. Here’s a screenshot of the browser console:

object(WP_Error)#1107 (2) {
  ["errors"]=>
  array(1) {
    ["http_request_failed"]=>
    array(1) {
      [0]=>
      string(78) "cURL error 60: SSL certificate problem: unable to get local issuer certificate"
    }
  }
  ["error_data"]=>
  array(0) {
  }
}

I’ve tried every solution I’ve found:

  1. I downloaded “cacert.pem” from here: http://curl.haxx.se/docs/caextract.html

  2. I modified the correct php.ini file by adding curl.cainfo="C:\PHP\Extras\SSL\cacert.pem". We know it’s the correct php.ini because we installed plugin PHP Info (WP), plus another plugin that confirmed this.

  3. When that didn’t work, I then added openssl.cafile="C:\PHP\Extras\SSL\cacert.pem" to php.ini.

  4. I also switched from \ to /.

  5. I also removed the quotes (openssl.cafile=C:\PHP\Extras\SSL\cacert.pem)

After every change, we’re restarted the server, ran iisreset and restarted IIS from the IIS manager. Nothing has changed.

What else can we do?

Something worth mentioning is that we had to use Configure HTTP Proxy Server in wp-config.php so that WP could work properly. I don’t know if it’s relevant or not.

0

Leave a Comment