我必须编写一个必须...
的Node.js应用程序1)与服务器建立套接字连接,发送和接收初始消息交换。
2)将套接字升级到SSL,发送登录消息并通过SSL接收状态消息。
3)在不关闭原始套接字的情况下拆除SSL连接。
4)再次通过原始套接字交换消息。
5)再次将套接字升级到SSL,并在处理期间继续使用SSL。
我似乎无法弄清楚如何拆除SSL连接,使原始套接字打开并可用于非SSL流量,然后再将其升级到SSL。
必须这样做的原因是我连接的服务器使用初始的非SSL交换,因此客户端和服务器可以决定它们具有哪些功能以及是否可以切换到SSL。在服务器通过SSL对我的凭据进行身份验证之后,它会生成一个新进程来处理剩余的会话。要做到这一点,请关闭SSL层,将原始打开的套接字传递给另一个进程,然后另一个进程与正在运行的客户端握手,然后连接再次升级到SSL。 SSL上下文似乎无法在进程之间传递,但原始套接字可以。