Skip to main content

CURL SSL error in WAMP


I facing problem about certificate error when I using curl to request HTTPS domain. I find cause of problem is there is no certificate configuration in PHP. Below is how to solve my problem.

Here is sample of error:


* About to connect() to notify-api.line.me port 443 (#0) 
* Trying {IP Address}... 
* connected 
* Connected to notify-api.line.me ({IP Address}) port 443 (#0) 
* SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 
* Closing connection #0

Step to solve this problem
  1. Download Certificate Bundle
  2. Extract and put PEM file to your web server folder or other folder.
  3. Enable mod_ssl in Apache and php_openssl.dll in php.ini
  4. Add configuration into php.ini

    curl.cainfo="C:/wamp/cacert.pem"
    openssl.cafile="C:/wamp/cacert.pem"
    

  5. Restart Apache Service




Comments

Popular posts from this blog

Serialize and Deserialize JSON data with C#

This post is about example for serialize and deserialize json data with C#. This example using Newtonsoft.Json to be a library to work with json data. You can add Newtonsoft.Json by download from  https://www.newtonsoft.com/json  or using Nuget to add it into your project. In this example is Bill object that hold billing data about Car object. Serialize Object to String Below is example code to serialize object to json string. At line 39 is code to convert object into json string with beautiful json format. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; namespace JSON { class JSonExample { static void Main( string [] args) { List<Car> cars = new List<Car>(); float to...

Laravel 5.6.34 Released

We’ve had an exciting week in Laravel-land, with the launch of Laravel Nova on Wednesday! Tuesday’s release of Laravel 5.6.34 released quietly before Nova, bringing a few changes and a URL validation compatibility fix for PHP 7.3. First up, the whereRowValues changes to properly wrap columns: $builder = DB::table('table')->whereRowValues(['column1', 'column2'], '=', ['foo', 'bar']); dd($builder->toSql()); // expected: select * from "table" where ("column1", "column2") = (?, ?) // actual: select * from "table" where (column1, column2) = (?, ?) Next, the default mail template’s copyright phrase (i.e., “All rights reserved.”) is localizable. Here’s the implementation: @lang('All rights reserved.') The last change was updating the behavior of the EventFake to dispatch non-faked events. The previous functionality was not to execute any event listeners. Now, al...