使用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测试一样的方式和它对话,你可以给它一个代理
- 项目
标签: