@hyperledger/cactus-common
Version:
Universal library used by both front end and back end components of Cactus. Aims to be a developer swiss army knife.
26 lines • 1.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Secp256k1Keys = void 0;
const crypto_1 = __importDefault(require("crypto"));
const secp256k1_1 = __importDefault(require("secp256k1"));
class Secp256k1Keys {
/**
* Generate random private and public secp256k1 key in Buffer format
* @return Generated key pair
*/
static generateKeyPairsBuffer() {
let privKey;
// generate secp256K1 private key
do {
privKey = crypto_1.default.randomBytes(32);
} while (!secp256k1_1.default.privateKeyVerify(privKey));
// generate secp256K1 public key
const pubKey = secp256k1_1.default.publicKeyCreate(privKey);
return { privateKey: privKey, publicKey: pubKey };
}
}
exports.Secp256k1Keys = Secp256k1Keys;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyLWtleS1wYWlycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL3R5cGVzY3JpcHQvc2lnbmVyLWtleS1wYWlycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMERBQWtDO0FBT2xDLE1BQWEsYUFBYTtJQUN4Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCO1FBQzNCLElBQUksT0FBbUIsQ0FBQztRQUN4QixpQ0FBaUM7UUFDakMsR0FBRyxDQUFDO1lBQ0YsT0FBTyxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsUUFBUSxDQUFDLG1CQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFFL0MsZ0NBQWdDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLG1CQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUFqQkQsc0NBaUJDIn0=