UNPKG

@mojsoski/server-crypto

Version:

Asymmetric key-exchange cryptography library

15 lines (14 loc) 912 B
import { AsyncReadStream } from "@mojsoski/async-stream"; import { EncryptedContent, EncryptionContext, EncryptedHeader, ICryptoProvider } from "./base"; export declare abstract class Server<TKey> { abstract get name(): string; abstract get publicKey(): TKey; protected _provider: ICryptoProvider<TKey>; constructor(crypto: ICryptoProvider<TKey>); verifyJwt<T extends object>(jwt: string): Promise<T>; createContext(): Promise<EncryptionContext>; static decrypt<TKey>({ key, iv }: EncryptionContext, content: EncryptedContent, provider: ICryptoProvider<TKey>): Promise<Buffer<ArrayBufferLike>>; encryptStream(stream: AsyncReadStream<Buffer>): AsyncReadStream<EncryptedHeader | EncryptedContent>; static encrypt<TKey>({ key, iv }: EncryptionContext, content: Buffer, provider: ICryptoProvider<TKey>): Promise<EncryptedContent>; encryptBase64<T>(obj: T): Promise<string>; }