@am92/kms
Version:
Key Management Service
57 lines (56 loc) • 1.36 kB
TypeScript
import { KMSClient } from '@aws-sdk/client-kms';
import { AwsKmsConfig, DataKeyObject, DataKeyPairObject, EncryptDecryptOptions } from '../../TYPES';
/**
* Class to execute KMS methods using AWS KMS
*
* @class
*/
export declare class AwsKms {
/**
* Configurations used for AWS KMS
*/
CONFIG: AwsKmsConfig;
/**
* AWS KMS client instance
*/
client: KMSClient;
/**
* Creates an instance of AwsKms.
*
* @constructor
* @param config
*/
constructor(config: AwsKmsConfig);
/**
* Generates encryption keys for symmetric encryption algorithm
*
* @async
* @returns
*/
generateDataKey(): Promise<DataKeyObject>;
/**
* Generates encryption keys for asymmetric encryption algorithm
*
* @async
* @returns
*/
generateDataKeyPair(): Promise<DataKeyPairObject>;
/**
* Encrypts a given string using AES-256-CBC
*
* @async
* @param [plainText='']
* @param [options]
* @returns
*/
encrypt(plainText?: string, options?: EncryptDecryptOptions): Promise<string>;
/**
* Decrypts a given string using AES-256-CBC
*
* @async
* @param [ciphertext='']
* @param [options]
* @returns
*/
decrypt(ciphertext?: string, options?: EncryptDecryptOptions): Promise<string>;
}