@decaf-ts/fabric-weaver
Version:
template for ts projects
49 lines • 8.69 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.hasCAInitialized = hasCAInitialized;
exports.issueCA = issueCA;
exports.startCA = startCA;
exports.bootCA = bootCA;
const fs_1 = __importDefault(require("fs"));
const logging_1 = require("@decaf-ts/logging");
const fabric_ca_server_config_builder_1 = require("../../fabric/fabric-ca-server/fabric-ca-server-config-builder.cjs");
const fabric_ca_server_command_builder_1 = require("../../fabric/fabric-ca-server/fabric-ca-server-command-builder.cjs");
const fabric_ca_server_1 = require("../../fabric/constants/fabric-ca-server.cjs");
function hasCAInitialized(fileLocation = fabric_ca_server_1.DEFAULT_CA_CERT_PATH) {
const log = logging_1.Logging.for(hasCAInitialized);
log.debug(`Checking CA initialization at: ${fileLocation}`);
const isInitialized = fs_1.default.existsSync(fileLocation);
log.debug(`CA initialization status: ${isInitialized}`);
return isInitialized;
}
function issueCA(logger, caDir, version, port, cors, debug, crlSizeLimit, serverTLS, caConfig, identities, noTLS, noCA, csrConfig, operations, metrics) {
const builder = new fabric_ca_server_config_builder_1.FabricCAServerConfigBuilder(logger);
builder
.setVersion(version)
.setPort(port)
.setCors(cors)
.enableDebug(debug)
.setCrlSizeLimit(crlSizeLimit)
.setServerTLS(serverTLS)
.setCA(caConfig)
.setIdentities(identities)
.removeUnusedProfiles(noTLS, noCA)
.setCSR(csrConfig)
.setOperations(operations)
.setMetrics(metrics)
.save(caDir);
}
async function startCA(logger) {
const builder = new fabric_ca_server_command_builder_1.FabricCAServerCommandBuilder(logger);
const command = builder.setCommand(fabric_ca_server_1.FabricCAServerCommand.START);
await command.execute();
}
async function bootCA(logger, caDir, version, port, cors, debug, crlSizeLimit, serverTLS, caConfig, identities, noTLS, noCA, csrConfig, operations, metrics, bootFile) {
if (!hasCAInitialized(bootFile))
issueCA(logger, caDir, version, port, cors, debug, crlSizeLimit, serverTLS, caConfig, identities, noTLS, noCA, csrConfig, operations, metrics);
await startCA(logger);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Etc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvc2NyaXB0cy9jYS1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFvQkEsNENBWUM7QUFFRCwwQkFpQ0M7QUFFRCwwQkFPQztBQUVELHdCQXNDQztBQXBIRCw0Q0FBb0I7QUFDcEIsK0NBQW9EO0FBQ3BELG1IQUE0RztBQVE1RyxxSEFBOEc7QUFDOUcsOEVBR2lEO0FBTWpELFNBQWdCLGdCQUFnQixDQUM5QixlQUF1Qix1Q0FBb0I7SUFFM0MsTUFBTSxHQUFHLEdBQVcsaUJBQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVsRCxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRTVELE1BQU0sYUFBYSxHQUFHLFlBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFbEQsR0FBRyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUV4RCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUNyQixNQUFjLEVBQ2QsS0FBYSxFQUNiLE9BQWdCLEVBQ2hCLElBQWEsRUFDYixJQUFpQixFQUNqQixLQUFlLEVBQ2YsWUFBcUIsRUFDckIsU0FBMkIsRUFDM0IsUUFBbUIsRUFDbkIsVUFBdUIsRUFDdkIsS0FBZSxFQUNmLElBQWMsRUFDZCxTQUFxQixFQUNyQixVQUE2QixFQUM3QixPQUF1QjtJQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLDZEQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhELE9BQU87U0FDSixVQUFVLENBQUMsT0FBTyxDQUFDO1NBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDYixPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ2IsV0FBVyxDQUFDLEtBQUssQ0FBQztTQUNsQixlQUFlLENBQUMsWUFBWSxDQUFDO1NBQzdCLFlBQVksQ0FBQyxTQUFTLENBQUM7U0FDdkIsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUNmLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDekIsb0JBQW9CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztTQUNqQyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBQ2pCLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDekIsVUFBVSxDQUFDLE9BQU8sQ0FBQztTQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQUMsTUFBYztJQUMxQyxNQUFNLE9BQU8sR0FDWCxJQUFJLCtEQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTNDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsd0NBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEUsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDMUIsQ0FBQztBQUVNLEtBQUssVUFBVSxNQUFNLENBQzFCLE1BQWMsRUFDZCxLQUFhLEVBQ2IsT0FBZ0IsRUFDaEIsSUFBYSxFQUNiLElBQWlCLEVBQ2pCLEtBQWUsRUFDZixZQUFxQixFQUNyQixTQUEyQixFQUMzQixRQUFtQixFQUNuQixVQUF1QixFQUN2QixLQUFlLEVBQ2YsSUFBYyxFQUNkLFNBQXFCLEVBQ3JCLFVBQTZCLEVBQzdCLE9BQXVCLEVBQ3ZCLFFBQWlCO0lBRWpCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDN0IsT0FBTyxDQUNMLE1BQU0sRUFDTixLQUFLLEVBQ0wsT0FBTyxFQUNQLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxFQUNMLFlBQVksRUFDWixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsSUFBSSxFQUNKLFNBQVMsRUFDVCxVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUM7SUFFSixNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgTG9nZ2VyLCBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBGYWJyaWNDQVNlcnZlckNvbmZpZ0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vZmFicmljL2ZhYnJpYy1jYS1zZXJ2ZXIvZmFicmljLWNhLXNlcnZlci1jb25maWctYnVpbGRlclwiO1xuaW1wb3J0IHtcbiAgQ0FDb25maWcsXG4gIENvcnNDb25maWcsXG4gIENTUkNvbmZpZyxcbiAgSWRlbnRpdHksXG4gIFNlcnZlclRMU0NvbmZpZyxcbn0gZnJvbSBcIi4uLy4uL2ZhYnJpYy9pbnRlcmZhY2VzL2ZhYnJpYy9mYWJyaWMtY2Etc2VydmVyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgRmFicmljQ0FTZXJ2ZXJDb21tYW5kQnVpbGRlciB9IGZyb20gXCIuLi8uLi9mYWJyaWMvZmFicmljLWNhLXNlcnZlci9mYWJyaWMtY2Etc2VydmVyLWNvbW1hbmQtYnVpbGRlclwiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9DQV9DRVJUX1BBVEgsXG4gIEZhYnJpY0NBU2VydmVyQ29tbWFuZCxcbn0gZnJvbSBcIi4uLy4uL2ZhYnJpYy9jb25zdGFudHMvZmFicmljLWNhLXNlcnZlclwiO1xuaW1wb3J0IHtcbiAgTWV0cmljc0NvbmZpZyxcbiAgT3BlcmF0aW9uc0NvbmZpZyxcbn0gZnJvbSBcIi4uLy4uL2ZhYnJpYy9pbnRlcmZhY2VzL2ZhYnJpYy9nZW5lcmFsLWNvbmZpZ3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0NBSW5pdGlhbGl6ZWQoXG4gIGZpbGVMb2NhdGlvbjogc3RyaW5nID0gREVGQVVMVF9DQV9DRVJUX1BBVEhcbik6IGJvb2xlYW4ge1xuICBjb25zdCBsb2c6IExvZ2dlciA9IExvZ2dpbmcuZm9yKGhhc0NBSW5pdGlhbGl6ZWQpO1xuXG4gIGxvZy5kZWJ1ZyhgQ2hlY2tpbmcgQ0EgaW5pdGlhbGl6YXRpb24gYXQ6ICR7ZmlsZUxvY2F0aW9ufWApO1xuXG4gIGNvbnN0IGlzSW5pdGlhbGl6ZWQgPSBmcy5leGlzdHNTeW5jKGZpbGVMb2NhdGlvbik7XG5cbiAgbG9nLmRlYnVnKGBDQSBpbml0aWFsaXphdGlvbiBzdGF0dXM6ICR7aXNJbml0aWFsaXplZH1gKTtcblxuICByZXR1cm4gaXNJbml0aWFsaXplZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzc3VlQ0EoXG4gIGxvZ2dlcjogTG9nZ2VyLFxuICBjYURpcjogc3RyaW5nLFxuICB2ZXJzaW9uPzogc3RyaW5nLFxuICBwb3J0PzogbnVtYmVyLFxuICBjb3JzPzogQ29yc0NvbmZpZyxcbiAgZGVidWc/OiBib29sZWFuLFxuICBjcmxTaXplTGltaXQ/OiBudW1iZXIsXG4gIHNlcnZlclRMUz86IFNlcnZlclRMU0NvbmZpZyxcbiAgY2FDb25maWc/OiBDQUNvbmZpZyxcbiAgaWRlbnRpdGllcz86IElkZW50aXR5W10sXG4gIG5vVExTPzogYm9vbGVhbixcbiAgbm9DQT86IGJvb2xlYW4sXG4gIGNzckNvbmZpZz86IENTUkNvbmZpZyxcbiAgb3BlcmF0aW9ucz86IE9wZXJhdGlvbnNDb25maWcsXG4gIG1ldHJpY3M/OiBNZXRyaWNzQ29uZmlnXG4pIHtcbiAgY29uc3QgYnVpbGRlciA9IG5ldyBGYWJyaWNDQVNlcnZlckNvbmZpZ0J1aWxkZXIobG9nZ2VyKTtcblxuICBidWlsZGVyXG4gICAgLnNldFZlcnNpb24odmVyc2lvbilcbiAgICAuc2V0UG9ydChwb3J0KVxuICAgIC5zZXRDb3JzKGNvcnMpXG4gICAgLmVuYWJsZURlYnVnKGRlYnVnKVxuICAgIC5zZXRDcmxTaXplTGltaXQoY3JsU2l6ZUxpbWl0KVxuICAgIC5zZXRTZXJ2ZXJUTFMoc2VydmVyVExTKVxuICAgIC5zZXRDQShjYUNvbmZpZylcbiAgICAuc2V0SWRlbnRpdGllcyhpZGVudGl0aWVzKVxuICAgIC5yZW1vdmVVbnVzZWRQcm9maWxlcyhub1RMUywgbm9DQSlcbiAgICAuc2V0Q1NSKGNzckNvbmZpZylcbiAgICAuc2V0T3BlcmF0aW9ucyhvcGVyYXRpb25zKVxuICAgIC5zZXRNZXRyaWNzKG1ldHJpY3MpXG4gICAgLnNhdmUoY2FEaXIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnRDQShsb2dnZXI6IExvZ2dlcikge1xuICBjb25zdCBidWlsZGVyOiBGYWJyaWNDQVNlcnZlckNvbW1hbmRCdWlsZGVyID1cbiAgICBuZXcgRmFicmljQ0FTZXJ2ZXJDb21tYW5kQnVpbGRlcihsb2dnZXIpO1xuXG4gIGNvbnN0IGNvbW1hbmQgPSBidWlsZGVyLnNldENvbW1hbmQoRmFicmljQ0FTZXJ2ZXJDb21tYW5kLlNUQVJUKTtcblxuICBhd2FpdCBjb21tYW5kLmV4ZWN1dGUoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJvb3RDQShcbiAgbG9nZ2VyOiBMb2dnZXIsXG4gIGNhRGlyOiBzdHJpbmcsXG4gIHZlcnNpb24/OiBzdHJpbmcsXG4gIHBvcnQ/OiBudW1iZXIsXG4gIGNvcnM/OiBDb3JzQ29uZmlnLFxuICBkZWJ1Zz86IGJvb2xlYW4sXG4gIGNybFNpemVMaW1pdD86IG51bWJlcixcbiAgc2VydmVyVExTPzogU2VydmVyVExTQ29uZmlnLFxuICBjYUNvbmZpZz86IENBQ29uZmlnLFxuICBpZGVudGl0aWVzPzogSWRlbnRpdHlbXSxcbiAgbm9UTFM/OiBib29sZWFuLFxuICBub0NBPzogYm9vbGVhbixcbiAgY3NyQ29uZmlnPzogQ1NSQ29uZmlnLFxuICBvcGVyYXRpb25zPzogT3BlcmF0aW9uc0NvbmZpZyxcbiAgbWV0cmljcz86IE1ldHJpY3NDb25maWcsXG4gIGJvb3RGaWxlPzogc3RyaW5nXG4pIHtcbiAgaWYgKCFoYXNDQUluaXRpYWxpemVkKGJvb3RGaWxlKSlcbiAgICBpc3N1ZUNBKFxuICAgICAgbG9nZ2VyLFxuICAgICAgY2FEaXIsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgcG9ydCxcbiAgICAgIGNvcnMsXG4gICAgICBkZWJ1ZyxcbiAgICAgIGNybFNpemVMaW1pdCxcbiAgICAgIHNlcnZlclRMUyxcbiAgICAgIGNhQ29uZmlnLFxuICAgICAgaWRlbnRpdGllcyxcbiAgICAgIG5vVExTLFxuICAgICAgbm9DQSxcbiAgICAgIGNzckNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbnMsXG4gICAgICBtZXRyaWNzXG4gICAgKTtcblxuICBhd2FpdCBzdGFydENBKGxvZ2dlcik7XG59XG4iXX0=