0

我正在使用.pfx扩展名CURL中使用自签名公钥调用 API

function execute_curl($string,$URL)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $URL);

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml','SOAPAction:"http://xxxxxxxxxxxxxxxxxx/SendDoc"'));
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);

    $ch_result = curl_exec($ch);

    return $ch_result;
}

出于安全目的,我无法将其设置CURLOPT_SSL_VERIFYPEERFALSE,任何人都可以告诉我如何正确地将证书及其密码添加到 curl 中?编辑我什至不确定这是否是它的解决方案,到目前为止我没有得到任何回应。非常感谢任何其他解决方案或使其工作的方法。

另外,我试图让它在 2 个环境中工作,我在 windows 中的开发环境以及我在 fedora 中的测试服务器环境,证书应该采用不同的格式吗?

4

0 回答 0