UNPKG

@microsoft/dev-tunnels-ssh

Version:
33 lines 1.53 kB
import { SshSession } from '../sshSession'; import { SshService } from './sshService'; import { KeyExchangeInitMessage, KeyExchangeMessage, KeyExchangeDhInitMessage } from '../messages/kexMessages'; import { KeyPair } from '../algorithms/sshAlgorithms'; import { SshSessionAlgorithms } from '../sshSessionAlgorithms'; import { CancellationToken } from 'vscode-jsonrpc'; export declare class KeyExchangeService extends SshService { static readonly serviceName = "ssh-keyexchange"; private isInitialExchange; private exchangeContext; constructor(session: SshSession); get exchanging(): boolean; hostKey?: KeyPair; startKeyExchange(isInitialExchange: boolean): Promise<[KeyExchangeInitMessage, KeyExchangeDhInitMessage | null]>; finishKeyExchange(): SshSessionAlgorithms; abortKeyExchange(): void; private createKeyExchangeInitMessage; /** * Gets the list of public key algorithms that the current session can support. * For a server session the list is filtered based on the available private keys. */ private getPublicKeyAlgorithms; private createKeyExchangeGuessMessage; handleMessage(message: KeyExchangeMessage, cancellation?: CancellationToken): void | Promise<void>; private handleInitMessage; private handleDhInitMessage; private handleDhReplyMessage; private chooseAlgorithm; private computeExchangeHash; private computeKeys; private computeKey; } //# sourceMappingURL=keyExchangeService.d.ts.map