1'use strict'; 2const common = require('../common'); 3 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const assert = require('assert'); 8const tls = require('tls'); 9const net = require('net'); 10const fixtures = require('../common/fixtures'); 11 12let out = ''; 13 14const server = tls.createServer({ 15 key: fixtures.readKey('agent1-key.pem'), 16 cert: fixtures.readKey('agent1-cert.pem') 17}, function(c) { 18 c.end('hello'); 19}).listen(0, function() { 20 const socket = new net.Socket(); 21 22 const s = tls.connect({ 23 socket: socket, 24 rejectUnauthorized: false 25 }, function() { 26 s.on('data', function(chunk) { 27 out += chunk; 28 }); 29 s.on('end', function() { 30 s.destroy(); 31 server.close(); 32 }); 33 }); 34 35 socket.connect(this.address().port); 36}); 37 38process.on('exit', function() { 39 assert.strictEqual(out, 'hello'); 40}); 41