@sentclose/sentc-nodejs
Version:
End-to-end encryption sdk
44 lines (43 loc) • 2.11 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { CryptoRawOutput } from "../Enities";
import { AbstractCrypto } from "./AbstractCrypto";
import { SymKey } from "./SymKey";
/**
* @author Jörn Heinemann <joernheinemann@gmx.de>
* @since 2022/08/19
*/
export declare abstract class AbstractSymCrypto extends AbstractCrypto {
/**
* The latest used key (e.g., the latest group key)
*
* return the key and the key id
*/
abstract getSymKeyToEncrypt(): Promise<[string, string]>;
abstract getSymKeyToEncryptSync(): [string, string];
abstract getSymKeyById(key_id: string): Promise<string>;
abstract getSymKeyByIdSync(key_id: string): string;
abstract getSignKey(): Promise<string>;
abstract getSignKeySync(): string;
abstract getJwt(): Promise<string>;
encryptRaw(data: Buffer): Promise<CryptoRawOutput>;
encryptRaw(data: Buffer, sign: true): Promise<CryptoRawOutput>;
encryptRawSync(data: Buffer, sign?: boolean): CryptoRawOutput;
decryptRaw(head: string, encrypted_data: Buffer): Promise<Buffer>;
decryptRaw(head: string, encrypted_data: Buffer, verify_key: string): Promise<Buffer>;
decryptRawSync(head: string, encrypted_data: Buffer, verify_key?: string): Buffer;
encrypt(data: Buffer): Promise<Buffer>;
encrypt(data: Buffer, sign: true): Promise<Buffer>;
encryptSync(data: Buffer, sign?: boolean): Buffer;
decrypt(data: Buffer): Promise<Buffer>;
decrypt(data: Buffer, verify: true, user_id: string): Promise<Buffer>;
decryptSync(data: Buffer, verify_key?: string): Buffer;
encryptString(data: string): Promise<string>;
encryptString(data: string, sign: true): Promise<string>;
encryptStringSync(data: string, sign?: boolean): string;
decryptString(data: string): Promise<string>;
decryptString(data: string, verify_key: true, user_id: string): Promise<string>;
decryptStringSync(data: string, verify_key?: string): string;
generateNonRegisteredKey(): Promise<[SymKey, string]>;
getNonRegisteredKey(master_key_id: string, key: string): Promise<SymKey>;
}