我必須發送數據到付款服務器並從中接收結果。我決定使用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