UNPKG

@unvision/jose

Version:

Implementation of the RFCs of the JOSE Working Group.

47 lines (46 loc) 1.75 kB
import { JsonWebKey } from '../jwk/jsonwebkey'; import { JsonWebKeySetParameters } from './jsonwebkeyset.parameters'; /** * Implementation of a JSON Web Key Set. * * @see https://www.rfc-editor.org/rfc/rfc7517.html#section-5 */ export declare class JsonWebKeySet implements JsonWebKeySetParameters { /** * JSON Web Keys registered at the JSON Web Key Set. */ readonly keys: JsonWebKey[]; /** * Instantiates a new JSON Web Key Set based on the provided JSON Web Keys. * * @param keys JSON Web Keys to be registered at the JSON Web Key Set. */ constructor(keys: JsonWebKey[]); /** * Loads the provided Parameters into a JSON Web Key Set. * * @param parameters Parameters of the JSON Web Key Set. * @returns JSON Web Key Set based on the provided Parameters. */ static load(parameters: JsonWebKeySetParameters): JsonWebKeySet; /** * Parses a JSON String into a JSON Web Key Set. * * @param data JSON String representation of the JSON Web Key Set to be parsed. * @returns Instance of a JSON Web Key Set based on the provided JSON String. */ static parse(data: string): JsonWebKeySet; /** * Finds and returns a JSON Web Key that satisfies the provided predicate. * * @param predicate Predicate used to locate the requested JSON Web Key. * @returns JSON Web Key that satisfies the provided predicate. */ find<T extends JsonWebKey>(predicate: (key: JsonWebKey) => boolean): T | null; /** * Returns the Parameters of the JSON Web Key Set. * * @param exportPublic Exports only the Public Parameters of the JSON Web Keys. */ toJSON(exportPublic?: boolean): JsonWebKeySetParameters; }