【发布时间】:2014-01-10 18:37:21
【问题描述】:
我想向互联网公开一个用 Python 编写的简单 TCP 服务器。要对客户端进行身份验证,我想同时依赖客户端和服务器证书。 socketserver.TCPServer 是否默认支持这种模式?如果没有,您能否建议如何扩展服务器以实现相互身份验证?
【问题讨论】:
标签: python ssl mutual-authentication
我想向互联网公开一个用 Python 编写的简单 TCP 服务器。要对客户端进行身份验证,我想同时依赖客户端和服务器证书。 socketserver.TCPServer 是否默认支持这种模式?如果没有,您能否建议如何扩展服务器以实现相互身份验证?
【问题讨论】:
标签: python ssl mutual-authentication
默认库不处理安全套接字 (SSL/TLS)。假设您无论如何都想使用该特定库,here's another discussion that shows a way to do it using the OpenSSL libraries。
如果您想编写服务器应用程序,您可能需要使用 Twisted,这是一个用 Python 编写网络应用程序的面向事件的框架。这是how to enable SSL for a TCP server上的相关文档。
【讨论】:
TCPServer 上启用 SSL 之前,我已经看到了 SSL wrap 方法。但这不会启用相互身份验证,只是服务器身份验证。您是否碰巧特别了解相互身份验证?