我应该更多地关注我的安全课程。我对某事感到很困惑。首先,这是我要完成的工作的背景。
我有一个需要访问的 Web 服务。Web 服务设置为 HTTPS。客户端和服务器之间的流量是加密的(这与身份验证无关)。
我正在通过 cURL 和 PHP 与 Web 服务进行交互。我已经获得了一个通过 HTTP 在本地工作的示例,并且我相当有信心在 cURL/PHP 方面我走在正确的轨道上。
当使用 HTTP 版本的代码通过 HTTPS 访问 Web 服务时,我得到一个error code 60 "SSL certificate problem, verify that the CA cert is OK" (error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed)
从我的阅读来看,我似乎需要一个 PEM 文件,并且我需要设置额外的 cURL 选项,如下所示:
- CURLOPT_CAINFO
- CURLOPT_SSLCERT
- CURLOPT_SSLKEYPASSWD
我的问题是我怎么知道从哪里获取 PEM 文件或者我是否可以简单地制作它?这可能是一个显而易见的答案,因为我确定我遗漏了一些东西,但我想我只需要询问并了解我遗漏的背景。
修正:Web 服务使用由 VeriSign 签署的证书。所以它不是自签名证书。此外,Web 服务由外部组织拥有和运营。
谢谢。