You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
682 B

module.exports = loadCAFile
var fs = require('fs')
function loadCAFile (cafilePath, cb) {
if (!cafilePath) return process.nextTick(cb)
fs.readFile(cafilePath, 'utf8', afterCARead.bind(this))
function afterCARead (er, cadata) {
if (er) {
// previous cafile no longer exists, so just continue on gracefully
if (er.code === 'ENOENT') return cb()
return cb(er)
}
var delim = '-----END CERTIFICATE-----'
var output
output = cadata
.split(delim)
.filter(function (xs) {
return !!xs.trim()
})
.map(function (xs) {
return xs.trimLeft() + delim
})
this.set('ca', output)
cb(null)
}
}