-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.js
71 lines (59 loc) · 1.46 KB
/
client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var fs = require('fs');
var https = require('https');
var constants = require('constants');
clientPrefix=""
if (process.argv[2]) {
var clientPrefix= process.argv[2];
}
var clientName="client"+clientPrefix+"-key";
var clientFolder=__dirname+"/client";
var clientKeyFile=[
clientFolder,
"private",
clientName+".pem"
].join("/");
var clientCertFile=[
clientFolder,
"certs",
clientName+".cert.pem"
].join("/");
var clientCertChainFile=[
clientFolder,
"certs",
clientName+".chain.cert.pem"
].join("/");
var options = {
hostname: 'localhost',
port: 4433,
path: '/',
method: 'GET',
key: fs.readFileSync(clientKeyFile),
cert: fs.readFileSync(clientCertFile),
ca: fs.readFileSync(clientCertFile),
passphrase:"",
requestCert: true,
rejectUnauthorized: true,
ciphers: [
"ECDHE-RSA-AES128-SHA256",
"DHE-RSA-AES128-SHA256",
"AES128-GCM-SHA256",
"!RC4",
"HIGH",
"!MD5",
"!aNULL"
].join(":"),
honorCipherOrder: true,
secureProtocol: 'TLSv1_method',
secureOptions: constants.SSL_OP_NO_SSLv3 | constants.SSL_OP_NO_SSLv2
};
https.globalAgent.options.ca = [];
https.globalAgent.options.ca.push(fs.readFileSync(__dirname+"/intermediate/certs/ca-chain.cert.pem"));
var req = https.request(options, function(res) {
res.on('data', function(data) {
process.stdout.write(data);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});