added inject method
This commit is contained in:
parent
2abb5ac492
commit
2e9f801247
12
README.md
12
README.md
|
@ -24,9 +24,12 @@ var https = require('https')
|
||||||
, cas
|
, cas
|
||||||
;
|
;
|
||||||
|
|
||||||
cas = https.globalAgent.options.ca = https.globalAgent.options.ca || [];
|
// This will add the well-known CAs
|
||||||
|
// to `https.globalAgent.options.ca`
|
||||||
|
require('ssl-root-cas').inject();
|
||||||
|
|
||||||
|
cas = https.globalAgent.options.ca;
|
||||||
|
|
||||||
cas = cas.concat(require('ssl-root-cas'));
|
|
||||||
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '01-cheap-ssl-intermediary-a.pem')));
|
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '01-cheap-ssl-intermediary-a.pem')));
|
||||||
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '02-cheap-ssl-intermediary-b.pem')));
|
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '02-cheap-ssl-intermediary-b.pem')));
|
||||||
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem')));
|
cas.push(fs.readFileSync(path.join(__dirname, 'ssl', '03-cheap-ssl-site.pem')));
|
||||||
|
@ -39,10 +42,7 @@ If you want the latest certificates (downloaded as part of the postinstall proce
|
||||||
you can require those instead like so:
|
you can require those instead like so:
|
||||||
|
|
||||||
```
|
```
|
||||||
, latest = require('ssl-root-cas/latest')
|
require('ssl-root-cas/latest').inject();
|
||||||
;
|
|
||||||
|
|
||||||
cas = cas.concat(latest);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
BAD IDEAS
|
BAD IDEAS
|
||||||
|
|
|
@ -125,9 +125,13 @@ function dumpCerts(certs) {
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
OUTFILE
|
OUTFILE
|
||||||
, HEADER
|
, HEADER
|
||||||
+ 'module.exports = [\n'
|
+ 'var cas = module.exports = [\n'
|
||||||
+ certs.map(function (cert) { return cert.quasiPEM(); }).join(',\n\n')
|
+ certs.map(function (cert) { return cert.quasiPEM(); }).join(',\n\n')
|
||||||
+ '\n];\n'
|
+ '\n];\n'
|
||||||
|
+ "module.exports.inject = function () {\n"
|
||||||
|
+ " var opts = require('https').globalAgent.options;\n"
|
||||||
|
+ " if (!opts.ca || opts.ca.length < 100) { opts.ca = (opts.ca||[]).concat(cas); }"
|
||||||
|
+ "};\n"
|
||||||
);
|
);
|
||||||
console.info("Wrote '" + OUTFILE.replace(/'/g, "\\'") + "'.");
|
console.info("Wrote '" + OUTFILE.replace(/'/g, "\\'") + "'.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* generated from https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1
|
* generated from https://mxr.mozilla.org/nss/source/lib/ckfw/builtins/certdata.txt?raw=1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = [
|
var cas = module.exports = [
|
||||||
// GTE CyberTrust Global Root
|
// GTE CyberTrust Global Root
|
||||||
"-----BEGIN CERTIFICATE-----\n" +
|
"-----BEGIN CERTIFICATE-----\n" +
|
||||||
"MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg\n" +
|
"MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg\n" +
|
||||||
|
@ -4094,3 +4094,5 @@ module.exports = [
|
||||||
"3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed\n" +
|
"3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed\n" +
|
||||||
"-----END CERTIFICATE-----\n"
|
"-----END CERTIFICATE-----\n"
|
||||||
];
|
];
|
||||||
|
var opts = require('https').globalAgent.options;
|
||||||
|
if (!opts.ca || opts.ca.length < 100) { opts.ca = (opts.ca||[]).concat(cas); }
|
Loading…
Reference in New Issue