const pathHelper = require("../pathHelper"); const fileNames = require("../fileNames"); module.exports.check = (opts, options, s3) => { var id = opts.certificate && opts.certificate.id || opts.subject; console.log("certificates.check for", opts.subject); var privkeyPath = pathHelper.certificatesPath(options, id, fileNames.privkey.pem); var certPath = pathHelper.certificatesPath(options, id, fileNames.cert); var chainPath = pathHelper.certificatesPath(options, id, fileNames.chain); return Promise.all([ s3.getObject({ Key: privkeyPath, Bucket: options.bucketName }).promise().then((data) => { console.log("Successfully retrieved certificate privkey.pem"); return data.Body.toString(); }).catch((err) => { console.error("There was an error retrieving your certificate privkey.pem:", err.message); throw err; }), s3.getObject({ Key: certPath, Bucket: options.bucketName }).promise().then((data) => { console.log("Successfully retrieved certificate cert.pem"); return data.Body.toString(); }).catch((err) => { console.error("There was an error retrieving your certificate cert.pem:", err.message); throw err; }), s3.getObject({ Key: chainPath, Bucket: options.bucketName }).promise().then((data) => { console.log("Successfully retrieved certificate chain.pem"); return data.Body.toString(); }).catch((err) => { console.error("There was an error retrieving your certificate chain.pem:", err.message); throw err; }) ]).then((values) => { return { privkey: values[0] , cert: values[1] , chain: values[2] }; }).catch((err) => { console.error("There was an error checking the ceritifcates:", err.message); return null; }); };