summaryrefslogtreecommitdiff
path: root/test/parallel/test-tls-keylog-tlsv13.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-tls-keylog-tlsv13.js')
-rw-r--r--test/parallel/test-tls-keylog-tlsv13.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/parallel/test-tls-keylog-tlsv13.js b/test/parallel/test-tls-keylog-tlsv13.js
new file mode 100644
index 0000000000..e56d777ff0
--- /dev/null
+++ b/test/parallel/test-tls-keylog-tlsv13.js
@@ -0,0 +1,32 @@
+'use strict';
+
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+
+const assert = require('assert');
+const tls = require('tls');
+const fixtures = require('../common/fixtures');
+
+const server = tls.createServer({
+ key: fixtures.readSync('/keys/agent2-key.pem'),
+ cert: fixtures.readSync('/keys/agent2-cert.pem'),
+ // Amount of keylog events depends on negotiated protocol
+ // version, so force a specific one:
+ minVersion: 'TLSv1.3',
+ maxVersion: 'TLSv1.3',
+}).listen(() => {
+ const client = tls.connect({
+ port: server.address().port,
+ rejectUnauthorized: false,
+ });
+
+ const verifyBuffer = (line) => assert(Buffer.isBuffer(line));
+ server.on('keylog', common.mustCall(verifyBuffer, 5));
+ client.on('keylog', common.mustCall(verifyBuffer, 5));
+
+ client.once('secureConnect', () => {
+ server.close();
+ client.end();
+ });
+});