('SSL 例程', 'ssl3_get_record', '错误的版本号') 当调用 reactor.connectSSL

问题描述

我有这个工作 python 代码,它允许我使用 SSL 连接到服务器:

import socket
import ssl
...
contextInstance = ssl.SSLContext();
contextInstance.verify_mode = ssl.CERT_NONE;
sslSocketInstance = socket.socket(socket.AF_INET,socket.soCK_STREAM)
self.connection = contextInstance.wrap_socket(sslSocketInstance)
self.connection.connect((host,port))

现在我想使用以下代码尝试twistedmatrix连接到同一台服务器:

from twisted.internet import reactor,protocol,ssl
...
# nothing fancy here,sub class of protocol.ClientFactory
myClientFactory = MyClientApplicationFactory()
myClientContextFactory = ssl.ClientContextFactory()
myClientContextFactory.getContext().set_verify(SSL.VERIFY_NONE)
reactor.connectSSL(host,port,myClientFactory,myClientContextFactory)

哪个不起作用(同一台机器,同一 venv),我收到以下错误

[('SSL routines','ssl3_get_record','wrong version number')]

我不知道是什么导致了这个错误,也不知道如何摆脱它。 你能帮我吗?

先谢谢你!

编辑1: 我刚刚找到了这个,但我找不到将它应用于我的上下文的方法,我也不确定它是否相关。 https://forum.crossbar.io/t/ssl-error-wrong-version-number-in-ssl3-get-record/1832

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)