I was trying to post to a webservice and was getting the 60 error code: Peer certificate cannot be authenticated with known CA certificates. .The webservice I was trying to reach was over https.The solution is very simple.You need to set curl not to verify the ssl peer. You can do this by setting an option.curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
The complete code todo a curl request:
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$string);
curl_setopt ($ch,CURLOPT_RETURNTRANSFER , 1 );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
?>To check the error codesuse :
//gives the error code http://www.php.net/manual/en/function.curl-error.php
curl_error($ch);
//or the code, usefull to let the script react on different codes
//http://www.php.net/manual/en/function.curl-errno.php
curl_errno($ch);
//Gives the info about your latest request
curl_getinfo($ch); ?>
EDIT
Allways check your SSL version. You can set it like this.
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
?>
For more http://www.php.net/manual/en/function.curl-setopt.php
- See more at: http://dominiquedecooman.com/fr/solution-curl-webservice-curlesslcacert-60-peer-certificate-cannot-be-authenticated-known-ca#sthash.jaGjuyO3.dpuf