@microsoft/dev-tunnels-ssh
Version:
SSH library for Dev Tunnels
30 lines • 1.18 kB
TypeScript
/// <reference types="node" />
import { Buffer } from 'buffer';
import { Disposable } from 'vscode-jsonrpc';
import { SshAlgorithm } from './sshAlgorithm';
export declare abstract class HmacAlgorithm implements SshAlgorithm {
readonly name: string;
readonly algorithmName: string;
readonly keyLength: number;
readonly digestLength: number;
protected constructor(name: string, algorithmName: string, keyLength: number, digestLength: number);
abstract createSigner(key: Buffer): Promise<MessageSigner>;
abstract createVerifier(key: Buffer): Promise<MessageVerifier>;
}
export interface HmacInfo {
readonly encryptThenMac?: boolean;
readonly authenticatedEncryption?: boolean;
}
export interface Signer extends Disposable {
readonly digestLength: number;
sign(data: Buffer): Promise<Buffer>;
}
export interface MessageSigner extends Signer, HmacInfo {
}
export interface Verifier extends Disposable {
readonly digestLength: number;
verify(data: Buffer, signature: Buffer): Promise<boolean>;
}
export interface MessageVerifier extends Verifier, HmacInfo {
}
//# sourceMappingURL=hmacAlgorithm.d.ts.map