我正在做nodejs的試驗。我正嘗試使用TLS票證來恢復TLS會話。所以我會在連接成功後讓客戶端保存掉TLS Ticket。關閉後,我希望它使用相同的TLS票據重新建立TLS連接。節點TLS票據重建連接
我找到了節點tls命令tlsSocket.getTLSTicket()
但是我不確定如何使用它重建連接,因爲它「僅用於調試」。
我想要的是從客戶端獲取TLSTicket並根據nodejs中的服務器中的TLSTicketKey手動驗證它的能力。
感謝
我正在做nodejs的試驗。我正嘗試使用TLS票證來恢復TLS會話。所以我會在連接成功後讓客戶端保存掉TLS Ticket。關閉後,我希望它使用相同的TLS票據重新建立TLS連接。節點TLS票據重建連接
我找到了節點tls命令tlsSocket.getTLSTicket()
但是我不確定如何使用它重建連接,因爲它「僅用於調試」。
我想要的是從客戶端獲取TLSTicket並根據nodejs中的服務器中的TLSTicketKey手動驗證它的能力。
感謝
支出超過我應該有辦法更多的時間後,這些是什麼,我發現:
重用通過會話票據會議工作外的箱子,實現是完全透明的爲您的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票據實現細節的簡單引用。
謝謝你,在我接受,我會通過自己https://github.com/joyent/node/blob/master/src/node_crypto.cc看。我仍然希望它可能通過一些js黑客手段暴露出來。 – GTDev
'getTicketKeys'和'setTicketKeys'可能是你正在尋找的功能。但是,我似乎無法找到他們被稱爲的地方。從openssl文檔中設置密鑰,當會話票證擴展出現在TLS hello消息中時,將爲每個客戶端調用TLS會話的回調函數cb。這個函數的職責是創建或檢索密碼參數並保持它們的狀態。「但是,我無法找到它是如何或在哪裏完成的。 –
讓我知道你發現了什麼,以及你如何最終實現這一點。也許,如果你能與Fedor Indutny聯繫,你會得到最詳細的解釋。 –