• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4const fixtures = require('../common/fixtures');
5
6// Confirm that for TLSv1.3, renegotiate() is disallowed.
7
8const {
9  assert, connect, keys
10} = require(fixtures.path('tls-connect'));
11
12const server = keys.agent10;
13
14connect({
15  client: {
16    ca: server.ca,
17    checkServerIdentity: common.mustCall(),
18  },
19  server: {
20    key: server.key,
21    cert: server.cert,
22  },
23}, function(err, pair, cleanup) {
24  assert.ifError(err);
25
26  const client = pair.client.conn;
27
28  assert.strictEqual(client.getProtocol(), 'TLSv1.3');
29
30  const ok = client.renegotiate({}, common.mustCall((err) => {
31    assert.throws(() => { throw err; }, {
32      message: common.hasOpenSSL3 ?
33        'error:0A00010A:SSL routines::wrong ssl version' :
34        'error:1420410A:SSL routines:SSL_renegotiate:wrong ssl version',
35      code: 'ERR_SSL_WRONG_SSL_VERSION',
36      library: 'SSL routines',
37      reason: 'wrong ssl version',
38    });
39    cleanup();
40  }));
41
42  assert.strictEqual(ok, false);
43});
44