我正在使用M2Crypto 0.20.2和python 2.4.3。我使用完全限定的域名连接到服务器。服务器证书中的公用名称不使用FQDN,因此我收到此错误:
M2Crypto.SSL.Checker.WrongHost: Peer certificate commonName does not match host
如何覆盖主机名的帖子连接检查?
谢谢!
答案 0 :(得分:2)
设置SSL.Connection.clientPostConnectionCheck = None
会绕过WrongHost检查,但它也会绕过您可能不想绕过的许多其他检查(例如检查是否有任何证书)。我建议使用try / except组合来捕获WrongHost,因为在connect函数结束之前没有其他任何东西被检查或执行过。
换句话说,通过捕获此异常,没有任何东西被撤消(据我在源代码中看到),因此我说这是一条比使用
更好的路线 SSL.Connection.clientPostConnectionCheck = None
摆脱了许多其他有价值的检查。
对于进行xmlrpc调用时的错误,我不能肯定地说不知道错误是什么。我猜测它是ProtocolError异常,如果是这种情况,你可以编辑m2xmlrpclib.py,不要使用你正在获得的ProtocolError异常中列出的错误代码引发异常。
答案 1 :(得分:0)
从那时起,属性名称已更改为:
M2Crypto.SSL.Connection.postConnectionCheck = None