mirror of https://github.com/nodejs/node.git
37 lines
992 B
JavaScript
37 lines
992 B
JavaScript
'use strict';
|
|
// This tests validation of sessionTimeout option in TLS server.
|
|
const common = require('../common');
|
|
|
|
if (!common.hasCrypto) {
|
|
common.skip('missing crypto');
|
|
}
|
|
|
|
const tmpdir = require('../common/tmpdir');
|
|
tmpdir.refresh();
|
|
|
|
const assert = require('assert');
|
|
const tls = require('tls');
|
|
const fixtures = require('../common/fixtures');
|
|
|
|
const key = fixtures.readKey('rsa_private.pem');
|
|
const cert = fixtures.readKey('rsa_cert.crt');
|
|
|
|
// Node.js should not allow setting negative timeouts since new versions of
|
|
// OpenSSL do not handle those as users might expect
|
|
|
|
for (const sessionTimeout of [-1, -100, -(2 ** 31)]) {
|
|
assert.throws(() => {
|
|
tls.createServer({
|
|
key: key,
|
|
cert: cert,
|
|
ca: [cert],
|
|
sessionTimeout,
|
|
maxVersion: 'TLSv1.2',
|
|
});
|
|
}, {
|
|
code: 'ERR_OUT_OF_RANGE',
|
|
message: 'The value of "options.sessionTimeout" is out of range. It ' +
|
|
`must be >= 0 && <= ${2 ** 31 - 1}. Received ${sessionTimeout}`,
|
|
});
|
|
}
|