| var fs = require('fs'); |
| var tls = require('tls'); |
| |
| var server1Key = fs.readFileSync(__dirname + '/server1-key.pem'); |
| var server1Cert = fs.readFileSync(__dirname + '/server1-cert.pem'); |
| var clientKey = fs.readFileSync(__dirname + '/client-key.pem'); |
| var clientCert = fs.readFileSync(__dirname + '/client-cert.pem'); |
| var ca1Cert = fs.readFileSync(__dirname + '/ca1-cert.pem'); |
| var ca3Cert = fs.readFileSync(__dirname + '/ca3-cert.pem'); |
| |
| var server = tls.createServer({ |
| key: server1Key, |
| cert: server1Cert, |
| ca: [ca3Cert], |
| requestCert: true, |
| rejectUnauthorized: true, |
| }, function(s) { |
| console.log('connected on server'); |
| s.on('data', function(chunk) { |
| console.log('S:' + chunk); |
| s.write(chunk); |
| }); |
| s.setEncoding('utf8'); |
| }).listen(3000, function() { |
| var c = tls.connect({ |
| host: 'localhost', |
| port: 3000, |
| key: clientKey, |
| cert: clientCert, |
| ca: [ca1Cert], |
| rejectUnauthorized: true |
| }, function() { |
| console.log('connected on client'); |
| c.on('data', function(chunk) { |
| console.log('C:' + chunk); |
| }); |
| c.setEncoding('utf8'); |
| c.write('Hello'); |
| }); |
| c.on('error', function(err) { |
| console.log(err); |
| }); |
| }); |