elliptic: signatures can be constructed from flexibly encoded DER types (#41652)

This commit is contained in:
Vincent Breitmoser 2020-01-22 01:37:43 +01:00 committed by Ben Lichtman
parent 7397dcc6d0
commit 032e7f841f
2 changed files with 9 additions and 6 deletions

View File

@ -13,6 +13,8 @@ const signature = key.sign(msgHash);
// Export DER encoded signature in Array
const derSign = signature.toDER();
const decodedSignature = new elliptic.ec.Signature(derSign);
// Verify signature
console.log(key.verify(msgHash, derSign));

View File

@ -10,7 +10,8 @@ import BN = require("bn.js");
export const utils: any;
export const rand: any;
export type BNInput = string | BN | number | Buffer | Uint8Array | number[];
export type BNInput = string | BN | number | Buffer | Uint8Array | ReadonlyArray<number>;
export type SignatureInput = ec.Signature | ec.SignatureOptions | Uint8Array | ReadonlyArray<number> | string;
export const version: number;
@ -204,19 +205,19 @@ export class ec {
): ec.Signature;
verify(
msg: BNInput,
signature: ec.Signature | ec.SignatureOptions,
signature: SignatureInput,
key: Buffer | ec.KeyPair,
enc?: string
): boolean;
recoverPubKey(
msg: BNInput,
signature: ec.Signature | ec.SignatureOptions,
signature: SignatureInput,
j: number,
enc?: string
): any;
getKeyRecoveryParam(
e: Error | undefined,
signature: ec.Signature | ec.SignatureOptions,
signature: SignatureInput,
Q: BN,
enc?: string
): number;
@ -266,7 +267,7 @@ export namespace ec {
sign(msg: BNInput, options?: SignOptions): Signature;
verify(
msg: BNInput,
signature: Signature | SignatureOptions | string
signature: SignatureInput
): boolean;
inspect(): string;
}
@ -276,7 +277,7 @@ export namespace ec {
s: BN;
recoveryParam: number | null;
constructor(options: SignatureOptions | Signature, enc?: string);
constructor(options: SignatureInput, enc?: string);
toDER(enc?: string | null): any; // ?
}