@mojsoski/server-crypto
Version:
Asymmetric key-exchange cryptography library
17 lines (16 loc) • 889 B
TypeScript
import ms from "ms";
import { AsyncReadStream } from "@mojsoski/async-stream";
import { ICryptoProvider } from "./base";
import { EncryptedContent, EncryptedHeader, EncryptionContext, Server } from "./index";
export declare class CurrentServer<TKey> extends Server<TKey> {
#private;
static fromEnvironment<TKey>(provider: ICryptoProvider<TKey>): Promise<CurrentServer<TKey>>;
constructor(name: string, publicKey: TKey, privateKey: TKey, provider: ICryptoProvider<TKey>);
get name(): string;
get publicKey(): TKey;
protected get privateKey(): TKey;
signJwt<T extends object>(obj: T, expiresIn: ms.StringValue): Promise<string>;
decryptStream(stream: AsyncReadStream<EncryptedHeader | EncryptedContent>): AsyncReadStream<Buffer>;
decryptContext(header: EncryptedHeader): Promise<EncryptionContext>;
decryptBase64<T>(payloadB64: string): Promise<T>;
}