3

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

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

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

谢谢!

4

2 回答 2

3

设置SSL.Connection.clientPostConnectionCheck = None确实绕过了 WrongHost 检查,但它也绕过了您可能不想绕过的许多其他检查(例如检查是否有任何证书)。我建议使用 try/except 组合来捕获 WrongHost,因为在连接函数结束之前实际上没有检查或执行任何其他操作。

换句话说,只要捕捉到这个异常,就不会留下任何东西(据我在源代码中看到的),因此我说它是比使用更好的方法

SSL.Connection.clientPostConnectionCheck = None

这消除了许多其他有价值的支票。

至于进行 xmlrpc 调用时的错误,在不知道错误是什么的情况下我不能肯定地说。我猜这是 ProtocolError 异常,如果是这种情况,您可以编辑 m2xmlrpclib.py 以不使用您得到的 ProtocolError 异常中列出的 errcode 引发异常。

于 2010-02-23T20:11:01.503 回答
0

从那时起,属性名称已更改为:

M2Crypto.SSL.Connection.postConnectionCheck = None
于 2020-11-29T01:21:48.303 回答