1

我正在观看 Ray Villalobos 演示如何使用 PHP 处理 Twitter API 1.1 更改。在视频中,他将这个证书放在了服务器中。我的问题是,使用此证书的目的是什么?

4

2 回答 2

1

cacert.pem 文件包含 SSL/TLS 站点的所有证书颁发机构的当前(截至去年年底)根证书。这些是 VeriSign、Thawte、GeoTrust 等公司,他们出售为商业网站签署加密密钥的“服务”。例如银行、谷歌、Facebook 和所有其他网站,它们不仅希望在其服务器和客户之间建立安全连接,而且还希望人们使用的浏览器能够识别他们的 SSL 密钥。

该文件是 Mozilla 在其浏览器(Firefox、Seamonkey 等)中使用的文件。文件中的根证书已用于签署已支付服务费用的网站的加密密钥。证书颁发机构通常需要付出一定的努力才能使签名的人真正拥有相关的域和网站。因此,当 Internet 用户使用 Firefox 访问安全网站时,浏览器会检查连接的加密密钥,并检查它们是否已由记录在案的根证书之一签名。如果密钥已经签名,那么用户会看到一个挂锁和一些关于站点安全的漂亮而蓬松的消息。如果密钥尚未签名,则用户会看到大量警告消息,他们应该自行承担风险。

Ray Villalobos 使用 Mozilla 文件的意图是在 PHP 代码中加入与 Mozilla 浏览器中目前存在的相同类型的安全检查(还有 Thunderbird,因为它连接到网络以检索插件和 RSS 提要)。

但是,应该注意的是,由这些根证书之一签名的 SSL 或 TLS 密钥并不能通过认证来保证安全。连接的安全性完全取决于每台服务器上生成的加密密钥(最终用户保持他们的软件是最新的以及其他一些事情)。所有的认证签名真正证明的是,有人向其中一个认证机构支付了一些钱,填写了一些表格,并且如果他们在(某些)表格上撒谎,他们就有冒着伪证的风险。

于 2013-09-22T12:21:49.413 回答
1

我相信是因为他正在使用 tmhOAuth 库。

在 tmhOAuth 网站上,它说:“版本 0.60 加强了库的安全性,并将 curl_ssl_verifypeer 默认设置为 true。由于某些托管服务提供商不提供最新的证书根文件,因此它现在包含在此存储库中。”

因此,由于 cURL 连接到 HTTPS 页面,它必须使用 SSL 证书。

于 2013-09-22T05:07:12.743 回答