当我尝试将现有的 Socket 连接升级为 SSLSocket 连接并设置 setUseClientMode(true)
时,出现错误 javax.net.ssl.SSLProtocolException: Handshake message sequence violation , 1
当调用 mySSLSocket.startHandshake();
时。当不设置 setUseClientMode()
时,一切正常,我可以发送和接收消息。我不是在要求修复,只是它的含义以及可能导致它的原因。
最佳答案
它确定这一方是否 (a) 发送或 (b) 期望接收初始握手消息,ClientHello
。如果 useClientMode
为真,则此方发送它。除非您真的知道自己在做什么,否则不要将其设置在服务器上。如果您在服务器中并且正在升级已接受的Socket
,您必须将其设置为false。否则真的很少有机会完全使用它。
注意 useClientMode=true
是默认值。
关于java - setUseClientMode 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48490311/