UNPKG

@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.

41 lines (40 loc) 1.33 kB
import { LogLevelDesc } from "loglevel"; export type SignatureFunction = (msg: unknown, pkey: Uint8Array) => Uint8Array; export type VerifySignatureFunction = (msg: unknown, signature: Uint8Array, pubKey: Uint8Array) => boolean; export type HashFunction = (data: unknown) => string; export interface IJsObjectSignerOptions { privateKey: Uint8Array | string; signatureFunc?: SignatureFunction; verifySignatureFunc?: VerifySignatureFunction; hashFunc?: HashFunction; logLevel?: LogLevelDesc; } export declare class JsObjectSigner { readonly options: IJsObjectSignerOptions; private privateKey; private signatureFunc?; private verifySignatureFunc?; private hashFunc?; private readonly logger; constructor(options: IJsObjectSignerOptions); /** * Generate signature from formated message * @param msg * @returns Generated signature */ sign(msg: unknown): Uint8Array; /** * Verify if a signature corresponds to given message and public key * @param msg * @param pubKey * @param signature * @returns {boolean} */ verify(msg: unknown, signature: Uint8Array, pubKey: Uint8Array): boolean; /** * Format message to be signed * @param data * @returns {string} */ dataHash(data: unknown): string; }