allproxy
Version:
AllProxy: MITM HTTP Debugging Tool.
61 lines • 2.82 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCertContent = exports.createCertificateAuthority = void 0;
const fs_1 = __importDefault(require("fs"));
const ConsoleLog_1 = __importDefault(require("./ConsoleLog"));
const Paths_1 = __importDefault(require("./Paths"));
const ca = require('./ca');
let theCa;
function createCertificateAuthority() {
return new Promise((resolve) => {
ca.create(Paths_1.default.sslCaDir(), function (_err, ca) {
theCa = ca;
resolve();
});
});
}
exports.createCertificateAuthority = createCertificateAuthority;
function getCertContent() {
return theCa.getCertContent();
}
exports.getCertContent = getCertContent;
const generateCertKey = (hostname) => __awaiter(void 0, void 0, void 0, function* () {
// eslint-disable-next-line no-constant-condition
const wildcardHost = hostname.split('.', 3).length === 2 || true // wildcard host is causing issues?
? hostname
: hostname.replace(/[^.]+\./, '*.');
return new Promise((resolve) => {
const caHost = wildcardHost.replace(/\*/g, '_');
const certPemFile = Paths_1.default.certsDirAndSlash() + caHost + '.pem';
const keyPemFile = Paths_1.default.keysDirAndSlash() + caHost + '.key';
if (fs_1.default.existsSync(certPemFile)) {
resolve({
cert: fs_1.default.readFileSync(certPemFile).toString(),
key: fs_1.default.readFileSync(keyPemFile).toString()
});
}
else {
ConsoleLog_1.default.debug('GenerateCertKey generating new cert/key', hostname, wildcardHost);
theCa.generateServerCertificateKeys([wildcardHost], function (certPEM, privateKeyPEM) {
resolve({
cert: certPEM,
key: privateKeyPEM
});
});
}
});
});
exports.default = generateCertKey;
//# sourceMappingURL=GenerateCertKey.js.map