UNPKG

@sentclose/sentc-nodejs

Version:

End-to-end encryption sdk

49 lines (48 loc) 2.4 kB
/// <reference types="node" /> /// <reference types="node" /> /** * @author Jörn Heinemann <joernheinemann@gmx.de> * @since 2022/08/19 */ import { AbstractCrypto } from "./AbstractCrypto"; import { CryptoRawOutput, UserPublicKeyData } from "../Enities"; import { SymKey } from "./SymKey"; export declare abstract class AbstractAsymCrypto extends AbstractCrypto { /** * Fetch the public key for this user * * @param reply_id */ abstract getPublicKey(reply_id: string): Promise<UserPublicKeyData>; /** * Get the own private key * because only the actual user got access to the private key * * @param key_id */ abstract getPrivateKey(key_id: string): Promise<string>; abstract getPrivateKeySync(key_id: string): string; abstract getSignKey(): Promise<string>; abstract getSignKeySync(): string; abstract getJwt(): Promise<string>; encryptRaw(data: Buffer, reply_id: string): Promise<CryptoRawOutput>; encryptRaw(data: Buffer, reply_id: string, sign: true): Promise<CryptoRawOutput>; encryptRawSync(data: Buffer, reply_public_key: string, 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, reply_id: string): Promise<Buffer>; encrypt(data: Buffer, reply_id: string, sign: true): Promise<Buffer>; encryptSync(data: Buffer, reply_public_key: string, sign?: boolean): Buffer; decrypt(data: Buffer): Promise<Buffer>; decrypt(data: Buffer, verify: boolean, user_id: string): Promise<Buffer>; decryptSync(data: Buffer, verify_key?: string): Buffer; encryptString(data: string, reply_id: string): Promise<string>; encryptString(data: string, reply_id: string, sign: true): Promise<string>; encryptStringSync(data: string, reply_public_key: string, sign?: boolean): string; decryptString(data: string): Promise<string>; decryptString(data: string, verify: boolean, user_id: string): Promise<string>; decryptStringSync(data: string, verify_key?: string): string; generateNonRegisteredKey(reply_id: string): Promise<[SymKey, string]>; getNonRegisteredKey(master_key_id: string, key: string): Promise<SymKey>; }