--- /dev/null
+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)
+ }
+}