M2Crypto:覆盖HostName的Post Connection检查

时间:2010-02-23 16:37:46

标签: python m2crypto

我正在使用M2Crypto 0.20.2和python 2.4.3。我使用完全限定的域名连接到服务器。服务器证书中的公用名称不使用FQDN,因此我收到此错误:

M2Crypto.SSL.Checker.WrongHost: Peer certificate commonName does not match host

如何覆盖主机名的帖子连接检查?

谢谢!

2 个答案:

答案 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