mcps-sdk-js
Version:
MCPS JavaScript SDK
53 lines (52 loc) • 1.73 kB
TypeScript
import * as types from './types';
/**
* Key DAO Interface, to be implemented by apps if they need the key management.
*/
export interface KeyDAO {
/**
* Save the encrypted private key to app
*
* @param name Name of the key
* @param key The encrypted private key object
* @throws `SdkError` if the save fails.
*/
write(name: string, key: types.Key): void;
/**
* Get the encrypted private key by name
*
* @param name Name of the key
* @returns The encrypted private key object or undefined
*/
read(name: string): types.Key;
/**
* Delete the key by name
* @param name Name of the key
* @throws `SdkError` if the deletion fails.
*/
delete(name: string): void;
/**
* Optional function to encrypt the private key by yourself. Default to AES Encryption
* @param privKey The plain private key
* @param password The password to encrypt the private key
* @returns The encrypted private key
* @throws `SdkError` if encrypt failed
*/
encrypt?(privKey: string, password: string): string;
/**
* Optional function to decrypt the private key by yourself. Default to AES Decryption
* @param encrptedPrivKey The encrpted private key
* @param password The password to decrypt the private key
* @returns The plain private key
* @throws `SdkError` if decrypt failed
*/
decrypt?(encrptedPrivKey: string, password: string): string;
}
/** Cache KeyDAO */
export declare class CacheKeyDAO implements KeyDAO {
keyMap: {
[key: string]: types.Key;
};
write(name: string, key: types.Key): void;
read(name: string): types.Key;
delete(name: string): void;
}