验证从Python客户端请求获得的PHP CA文件

验证从Python客户端请求获得的PHP CA文件,php,python,Php,Python,我有一个访问PHP服务器的python客户端。客户端代码如下所示:- import urllib2 response=urllib2.urlopen('https://204.57.7.4/info.php',cafile="cafile.pem") print response.read() 请注意,我将附加CA文件和urlopen。我想在服务器上验证客户端请求 现在,我将如何在基于PHP的服务器端访问cafile.pem 您没有将CA文件提交给服务器,而是告诉python http客户端根

我有一个访问PHP服务器的python客户端。客户端代码如下所示:-

import urllib2
response=urllib2.urlopen('https://204.57.7.4/info.php',cafile="cafile.pem")
print response.read()
请注意,我将附加CA文件和urlopen。我想在服务器上验证客户端请求


现在,我将如何在基于PHP的服务器端访问cafile.pem

您没有将CA文件提交给服务器,而是告诉python http客户端根据cafile.pem检查服务器提供给它的证书

具体地说,你是:

加载一组“证书颁发机构”(CA)证书,用于 验证_模式不是时验证其他对等方的证书 毫无疑问


也就是说,您使用cafile来验证服务器是否就是它所说的服务器。服务器从未收到该文件,因此无法使用该文件验证客户端。

为什么HTTP需要
cafile
?对不起。我错过了s。哦,这就是答案!非常感谢。我现在正在尝试python请求。这是好方法吗?我不知道你的意思。您是说您要使用python请求通过HTTP POST发送文件吗?如果是这样的话,那么这似乎是一个合理的选择。使用这个:r=requests.get(url,cert=“cafile.pem”,verify=False)您对上述代码所做的操作与对原始代码所做的操作相同,只是由于
verify=False
的原因,您现在根本没有检查任何内容。我想您想将cafile.pem发送到服务器,对吗?如果是这样的话,您将希望将cafile.pem作为数据发送,并让服务器端的PHP在发布cafile的情况下处理请求。有关一些示例,请参见的数据部分。是的,我说得对。我想发送ca文件。你已经帮我解决了。非常感谢!