phpcurl ssl验证

标签 php ssl curl

我只是用php开发了一些软件,使用curlib连接amazon,paypal,wechat,我想验证证书,我发现一些与此相关的参数:

CURLOPT_SSL_VERIFYPEER :我认为如果你想验证ssl证书,这个参数应该设置为true;

但我对 CURLOPT_CAINFO

感到困惑
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT, $sslCertPath);
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY, $sslKeyPath); 

什么时候应该设置CURLOPT_CAINFO以及什么时候应该设置以下 4 个参数?

我认为 CURLOPT_CAINFO 是一个参数,用于确保 amazon 是 amazon,paypal 是 paypal;

以下4个参数是为了确认我是真实的我,亚马逊可以通过这4个参数来确认。

我说得对吗?

而且我不知道如何获取 CURLOPT_CAINFO ca?因为我想如果我确认亚马逊是亚马逊,我只需验证亚马逊发送给我的 ca 就足够了,为什么我要发送一个加州到亚马逊?

最佳答案

如果您想使用CURLOPT_SSL_VERIFYPEER,请尝试一下:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . '/cacert.pem');

在此处下载 cacert.pem https://curl.haxx.se/docs/caextract.html

关于phpcurl ssl验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52325791/

相关文章:

.htaccess - 多个 url 托管只有一个需要 https

php - 具有相同请求 header 的 BASH cURL 和 PHP cURL 的不同响应

elasticsearch - 如何对 Secured ElasticSearch 执行 curl 命令(在 Openshift 命名空间 openshift-logging 中运行的 ElasticSearch)

PHP cURL 请求无法平衡付款

PHP 取消设置 session 不起作用

php - 如何加密非阻塞 PHP 套接字流?

php - Zend 框架操作堆栈替代方案

wordpress - 如何使代理的 wordpress 页面不更改键入的 url

php - Yii 查询缓存具有无限过期时间

c# - 如何编码 HTTP POST 参数(C# 客户端到 PHP 服务器)?