|
Posted by Damon on 03/09/07 17:45
I've been pulling my hair out over this and I need some expert help.
I'm trying to access an XML API using cURL over SSL.
Here's the API address:
https://tps-test.voiceeclipse.com/cgi-bin/ve_xml.cgi
Here's what I'm doing:
$ch = curl_init(); // initialize curl handle
curl_setopt( $ch, CURLOPT_SSLVERSION, 2); <-- tried this, doesn't
help
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); <-- if I set this to
false, I get a message that no XML was received, but I've verified
that I *am* sending a valid XML stream.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); <-- no effect whether
I use this or not
curl_setopt($ch, CURLOPT_URL, "https://tps-test.voiceeclipse.com/cgi-
bin/ve_xml.cgi"); // set url to post to
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return into a
variable
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // times out after 10 seconds
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlStream); // add POST fields
$xmlresult = curl_exec($ch); // run the whole process
Here's my error:
Error 60: SSL Certificate problem, verify that the CA cert is OK.
Details: error:1407E086:SSL routines:SSL2_SET_CERTIFICATE:certificate
verify failed
I don't really understand how this is supposed to work. The local
server has its own SSL certificate. I've also downloaded the
certificate for the voiceeclipse server and put that in the certs
folder. I've even directly specified that file using:
curl_setopt($ch, CURLOPT_CAINFO, "(full certificate path)"); but no
joy. I know I have the certificate in the right format (Base-64).
What else could be going wrong?
Help!!
Damon
[Back to original message]
|