如何判断我的服务器是否使用SSL(使用Twisted)
我写了一个简单的客户端和服务器。它们都可以设置为使用SSL,也可以不使用。你可以在客户端和服务器上进行设置。
我遇到的问题是,如果我尝试在没有SSL的情况下连接一个设置了SSL的服务器,连接虽然建立了,但就会卡住。(当然……这是正常的)。
我的客户端怎么才能知道自己在没有SSL的情况下连接一个使用了SSL的服务器呢?反之也是一样。
最好的解决办法是让我的客户端自动检测服务器是否使用SSL,然后进行正确的连接(TCP或SSL)。
感谢任何回答 =)
2 个回答
0
最好的解决办法是让我的客户端自动检测服务器是否使用SSL,然后进行正确的连接(TCP或SSL)。
这不可能。SSL连接的第一个事件是客户端发出消息,而不是服务器。
5
为SSL连接使用不同的端口号。这就是HTTP和HTTPS的使用方式。
或者
在你的协议中定义一个命令,用来把连接转换成SSL,比如说STARTTLS
,这是一种在SMTP中实现相同功能的方法。