Peer certificate cannot be authenticated with known CA certificates.


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 to do a curl request:
<?php
  $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 codes use :
<?php
//gives the error code <a href="http://www.php.net/manual/en/function.curl-error.php
curl_error">http://www.php.net/manual/en/function.curl-error.php
curl_error</a>($ch);

//or the code, usefull to let the script react on different codes
//<a href="http://www.php.net/manual/en/function.curl-errno.php
curl_errno">http://www.php.net/manual/en/function.curl-errno.php
curl_errno</a>($ch);

//Gives the info about your latest request
curl_getinfo($ch); ?>
EDIT

Allways check your SSL version. You can set it like this.
<?php
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

 轉自:http://dominiquedecooman.com/fr/solution-curl-webservice-curlesslcacert-60-peer-certificate-cannot-be-authenticated-known-ca


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM