我必须发送数据到付款服务器并从中接收结果。我决定使用cUrl来完成。另一方给了我一个ssl证书,就像公钥一样(如果我理解的话)。 cUrl调用返回错误,抱怨无法设置私钥,这是我无法理解的,因为我无法获取付款服务器的私钥以解决安全问题。我只需要将我的ssl证书传递给支付服务器,以便他们能够识别我(他们有我的服务器IP,并且我认为他们给我的证书是私钥)。支付服务器cUrl http post与ssl证书要求私钥我没有
我想我需要模拟浏览器发送证书的方式访问必要的网站,而不是用私钥签名信息。
所以问题是 - 如何使cUrl http post?
现在我用这个代码:
$x = curl_init();
$options = array(
CURLOPT_URL => $serverURL,
CURLOPT_VERBOSE => 1,
CURLOPT_SSLCERT => getcwd() . "/certificate.pem",
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_FAILONERROR => 1,
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $string,
CURLOPT_FOLLOWLOCATION => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 5,
);
curl_setopt_array($x, $options);
$data = curl_exec($x);
if (curl_errno($x)) {
echo curl_error($x) . " (" . curl_errno($x) . ")<br/>";
} else {
echo "reponse: ";
var_dump ($data);
}
也尝试过 - 没有效果,错误:“无法设置私钥文件” – banesto 2010-12-08 09:40:30