使用M2Crypto而不是标准python SSL模块运行tornado的扩展

tornado-m2crypto的Python项目详细描述


龙卷风m2crypto

此扩展旨在使用M2Crypto而不是标准的pythonsl运行tornado

依赖关系

当然,你需要M2Crypto 你需要一个修补版的Tornado:git+https://github.com/DIRACGrid/tornado.git@iostreamConfigurable

如何使用

tornado_m2crypto/tests目录包含几个示例。 基本上,只需使用任何普通的https服务器和tornado,并在开头添加以下内容

# Patching
# needed because some direct calls to ssl_wrap_socket in TCPServer
from tornado_m2crypto.m2netutil import m2_wrap_socket
import tornado.netutil
tornado.netutil.ssl_wrap_socket = m2_wrap_socket


# Dynamically configurable
import tornado.iostream
tornado.iostream.SSLIOStream.configure('tornado_m2crypto.m2iostream.M2IOStream')


import tornado.httputil
tornado.httputil.HTTPServerRequest.configure('tornado_m2crypto.m2httputil.M2HTTPServerRequest')

如何测试

有几种类型的测试。在

单元测试

几乎是龙卷风的SSLIOStream测试的复制品:

tox -r

HTTPS测试

一个简单的HTTPS服务器

tox -r -e m2io_https

然后可以使用(只需要requests包)与您交谈

python test_client.py

狄拉克检验

将证书转换为“DIRAC证书”的HTTPS服务器

tox -r -e m2io_dirac

你可以用和普通HTTPS测试一样的方式和它对话,你可以给它一个代理

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java没有主体的循环做什么?   java xtext项目中的默认内容辅助功能在哪里   通过相似(不相同)键的java分组映射   java Dagger 2 reinit singleton   检测图像中的矩形会产生不想要的结果(opencv,java)   Java方法调用与使用变量的性能比较   尝试使用hibernate连接到mysql时,java连接被拒绝   允许端口的java IP地址正则表达式   通过Socket实现java Android到PC的数据交换   java使用maven向类路径添加额外的配置文件夹   java我似乎无法从RMI存根获得socket工厂。为什么会这样?   java使用hibernate向数据库添加数据   java驱动程序对于Chromedriver不可执行   java编译错误。mysql。jdbc。驱动程序无法解析为变量