@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxLWtleXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi90eXBlc2NyaXB0L3NlY3AyNTZrMS1rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QiwwREFBa0M7QUFPbEMsTUFBYSxhQUFhO0lBQ3hCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQkFBc0I7UUFDM0IsSUFBSSxPQUFlLENBQUM7UUFDcEIsaUNBQWlDO1FBQ2pDLEdBQUcsQ0FBQztZQUNGLE9BQU8sR0FBRyxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDLFFBQVEsQ0FBQyxtQkFBUyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBRS9DLGdDQUFnQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxtQkFBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBakJELHNDQWlCQyJ9