'use strict'; // Test asynchronous SNI+OCSP on TLSSocket created with `server` set to // `net.Server` instead of `tls.Server` const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); const net = require('net'); const tls = require('tls'); const fixtures = require('../common/fixtures'); const key = fixtures.readKey('agent1-key.pem'); const cert = fixtures.readKey('agent1-cert.pem'); const server = net.createServer(common.mustCall((s) => { const tlsSocket = new tls.TLSSocket(s, { isServer: true, server: server, secureContext: tls.createSecureContext({ key, cert }), SNICallback: common.mustCall((hostname, callback) => { assert.strictEqual(hostname, 'test.test'); callback(null, null); }) }); tlsSocket.on('secure', common.mustCall(() => { tlsSocket.end(); server.close(); })); })).listen(0, () => { const opts = { servername: 'test.test', port: server.address().port, rejectUnauthorized: false, requestOCSP: true }; tls.connect(opts, function() { this.end(); }); });