2015-03-10 6 views
0

У меня есть следующий код:Использование Curl сертификата SSL в Wordpress Plugin

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_fields)); 
curl_setopt($curl, CURLOPT_VERBOSE, '1');   
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, '0');    
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, '0');    
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_SSLCERT, 'cert.pem');    
curl_setopt($curl, CURLOPT_SSLKEY, 'cert.pem'); 
curl_setopt($curl, CURLOPT_SSLKEYPASSWD, 'mypass'); 
curl_setopt($curl, CURLOPT_URL, 'https://example.com:18443/Handler'); 

Когда я запускаю только этот код, все работает правильно. (включая сертификат SSL).

Но, когда я использую этот код в WP плагин, есть: curl_error: unable to use client certificate (no key found or wrong pass phrase?)

Я думаю, что есть некоторые скрытые фильтры в пределах Wordpress основных и они блоков/редактирует мой запрос SSL Curl.

Как я могу избежать фильтров WP http curl?

ответ

0

Я нашел решение:

$certfile = plugin_dir_path(__FILE__) . '/cert.pem'; 

$curl = curl_init(); 

curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_fields)); 
curl_setopt($curl, CURLOPT_VERBOSE, '1');   
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, '0');    
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, '0');    
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_SSLCERT, $certfile);    
curl_setopt($curl, CURLOPT_SSLKEY, $certfile); 
curl_setopt($curl, CURLOPT_SSLKEYPASSWD, 'mypass'); 
curl_setopt($curl, CURLOPT_URL, 'https://example.com:18443/Handler'); 
Смежные вопросы