gpt4 book ai didi

php - 证书 CA 捆绑文件 : PEM - PHP/cURL - Local install.。?

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:08 24 4
gpt4 key购买 nike

我正在使用 Windows Server 2008 R2(带有 IIS)、PHP 5.6.0 和 cURL 7.36.0 来针对 PayPal 的 TLS 测试 URL 进行测试:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://tlstest.paypal.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // CURL_SSLVERSION_TLSv1_2
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '\cacert.pem');
$result = curl_exec($ch);
curl_close($ch);

当我使用来自 http://curl.haxx.se/docs/caextract.htmlCURLOPT_CAINFOcacert.pem 时它有效,我得到:

PayPal_Connection_OK

当我不使用 CURLOPT_CAINFO 时,我得到这个错误:

SSL certificate problem: unable to get local issuer certificate

我试过这个:

  1. MMC
  2. 文件 > 添加/删除管理单元
  3. 证书(本地计算机)
  4. 受信任的根证书颁发机构 > 证书
  5. 所有任务 > 导入
  6. 选择cacert.pem
  7. 消息:“导入成功”

但是这没有什么区别,我仍然必须使用 CURLOPT_CAINFO 才能工作。

有什么方法可以在我们的 Windows 服务器上安装所有这些根证书,这样我就不必在每次调用时都使用 CURLOPT_CAINFOcacert.pem让..?

最佳答案

您可以利用 php.ini 设置 cacert.pem 所在位置的绝对路径。

指令是curl.cainfo

设置它,或者至少读取它的值并将您的文件放在正确的位置。

参见: http://php.net/manual/en/curl.configuration.php

关于php - 证书 CA 捆绑文件 : PEM - PHP/cURL - Local install.。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com