Python Twisted:如何停止TLS?

Python Twisted:如何停止TLS?,python,encryption,twisted,ssl,Python,Encryption,Twisted,Ssl,这里有几个例子说明如何在建立连接后启动TLS。然而,我找不到相反的方法,关闭TLS。 我是否可以为客户端生成一个一次性随机密码,使用TLS进行交换,重新连接,然后向客户端请求该密码以避免连接劫持? 有没有一种方法可以在不丢失连接的情况下执行此操作?如果停止TLS,将无法避免连接劫持。一旦您终止了该连接上的保护,所有的赌注都将落空:TLS的好处只会持续到加密会话持续的时间 我不认为停止TLS是受支持的,但实际上,没有很好的理由这样做,除非你需要用你的连接做一些非常奇怪的低级事情,比如把它交给路由

这里有几个例子说明如何在建立连接后启动TLS。然而,我找不到相反的方法,关闭TLS。

我是否可以为客户端生成一个一次性随机密码,使用TLS进行交换,重新连接,然后向客户端请求该密码以避免连接劫持?
有没有一种方法可以在不丢失连接的情况下执行此操作?

如果停止TLS,将无法避免连接劫持。一旦您终止了该连接上的保护,所有的赌注都将落空:TLS的好处只会持续到加密会话持续的时间


我不认为停止TLS是受支持的,但实际上,没有很好的理由这样做,除非你需要用你的连接做一些非常奇怪的低级事情,比如把它交给路由级别的其他硬件。即使这样,可能还有更好的方法。

你到底为什么要这样做?一旦设置,受TLS保护的连接几乎和未加密的连接一样便宜。@Donal Fellows:身份验证完成后,客户端将开始与服务器交换文件,这些文件必须进行客户端加密,因为即使服务器也无法读取它们,因此将有一个冗余的客户端加密步骤,在服务器端解密上也浪费了不必要的CPU时间。您可能应该对TLS完好时使用的CPU时间与完全没有TLS时使用的CPU时间进行基准测试,以确保它真正重要。我怀疑这不会产生足够的影响,值得花时间研究如何重新连接足够安全的身份验证令牌,或者如何关闭现有连接上的TLS。@保罗基准测试是一个很好的主意。衡量,不要猜测。