blob: 25f21d54fd6ca4ed04f07d775db5deb810f62eb5 [file] [log] [blame]
var fs = require('fs');
module.exports = function (filepath, split, encoding) {
split = typeof split !== 'undefined' ? split : "\n";
encoding = typeof encoding !== 'undefined' ? encoding : "utf8";
var ca = [];
var chain = fs.readFileSync(filepath, encoding);
if(chain.indexOf("-END CERTIFICATE-") < 0 || chain.indexOf("-BEGIN CERTIFICATE-") < 0){
throw Error("File does not contain 'BEGIN CERTIFICATE' or 'END CERTIFICATE'");
}
chain = chain.split(split);
var cert = [];
var _i, _len;
for (_i = 0, _len = chain.length; _i < _len; _i++) {
var line = chain[_i];
if (!(line.length !== 0)) {
continue;
}
cert.push(line);
if (line.match(/-END CERTIFICATE-/)) {
ca.push(cert.join(split));
cert = [];
}
}
return ca;
}