iso-signatures
Version:
Signatures tooling.
64 lines • 2.19 kB
TypeScript
/**
* Create web crypto params for ECDSA.
*
* @param {Curves} curve
* @returns {{name: 'ECDSA', namedCurve: 'P-256' | 'P-384' | 'P-521', hash: 'SHA-256' | 'SHA-384' | 'SHA-512'}}
*/
export function createEcdsaParams(curve: Curves): {
name: "ECDSA";
namedCurve: "P-256" | "P-384" | "P-521";
hash: "SHA-256" | "SHA-384" | "SHA-512";
};
/**
* ECDSA signer for ES256, ES384, and ES512 using WebCrypto
*
* @implements {ISigner}
*/
export class ECDSASigner extends DID implements ISigner {
/**
* Generate a new signer
*
* @param {Curves} curve
*/
static generate(curve: Curves): Promise<ECDSASigner>;
/**
* Import a signer from a JWK
*
* @param {import('iso-did/types').ECJWKPrivate} jwk
* @param {import('iso-did/types').VerifiableDID} [did]
*/
static importJwk(jwk: import("iso-did/types").ECJWKPrivate, did?: import("iso-did/types").VerifiableDID): Promise<ECDSASigner>;
/**
* Import a signer from a CryptoKeyPair
*
* @param {CryptoKeyPair} key
* @param {import('iso-did/types').VerifiableDID} [did]
*/
static import(key: CryptoKeyPair, did?: import("iso-did/types").VerifiableDID): Promise<ECDSASigner>;
/**
* @param {import('iso-did/types').VerifiableDID} did
* @param {CryptoKeyPair} keypair
*/
constructor(did: import("iso-did/types").VerifiableDID, keypair: CryptoKeyPair);
/** @type {import('../types.js').SignatureType} */
signatureType: import("../types.js").SignatureType;
curve: "P-256" | "P-384" | "P-521";
/**
* Sign a message
*
* @param {Uint8Array} message
*/
sign(message: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
/**
* Export the signer as a CryptoKeyPair
*
* @returns {CryptoKeyPair}
*/
export(): CryptoKeyPair;
#private;
}
export type ISigner = import("../types.js").ISigner<CryptoKeyPair>;
export type Curves = Extract<import("iso-did/types").KeyType, "P-256" | "P-384" | "P-521">;
export type SignatureTypes = Extract<import("../types.js").SignatureType, "ES256" | "ES384" | "ES512">;
import { DID } from 'iso-did';
//# sourceMappingURL=ecdsa.d.ts.map