一个适合Python2.5的SSL库

一个适合Python2.5的SSL库,python,ssl,Python,Ssl,我的任务是在Python2.5中将服务器的网络从普通套接字迁移到SSL,我遇到了一个障碍。似乎没有一个SSL库完全实现套接字接口,因此我们目前拥有的代码无法直接迁移 具体来说,我似乎找不到一个支持“setblocking”方法的库(大多数都是包装器,所以直接寻址包装的套接字会很糟糕吗?),而且大多数似乎都没有将包装的套接字视为类似文件的设备,所以关键的“select”方法无法工作(同样,我可以在包装的套接字上运行select吗?) 到目前为止,我已经尝试了tlslite和M2Crypto,但它们

我的任务是在Python2.5中将服务器的网络从普通套接字迁移到SSL,我遇到了一个障碍。似乎没有一个SSL库完全实现套接字接口,因此我们目前拥有的代码无法直接迁移

具体来说,我似乎找不到一个支持“setblocking”方法的库(大多数都是包装器,所以直接寻址包装的套接字会很糟糕吗?),而且大多数似乎都没有将包装的套接字视为类似文件的设备,所以关键的“select”方法无法工作(同样,我可以在包装的套接字上运行select吗?)

到目前为止,我已经尝试了tlslite和M2Crypto,但它们似乎都不像套接字那样透明地工作


任何想法都将不胜感激。

似乎支持
setblocking()

怎么样?它提供了相同的功能,这似乎意味着它需要一个普通的
socket.socket
并将其包装在SSL上下文中。

我考虑过pyOpenSSL,但我对它有点不确定,因为它不再维护。再说一次,我认为大多数库都没有维护,因为SSL在较新版本的Python中有相当好的支持。使用SSL进行非阻塞I/O非常棘手。SSL的记录层不必遵守任何数据包边界,因此仅仅因为数据可从套接字获得并不意味着数据可用于应用程序。
(read, write, error) = select([socket], [socket], [], 0.2)