Node.js 节点TLS票证重新建立连接
我正在用nodejs做实验。我正在尝试使用TLS票证恢复TLS会话。因此,在成功连接后,我将让客户端保存TLS票据。关闭后,我希望它使用相同的TLS票证重新建立TLS连接 我找到了node tls命令Node.js 节点TLS票证重新建立连接,node.js,session,ssl,Node.js,Session,Ssl,我正在用nodejs做实验。我正在尝试使用TLS票证恢复TLS会话。因此,在成功连接后,我将让客户端保存TLS票据。关闭后,我希望它使用相同的TLS票证重新建立TLS连接 我找到了node tls命令tlsSocket.getTLSTicket(),但是我不知道如何使用它来重新建立连接,因为它“只对调试有用” 我想要的是能够从客户端获取TLSTicket,并根据nodejs服务器中的TLSTicketKey手动验证它 谢谢在花了我本不该有的时间之后,我发现: 似乎没有任何API或公开的JavaS
tlsSocket.getTLSTicket()
,但是我不知道如何使用它来重新建立连接,因为它“只对调试有用”
我想要的是能够从客户端获取TLSTicket,并根据nodejs服务器中的TLSTicketKey手动验证它
谢谢在花了我本不该有的时间之后,我发现:
resumeSession
。
下面的GitHub问题描述了为什么,并且是对Node的TLS票证实现细节的简单参考谢谢,在我接受之前,我要先检查一下自己。我仍然希望它可能会通过一些js黑客攻击暴露出来。
getTicketKeys
和setTicketKeys
可能是您正在寻找的函数。然而,我似乎找不到一个叫他们的地方。从设置密钥的openssl文档中,当TLS hello消息中显示会话票证扩展时,将为每个客户端发起的TLS会话调用回调函数cb。此函数负责创建或检索加密参数并维护其状态。
但是,我找不到它是如何完成的,也找不到它的位置。请告诉我您找到了什么,以及您最终如何实现它。也许,如果你能联系Fedor Indutny,你会得到最详细的解释。我怀疑回调是在SecureContext::Init中调用的。因此,我希望在构建一个安全上下文并检查状态之后是可能的。好,所以OpenSSL是一个怪物C++代码库,很难找到发生的地方。现在我想知道是否还有另一个javascript/node代码库,它只具有一个函数,该函数接受TLSTicket和TLSKey,如果有效则返回True,如果无效则返回False,并返回会话键。我在看forge:。