SshTransportHandshakeResult
Defined in: src/protocols/ssh/transport/SshTransportHandshake.ts:29
Initial client-side handshake state before key exchange math starts.
Properties
Section titled “Properties”| Property | Type | Description | Defined in |
|---|---|---|---|
inboundPacketCount | number | Number of unencrypted packets the client received from the server during the handshake (server KEXINIT, KEX_ECDH_REPLY, NEWKEYS). Seeds the inbound unprotector. | src/protocols/ssh/transport/SshTransportHandshake.ts:59 |
keyExchange | { algorithm: string; clientKexInitPayload: Buffer; clientPublicKey: Buffer; exchangeHash: Buffer; serverHostKey: Buffer; serverKexInitPayload: Buffer; serverPublicKey: Buffer; serverSignature: Buffer; sessionId: Buffer; sharedSecret: Buffer; transportKeys: { clientToServer: SshTransportDirectionKeys; serverToClient: SshTransportDirectionKeys; }; } | - | src/protocols/ssh/transport/SshTransportHandshake.ts:30 |
keyExchange.algorithm | string | - | src/protocols/ssh/transport/SshTransportHandshake.ts:31 |
keyExchange.clientKexInitPayload | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:32 |
keyExchange.clientPublicKey | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:33 |
keyExchange.exchangeHash | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:34 |
keyExchange.serverHostKey | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:35 |
keyExchange.serverKexInitPayload | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:36 |
keyExchange.serverPublicKey | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:37 |
keyExchange.serverSignature | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:38 |
keyExchange.sessionId | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:39 |
keyExchange.sharedSecret | Buffer | - | src/protocols/ssh/transport/SshTransportHandshake.ts:40 |
keyExchange.transportKeys | { clientToServer: SshTransportDirectionKeys; serverToClient: SshTransportDirectionKeys; } | - | src/protocols/ssh/transport/SshTransportHandshake.ts:41 |
keyExchange.transportKeys.clientToServer | SshTransportDirectionKeys | - | src/protocols/ssh/transport/SshTransportHandshake.ts:42 |
keyExchange.transportKeys.serverToClient | SshTransportDirectionKeys | - | src/protocols/ssh/transport/SshTransportHandshake.ts:43 |
negotiatedAlgorithms | NegotiatedSshAlgorithms | - | src/protocols/ssh/transport/SshTransportHandshake.ts:46 |
outboundPacketCount | number | Number of unencrypted packets the client sent during the handshake (KEXINIT, KEX_ECDH_INIT, NEWKEYS). Per RFC 4253 §6.4, packet sequence numbers are never reset across NEWKEYS, so this value seeds the outbound protector. | src/protocols/ssh/transport/SshTransportHandshake.ts:54 |
serverIdentification | SshIdentification | - | src/protocols/ssh/transport/SshTransportHandshake.ts:47 |
serverKexInit | SshKexInitMessage | - | src/protocols/ssh/transport/SshTransportHandshake.ts:48 |