MatterEx.PASE.Messages (matter_ex v0.4.0)

Copy Markdown View Source

TLV codec for PASE commissioning messages.

Each message type has an encode and decode function. Encoding produces a TLV binary; decoding returns a plain map.

Summary

Functions

decode_pake1(data)

@spec decode_pake1(binary()) :: {:ok, map()} | {:error, :invalid_message}

decode_pake2(data)

@spec decode_pake2(binary()) :: {:ok, map()} | {:error, :invalid_message}

decode_pake3(data)

@spec decode_pake3(binary()) :: {:ok, map()} | {:error, :invalid_message}

decode_pbkdf_param_request(data)

@spec decode_pbkdf_param_request(binary()) ::
  {:ok, map()} | {:error, :invalid_message}

decode_pbkdf_param_response(data)

@spec decode_pbkdf_param_response(binary()) ::
  {:ok, map()} | {:error, :invalid_message}

encode_pake1(pa)

@spec encode_pake1(binary()) :: binary()

encode_pake2(pb, cb)

@spec encode_pake2(binary(), binary()) :: binary()

encode_pake3(ca)

@spec encode_pake3(binary()) :: binary()

encode_pbkdf_param_request(initiator_random, session_id, opts \\ [])

@spec encode_pbkdf_param_request(binary(), non_neg_integer(), keyword()) :: binary()

Encode a PBKDFParamRequest.

Options:

  • :passcode_id — uint16, defaults to 0
  • :has_pbkdf_params — bool, defaults to false

encode_pbkdf_param_response(initiator_random, responder_random, session_id, iterations, salt)

@spec encode_pbkdf_param_response(
  binary(),
  binary(),
  non_neg_integer(),
  pos_integer(),
  binary()
) :: binary()