0
我已经计划使用OpenSSL将加密添加到我的服务器/客户端通信中。但我想让用户选择是否要使用SSL通道进行通信。最简单的方法是创建2套接字并将它们绑定到不同的端口,但我希望服务器只在一个端口上提供服务。在同一个服务器端口上同时支持SSL和非SSL
有无论如何打开服务器端的SSL套接字,它支持客户端传入连接的SSL和非SSL通信?
P.S.我为我的C++代码使用OpenSSL库。
我已经计划使用OpenSSL将加密添加到我的服务器/客户端通信中。但我想让用户选择是否要使用SSL通道进行通信。最简单的方法是创建2套接字并将它们绑定到不同的端口,但我希望服务器只在一个端口上提供服务。在同一个服务器端口上同时支持SSL和非SSL
有无论如何打开服务器端的SSL套接字,它支持客户端传入连接的SSL和非SSL通信?
P.S.我为我的C++代码使用OpenSSL库。
一个TLS客户端你好有一个标准格式。您可以查看第一条消息的前几个字节,检测这是否是TLS客户端hello,并相应地作出响应。
另一种解决方案是连接端口X上的未加密服务,并设置stunnel监听Y端口,在那里它将处理TLS层,并将明文转发到本地端口X.虽然这会绑定到两个端口,您的服务将只运行一次。