在php中使用curl发送多个.crt证书

时间:2014-09-09 11:21:58

标签: php curl

我想在php中使用curl发送两个.crt证书。 我正在使用此代码。

$firstcalldata = "csv file data";
$target_url = www.example.com;
$ch = curl_init($target_url);
curl_setopt($ch, CURLOPT_VERBOSE, '1'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CAINFO,"C:/Users/admin/Desktop/CERT/PSCERT.pem");
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "C:/Users/admin/Desktop/CERT/PSCERT-C.crt");
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $firstcalldata);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:  application/csv'));
$result = curl_exec($ch);
echo $result;
curl_close($ch);`

我还向$ target_url发送了一个csv文件。

但是我一直得到403 - 禁止访问:拒绝访问。

1 个答案:

答案 0 :(得分:0)

你并没有真正说出你想要完成的事情,你只是在问一个非常奇怪的问题而没有答案。您的示例根本不发送.crt,它使用它来验证服务器的证书。并且CAINFO旨在指向一个包含完整包的文件(就像您可以在curl's caextract page获得的文件之一)

但是你禁用了VERIFYPEER和VERIFYHOST,所以你实际上并不需要任何CA证书!?

你到底想做什么?另请注意,如何获得403后意味着您已经通过TLS层进行了良好的沟通。