您可以接受普通的套接字连接,并在以后使用
SSLSocketFactory.createSocket(Socket s, String host, intport, booleanautoClose)(
SSLSocket.setUseClientMode(false)在服务器端)将其升级到SSL
/ TLS 。
您需要在纯文本协议中定义一个命令,以便双方都可以同意正在进行的升级(例如,类似于
STARTTLSSMTP或LDAP中的命令)。
或者,您可以使用端口统一(可以通过Grizzly完成),从而尝试检测客户端是否通过SSL /
TLS客户端问候消息发起连接。这样做可能会比较棘手,因为您必须提前阅读以检测数据包类型(因此,您可能需要保留该缓冲区并将其内容传递给
SSLEngine,而不是
SSLSocket直接使用它)。



