我正在尝试使用nodejs。我正在尝试使用TLS Ticket来恢复TLS会话。所以我会在成功连接后让客户端保存TLS Ticket。关闭后,我希望它使用相同的TLS票证来重新建立TLS连接。
我找到了node tls命令tlsSocket.getTLSTicket()
但是我不知道如何使用它来重新建立连接,因为它“仅用于调试”。
我想要的是能够从客户端获取TLSTicket并根据nodejs中服务器中的TLSTicketKey手动验证它。
由于
答案 0 :(得分:1)
花了比我应有的更多的时间,这些是我发现的:
通过会话票证重用会话是开箱即用的,对于你的node.js实现完全透明
https://strongloop.com/strongblog/improve-the-performance-of-the-node-js-https-server/
但是,正如您将在链接中看到的那样,可以手动处理会话存储的会话(这显然会破坏TLS票证的目的)。
SSL_CTX_set_tlsext_ticket_key_cb - 设置会话票据处理的回调
从这里开始:https://github.com/joyent/node/blob/master/src/node_crypto.cc
resumeSession
。
以下GitHub问题描述了为什么并且是对Node的TLS票证实现细节的简单参考。