我想通过套接字以外的方式使用 SSL。 ssl
TLS/SSL 包装器仅适用于套接字对象。
例如我有自己的 IPC 类,例如:
class MyIPC:
def recv(self):
return self.received_data if self.data else None
def send(self, message):
self._send(message)
在这些方案中,我想将上述类包装到 ssl
Python 模块中。这有可能吗。
注意这个 MyIPC
类是 p2p 通信。在现实世界。我想使用 MQTT 进行数据交换。
我想一个选择是编写一个鸭子类型的类来模拟套接字对象,但我相信还有更好的选择。
最佳答案
在最新版本的 Python (3.5+) 中,人们不再局限于将 SSL 仅用于套接字,而是可以将内存缓冲区用作更抽象的层。这些缓冲区如何传输到对等端取决于应用程序,即它可以直接使用套接字,但也可以实现协议(protocol),如 this proposal。它实质上是通过将 SSL 内存缓冲区编码为 JSON 中的 base64,然后在经过弱身份验证的 HTTPS channel 中传输此 JSON 来传输 SSL 内存缓冲区。
要使用内存缓冲区,请遵循 the documentation或者看看 example code .
关于python - SSL 超越任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50676472/