2016-06-18 14:03:46 +00:00
|
|
|
"use strict";
|
2016-06-22 11:22:09 +00:00
|
|
|
var plugins = require("./cert.plugins");
|
|
|
|
var paths = require("./cert.paths");
|
2016-06-18 14:03:46 +00:00
|
|
|
var Cert = (function () {
|
|
|
|
function Cert(optionsArg) {
|
2016-06-28 07:32:01 +00:00
|
|
|
this._cfEmail = optionsArg.cfEmail;
|
|
|
|
this._cfKey = optionsArg.cfKey;
|
|
|
|
this._sslDir = optionsArg.sslDir;
|
2016-06-18 14:03:46 +00:00
|
|
|
this.gitOriginRepo = optionsArg.gitOriginRepo;
|
2016-06-22 11:22:09 +00:00
|
|
|
var config = {
|
2016-06-28 07:32:01 +00:00
|
|
|
cfEmail: this._cfEmail,
|
|
|
|
cfKey: this._cfKey
|
2016-06-22 11:22:09 +00:00
|
|
|
};
|
2016-06-28 03:53:49 +00:00
|
|
|
plugins.smartfile.memory.toFsSync(JSON.stringify(config), plugins.path.join(__dirname, "assets/config.json"));
|
2016-06-18 14:03:46 +00:00
|
|
|
}
|
|
|
|
;
|
2016-06-28 03:53:49 +00:00
|
|
|
Cert.prototype.getDomainCert = function (domainNameArg, optionsArg) {
|
2016-06-22 11:22:09 +00:00
|
|
|
var done = plugins.q.defer();
|
2016-06-28 07:32:01 +00:00
|
|
|
if (!checkDomainsStillValid(domainNameArg) || optionsArg.force) {
|
2016-06-28 03:53:49 +00:00
|
|
|
plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh);
|
|
|
|
plugins.shelljs.exec("chmod 700 " + paths.certHook);
|
|
|
|
plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.certDir + "\"");
|
|
|
|
var fetchedCertsArray = plugins.smartfile.fs.listFoldersSync(paths.certDir);
|
|
|
|
if (fetchedCertsArray.indexOf(domainNameArg) != -1) {
|
2016-06-28 07:32:01 +00:00
|
|
|
updateSslDirSync(this._sslDir, domainNameArg);
|
2016-06-28 03:53:49 +00:00
|
|
|
}
|
|
|
|
done.resolve();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
plugins.beautylog.info("certificate for " + domainNameArg + " is still valid! Not fetching new one!");
|
|
|
|
done.resolve();
|
|
|
|
}
|
2016-06-22 11:22:09 +00:00
|
|
|
return done.promise;
|
|
|
|
};
|
2016-06-18 14:03:46 +00:00
|
|
|
;
|
|
|
|
return Cert;
|
|
|
|
}());
|
|
|
|
exports.Cert = Cert;
|
|
|
|
var Certificate = (function () {
|
|
|
|
function Certificate() {
|
|
|
|
}
|
|
|
|
;
|
|
|
|
return Certificate;
|
|
|
|
}());
|
|
|
|
exports.Certificate = Certificate;
|
2016-06-28 07:32:01 +00:00
|
|
|
var checkDomainsStillValid = function (domainNameArg) {
|
2016-06-28 03:53:49 +00:00
|
|
|
return false;
|
|
|
|
};
|
2016-06-28 07:32:01 +00:00
|
|
|
var updateSslDirSync = function (sslDirArg, domainNameArg) {
|
|
|
|
plugins.smartfile.fs.ensureDirSync(sslDirArg);
|
|
|
|
var domainCertFolder = plugins.path.join(paths.certDir, domainNameArg);
|
|
|
|
if (plugins.smartfile.fs.listFoldersSync(paths.certDir).indexOf(domainNameArg) != -1) {
|
|
|
|
plugins.smartfile.fs.copySync(plugins.path.join(domainCertFolder, "fullchain.pem"), plugins.path.join(sslDirArg, domainNameArg, "fullchain.pem"));
|
|
|
|
plugins.smartfile.fs.copySync(plugins.path.join(domainCertFolder, "privkey.pem"), plugins.path.join(sslDirArg, domainNameArg, "privkey.pem"));
|
|
|
|
// create cert config
|
|
|
|
var certRegex = /.*\-([]0-9]*)\.pem/;
|
|
|
|
var certFileNameWithTime = plugins.smartfile.fs.listFilesSync(domainCertFolder, certRegex)[1];
|
|
|
|
var certTime = parseInt(certRegex.exec(certFileNameWithTime)[1]);
|
|
|
|
var certConfig = {
|
|
|
|
domainName: domainNameArg,
|
|
|
|
created: certTime,
|
|
|
|
expires: certTime + 7776000
|
|
|
|
};
|
|
|
|
plugins.smartfile.memory.toFs(JSON.stringify(certConfig), plugins.path.join(sslDirArg, domainNameArg, "config.json"));
|
|
|
|
}
|
|
|
|
;
|
2016-06-28 03:53:49 +00:00
|
|
|
};
|
|
|
|
var updateGitOrigin = function () {
|
|
|
|
};
|
2016-06-18 13:07:54 +00:00
|
|
|
|
2016-06-28 07:32:01 +00:00
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,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RUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxJQUFJLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsYUFBYSxDQUFDLENBQUE7SUFDckUsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsZUFBZSxDQUFDLEVBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsZUFBZSxDQUFDLENBQzdELENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFDLGFBQWEsQ0FBQyxFQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsYUFBYSxFQUFDLGFBQWEsQ0FBQyxDQUMzRCxDQUFDO1FBQ0YscUJBQXFCO1FBQ3JCLElBQUksU0FBUyxHQUFHLG9CQUFvQixDQUFDO1FBQ3JDLElBQUksb0JBQW9CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLFVBQVUsR0FBYztZQUN4QixVQUFVLEVBQUUsYUFBYTtZQUN6QixPQUFPLEVBQUUsUUFBUTtZQUNqQixPQUFPLEVBQUUsUUFBUSxHQUFHLE9BQU87U0FDOUIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxhQUFhLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7SUFBQSxDQUFDO0FBQ04sQ0FBQyxDQUFBO0FBRUQsSUFBSSxlQUFlLEdBQUc7QUFFdEIsQ0FBQyxDQUFBIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICog
|