@microsoft/dev-tunnels-ssh
Version:
SSH library for Dev Tunnels
33 lines • 1.53 kB
TypeScript
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