dav*_*vka 6 python authentication ssl https ssl-certificate
客户端和服务器都是内部的,每个都有一个由内部CA和CA证书签名的证书.我需要客户端根据它拥有的CA证书验证服务器的证书.它还应将其证书发送到服务器进行身份验证.
该urllib2的手册说,不进行服务器身份验证.PycURL是一种天然替代品,但其许可证尚未获得批准.我也不想从源代码编译库,而是使用RPM代替.
我查了一堆像请求,httplib2这样的库,看不到我需要的东西.还有ssl模块,但如果我不是绝对必须,我不想自己实现http.
RHEL 5.7上的Python 2.6
好吧,胜利者(差不多)是httplib2 v0.7.从此版本开始,它支持SSL证书身份验证.这是示例代码
import httplib2
client = httplib2.Http(ca_certs='ca.crt')
client.add_certificate(key='client_private_key.pem', cert='cert_client.pem', domain='')
headers, resp = client.request(query)
Run Code Online (Sandbox Code Playgroud)
注意domain=''参数,否则它对我不起作用.
PS.不幸的是,这个简单的解决方案对我不起作用,因为我忘了提到额外的要求 - 为RHEL 5.7和Python 2.6安装RPM.