UNPKG

@microsoft/useragent-sdk

Version:

SDK for building decentralized identity wallets and enterprise agents.

52 lines (51 loc) 1.63 kB
import IKeyContainer from '../keys/IKeyContainer'; import { KeyType } from '../keys/KeyTypeFactory'; /** * Define an item in the key store list */ export interface KeyStoreListItem { /** * The kid's of the key versions */ kids: string[]; /** * The key type of the key version */ kty: KeyType; } /** * Define different types for the algorithm parameter */ export declare type CryptoAlgorithm = RsaPssParams | EcdsaParams | Algorithm; /** * Interface defining methods and properties to * be implemented by specific key stores. */ export default interface IKeyStore { /** * Returns the key container associated with the specified * key reference. * @param keyIdentifier for which to return the key. * @param [publicKeyOnly] True if only the public key is needed. */ get(keyReference: string, publicKeyOnly?: boolean): Promise<IKeyContainer>; /** * Returns the key associated with the specified * key reference. * @param keyIdentifier for which to return the key. * @param [publicKeyOnly] True if only the public key is needed. */ /** * Saves the specified key container to the key store using * the key reference. * @param keyReference Reference for the key being saved. * @param key being saved to the key store. */ save(keyReference: string, key: IKeyContainer | string): Promise<void>; /** * Lists all key references with their corresponding key ids */ list(): Promise<{ [name: string]: KeyStoreListItem; }>; }