107 lines
10 KiB
JavaScript
107 lines
10 KiB
JavaScript
|
"use strict";
|
||
|
/// <reference path="./typings/main.d.ts" />
|
||
|
var plugins = require("./smartssh.plugins");
|
||
|
var helpers = require("./smartssh.classes.helpers");
|
||
|
var ssh = (function () {
|
||
|
function ssh(optionsArg) {
|
||
|
if (optionsArg === void 0) { optionsArg = {}; }
|
||
|
this.sshDir = optionsArg.sshDir;
|
||
|
this.sshDir ?
|
||
|
this.sshKeys = helpers.sshKeyArrayFromDir(this.sshDir)
|
||
|
: void (0);
|
||
|
this.sync = optionsArg.sync;
|
||
|
}
|
||
|
;
|
||
|
return ssh;
|
||
|
}());
|
||
|
exports.ssh = ssh;
|
||
|
var sshConfig = (function () {
|
||
|
function sshConfig() {
|
||
|
}
|
||
|
return sshConfig;
|
||
|
}());
|
||
|
exports.sshConfig = sshConfig;
|
||
|
var sshKey = (function () {
|
||
|
function sshKey(optionsArg) {
|
||
|
if (!optionsArg)
|
||
|
optionsArg = { private: undefined, public: undefined };
|
||
|
this.privKey = optionsArg.private;
|
||
|
this.pubKey = optionsArg.public;
|
||
|
}
|
||
|
;
|
||
|
Object.defineProperty(sshKey.prototype, "privateKey", {
|
||
|
// getters
|
||
|
get: function () {
|
||
|
return this.privKey;
|
||
|
},
|
||
|
// setters
|
||
|
set: function (privateKeyArg) {
|
||
|
this.privKey = privateKeyArg;
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
;
|
||
|
Object.defineProperty(sshKey.prototype, "privateKeyBase64", {
|
||
|
get: function () {
|
||
|
return plugins.base64.encode(this.privKey);
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(sshKey.prototype, "publicKey", {
|
||
|
get: function () {
|
||
|
return this.publicKey;
|
||
|
},
|
||
|
// setters
|
||
|
set: function (publicKeyArg) {
|
||
|
this.pubKey = publicKeyArg;
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(sshKey.prototype, "publicKeyBase64", {
|
||
|
get: function () {
|
||
|
return plugins.base64.encode(this.pubKey);
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
Object.defineProperty(sshKey.prototype, "type", {
|
||
|
get: function () {
|
||
|
if (this.privKey && this.pubKey) {
|
||
|
return "duplex";
|
||
|
}
|
||
|
else if (this.privKey) {
|
||
|
return "private";
|
||
|
}
|
||
|
else if (this.pubKey) {
|
||
|
return "public";
|
||
|
}
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
;
|
||
|
;
|
||
|
;
|
||
|
sshKey.prototype.store = function (filePathArg) {
|
||
|
var filePathObj = plugins.path.parse(filePathArg);
|
||
|
if (filePathObj.ext = ".priv") {
|
||
|
plugins.smartfile.memory.toFsSync(this.privKey, { fileName: filePathObj.name + filePathObj.ext, filePath: filePathObj.dir });
|
||
|
}
|
||
|
else if (filePathObj.ext = ".pub") {
|
||
|
plugins.smartfile.memory.toFsSync(this.pubKey, { fileName: filePathObj.name + filePathObj.ext, filePath: filePathObj.dir });
|
||
|
}
|
||
|
else {
|
||
|
plugins.fs.ensureDirSync(filePathObj.dir);
|
||
|
this.store(plugins.path.join(filePathObj.dir, "key.priv")); // call this function recursivly
|
||
|
this.store(plugins.path.join(filePathObj.dir, "key.priv")); // call this function recursivly
|
||
|
}
|
||
|
};
|
||
|
return sshKey;
|
||
|
}());
|
||
|
exports.sshKey = sshKey;
|
||
|
|
||
|
//# sourceMappingURL=data:application/json;base64,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QyxDQUFBLENBQUM7WUFDMUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsRUFBQyxRQUFRLEVBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFDLFFBQVEsRUFBQyxXQUFXLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztRQUMzSCxDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUEsQ0FBQztZQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxFQUFDLFFBQVEsRUFBQyxXQUFXLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDO1FBQzFILENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE9BQU8sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztZQUMzRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztRQUMvRixDQUFDO0lBQ0wsQ0FBQztJQUNMLGFBQUM7QUFBRCxDQXJEQSxBQXFEQyxJQUFBO0FBckRZLGNBQU0sU0FxRGxCLENBQUEiLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRzc2gucGx1Z2luc1wiKTtcbmltcG9ydCBoZWxwZXJzID0gcmVxdWlyZShcIi4vc21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzXCIpO1xuXG5leHBvcnQgY2xhc3Mgc3NoIHtcbiAgICBwcml2YXRlIHNzaERpcjpzdHJpbmc7XG4gICAgcHJpdmF0ZSBzc2hLZXlzOnNzaEtleVtdO1xuICAgIHByaXZhdGUgc3luYzpib29sZWFuOyAvLyBpZiBzZXQgdG8gdHJ1ZSwgdGhlIHNzaCBkaXIgd2lsbCBiZSBrZXB0IGluIHN5bmMgYXV0b21hdGljYWxseVxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnNBcmc6e3NzaERpcj86c3RyaW5nLHN5bmM/OmJvb2xlY
|