支付服务器cUrl带有ssl证书的http帖子要求私钥我没有

时间:2010-12-08 09:19:19

标签: php ssl curl

我必须将数据发送到付款服务器并从中接收结果。我决定使用cUrl来实现这一目标。另一方给了我一张ssl证书,就像公钥一样(如果我理解的话)。 cUrl调用返回错误抱怨无法设置私钥,我不明白,因为我无法获得支付服务器的私钥来解决安全问题。我只需要将我的ssl证书传递给支付服务器,以便他们可以识别我(他们有我的服务器IP,我想他们给我的证书的私钥)。

我想我需要模拟浏览器发送证书的方式来访问必要的网站,而不是用私钥签名信息。

所以问题是 - 如何制作cUrl http帖子?

现在我使用这段代码:

$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);
}

2 个答案:

答案 0 :(得分:1)

CURLOPT_SSL_VERIFYPEER应设置为true而不是false

答案 1 :(得分:0)

确定。似乎我没有得到所有的数据。我必须有一把钥匙和钥匙才能正常运作。