Skip to content

SshPacketWriter

[Source]

class ref SshPacketWriter

Constructors

create

[Source]

new iso create()
: SshPacketWriter iso^

Returns


Public Functions

set_encrypt_ctx

[Source]

fun ref set_encrypt_ctx(
  ctx: SshCipherContext ref,
  is_aead: Bool val = true)
: None val

Parameters

Returns


set_gcm_params

[Source]

Set up per-packet GCM encryption. A fresh cipher context is created per packet. iv must be 12 bytes. The last 8 bytes are incremented per packet.

fun ref set_gcm_params(
  key: Array[U8 val] val,
  iv: Array[U8 val] val)
: None val

Parameters

Returns


set_stream_cipher

[Source]

Set up streaming encryption (CTR/CBC) with HMAC. The cipher context persists across packets. MAC is HMAC-SHA256 or HMAC-SHA512.

fun ref set_stream_cipher(
  ctx: SshCipherContext ref,
  mac_key: Array[U8 val] val,
  mac_len: USize val,
  use_sha512: Bool val = false)
: None val

Parameters

Returns


clear_encrypt_ctx

[Source]

fun ref clear_encrypt_ctx()
: None val

Returns


write

[Source]

Frame a payload into an SSH binary packet. Returns the complete packet bytes ready for TCP.

fun ref write(
  payload: Array[U8 val] val,
  block_size: USize val = 8)
: Array[U8 val] iso^

Parameters

Returns


sequence_number

[Source]

fun box sequence_number()
: U32 val

Returns