我只是用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/