class Matter::Session::Case::CaseResponder

Overview

CASE session establishment (responder side - device)

Defined in:

matter/session/case/case.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(cert_chain : CertificateChain, operational_key : Crypto::Key, fabric_id : UInt64, node_id : UInt64, crypto : Crypto::CryptoBase = Crypto::StandardCrypto.new) #

[View source]

Instance Method Detail

def cert_chain : CertificateChain #

[View source]
def cert_chain=(cert_chain : CertificateChain) #

[View source]
def crypto : Crypto::CryptoBase #

[View source]
def crypto=(crypto : Crypto::CryptoBase) #

[View source]
def derive_session_keys : NamedTuple(encryption: Bytes, decryption: Bytes) #

Derive session keys after successful CASE


[View source]
def ephemeral_key : Crypto::Key | Nil #

[View source]
def ephemeral_key=(ephemeral_key : Crypto::Key | Nil) #

[View source]
def fabric_id : UInt64 #

[View source]
def fabric_id=(fabric_id : UInt64) #

[View source]
def node_id : UInt64 #

[View source]
def node_id=(node_id : UInt64) #

[View source]
def operational_key : Crypto::Key #

[View source]
def operational_key=(operational_key : Crypto::Key) #

[View source]
def peer_cert : Bytes | Nil #

[View source]
def peer_cert=(peer_cert : Bytes | Nil) #

[View source]
def process_sigma1(peer_ephemeral_public_key : Bytes, peer_random : Bytes, peer_session_id : UInt16) : NamedTuple(ephemeral_public_key: Bytes, random: Bytes, encrypted_cert: Bytes, session_id: UInt16) #

Step 1: Process Sigma1 and generate Sigma2 response


[View source]
def process_sigma3(encrypted_cert : Bytes, signature : Bytes) : Bool #

Step 2: Process Sigma3 and verify


[View source]