• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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