'keylog' 事件


  • line <Buffer> ASCII 文本行,采用 NSS SSLKEYLOGFILE 格式。

当套接字生成或接收密钥材料时,keylog 事件在 tls.TLSSocket 上触发。 该密钥材料可以存储用于调试,因为它允许对捕获的 TLS 流量进行解密。 它可能会在握手完成之前或之后多次触发。

一个典型的用例是将接收到的行附加到公共文本文件中,稍后软件(例如 Wireshark)使用它来解密流量:

const logFile = fs.createWriteStream('/tmp/ssl-keys.log', { flags: 'a' });
// ...
tlsSocket.on('keylog', (line) => logFile.write(line));
  • line <Buffer> Line of ASCII text, in NSS SSLKEYLOGFILE format.

The keylog event is emitted on a tls.TLSSocket when key material is generated or received by the socket. This keying material can be stored for debugging, as it allows captured TLS traffic to be decrypted. It may be emitted multiple times, before or after the handshake completes.

A typical use case is to append received lines to a common text file, which is later used by software (such as Wireshark) to decrypt the traffic:

const logFile = fs.createWriteStream('/tmp/ssl-keys.log', { flags: 'a' });
// ...
tlsSocket.on('keylog', (line) => logFile.write(line));