PHP cURL错误58

时间:2013-04-16 16:33:25

标签: php curl

需要一些帮助来理解无处不在的cURL 58错误,在这种情况下,错误包括带有cURL请求的PEM文件。

 Error 58: unable to set private key file

我的代码可以成功打开.pem文件(请参阅fopen()调用)但cURL抱怨它无法设置私钥文件。试图更好地了解客户端上的这个东西(我)是否从主机返回。很确定这是我的结果,但不知道是什么。

由于

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->apiURL);
$fh = fopen($this->certPath,'a+');

if($fh){
         echo "File opened!";
         fclose($fh);
       } else {
         echo "File not opened";
}

    curl_setopt($ch, CURLOPT_SSLCERT, $this->certPath);
    curl_setopt($ch, CURLOPT_POSTFIELDS, trim($SOAPrequest));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($ch);
    if (curl_error($ch)) {
        printf("Error %s: %s", curl_errno($ch), curl_error($ch));
    }
    curl_close ($ch);

    return $result;
}

关键:

-----BEGIN CERTIFICATE-----
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
[...]
-----END CERTIFICATE-----

1 个答案:

答案 0 :(得分:1)

您的文件不包含任何私钥,只包含公钥 我想你根本没有理由使用CURLOPT_SSLCERT。