{"id":360,"date":"2016-04-23T16:09:07","date_gmt":"2016-04-23T16:09:07","guid":{"rendered":"https:\/\/www.dafap.fr\/blog\/?p=360"},"modified":"2016-05-02T12:31:05","modified_gmt":"2016-05-02T12:31:05","slug":"ssl-certificate-problem-unable-to-get-local-issuer-certificate","status":"publish","type":"post","link":"https:\/\/www.dafap.fr\/blog\/developpement-php\/ssl-certificate-problem-unable-to-get-local-issuer-certificate","title":{"rendered":"SSL certificate problem: unable to get local issuer certificate"},"content":{"rendered":"<p><strong>Erreur fr\u00e9quemment obtenue lorsqu'on utilise CURL pour interroger un service\u00a0par son API depuis son serveur local de d\u00e9veloppement.<\/strong><\/p>\n<h2>Solution 1 : modifier le param\u00e9trage du fichier php.ini<\/h2>\n<p>Dans le fichier <em>php.ini<\/em>, il suffit d'indiquer ce qui suit<\/p>\n<pre class=\"\">[curl]\r\n ; A default value for the CURLOPT_CAINFO option. This is required to be an\r\n ; absolute path.\r\n curl.cainfo = \"C:\\Users\\admin\\cer\\cacert.pem\"<\/pre>\n<p>et de placer dans le dossier\u00a0un\u00a0fichier <em>cacert.pem<\/em> \u00e0 l'emplacement indiqu\u00e9. Le chemin doit \u00eatre absolu.\u00a0Voici un fichier\u00a0<a href=\"https:\/\/www.dafap.fr\/blog\/wp-content\/uploads\/2016\/04\/cacert.zip\">cacert<\/a>\u00a0compress\u00e9 au format zip.<\/p>\n<h2>Solution 2 : indiquer \u00e0 curl l'emplacement du fichier cacert.pem<\/h2>\n<p>Lors de l'utilisation, au moment du param\u00e9trage de CURL, indiquer la ligne :<\/p>\n<pre>curl_setopt($ch, CURLOPT_CAINFO,\u00a0 getcwd().'\/cert\/cacert.pem');<\/pre>\n<p>Attention, le chemin doit \u00eatre absolu et le fichier doit \u00eatre pr\u00e9sent.<\/p>\n<h2>La mauvaise solution<\/h2>\n<p>Eviter de d\u00e9sactiver le contr\u00f4le\u00a0des certificats. L'option \u00a0<strong><code>CURLOPT_SSL_VERIFYPEER\u00a0<\/code><\/strong>permet d'arr\u00eater la v\u00e9rification mais provoque une faille de s\u00e9curit\u00e9 lorsque le code est install\u00e9 sur un serveur de production.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erreur fr\u00e9quemment obtenue lorsqu&rsquo;on utilise CURL pour interroger un service\u00a0par son API depuis son serveur local de d\u00e9veloppement. Solution 1 : modifier le param\u00e9trage du fichier php.ini Dans le fichier php.ini, il suffit d&rsquo;indiquer ce qui suit [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[17,26,18,39],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-developpement-php","tag-apache","tag-curl","tag-php","tag-securite"],"_links":{"self":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":5,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":391,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/posts\/360\/revisions\/391"}],"wp:attachment":[{"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dafap.fr\/blog\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}