нл:: Переплетение:: Профили:: Безопасность:: КлючЭкспорт:: WeaveKeyExport

#include <src/lib/profiles/security/WeaveKeyExport.h>

Реализует основную логику протокола экспорта ключей Weave.

Краткое содержание

Публичные типы

@260 {
kState_Reset = 0,
kState_InitiatorGeneratingRequest = 10,
kState_InitiatorRequestGenerated = 11,
kState_InitiatorReconfigureProcessed = 12,
kState_InitiatorDone = 13,
kState_ResponderProcessingRequest = 20,
kState_ResponderRequestProcessed = 21,
kState_ResponderDone = 22
}
перечисление
Текущее состояние объекта WeaveKeyExport .

Публичные атрибуты

ECDHPrivateKey [kMaxECDHPrivateKeySize]
uint8_t
ECDHPrivateKeyLen
uint16_t
ECDHPublicKey [kMaxECDHPublicKeySize]
uint8_t
EncryptionAndAuthenticationKey [kEncryptionAndAuthenticationKeySize]
uint8_t
GroupKeyStore
Указатель на объект хранилища ключей группы платформы.
KeyExportDelegate
Указатель на ключевой объект делегата экспорта.
SharedSecret [kMaxECDHSharedSecretSize]
uint8_t
SharedSecretLen
uint16_t

Общественные функции

AllowedConfigs () const
uint8_t
GenerateKeyExportReconfigure (uint8_t *buf, uint16_t bufSize, uint16_t & msgLen)
GenerateKeyExportRequest (uint8_t *buf, uint16_t bufSize, uint16_t & msgLen, uint8_t proposedConfig, uint32_t keyId, bool signMessages)
GenerateKeyExportResponse (uint8_t *buf, uint16_t bufSize, uint16_t & msgLen, const WeaveMessageInfo *msgInfo)
Init ( WeaveKeyExportDelegate *keyExportDelegate, GroupKeyStoreBase *groupKeyStore)
void
IsAllowedConfig (uint8_t config) const
bool
IsInitiator () const
bool
KeyId () const
uint32_t
MessageInfo () const
ProcessKeyExportReconfigure (const uint8_t *buf, uint16_t msgSize, uint8_t & config)
ProcessKeyExportRequest (const uint8_t *buf, uint16_t msgSize, const WeaveMessageInfo *msgInfo)
ProcessKeyExportResponse (const uint8_t *buf, uint16_t msgSize, const WeaveMessageInfo *msgInfo, uint8_t *exportedKeyBuf, uint16_t exportedKeyBufSize, uint16_t & exportedKeyLen, uint32_t & exportedKeyId)
ProtocolConfig () const
uint8_t
Reset (void)
void
SetAllowedConfigs (uint8_t allowedConfigs)
void
Shutdown (void)
void
SignMessages () const
bool
State () const
uint8_t

Публичные типы

@260

 @260

Текущее состояние объекта WeaveKeyExport .

Характеристики
kState_InitiatorDone

Состояние инициатора, указывающее, что ответ на ключевой экспорт был обработан.

kState_InitiatorGeneratingRequest

Состояние инициатора, указывающее, что создается сообщение с запросом на экспорт ключа.

kState_InitiatorReconfigureProcessed

Состояние инициатора, указывающее, что сообщение о перенастройке экспорта ключа было обработано.

kState_InitiatorRequestGenerated

Состояние инициатора, указывающее, что сообщение с запросом на экспорт ключа создано.

kState_Reset

Начальное (и конечное) состояние объекта WeaveKeyExport .

kState_ResponderDone

Состояние ответчика, указывающее, что было создано ответное сообщение экспорта ключа.

kState_ResponderProcessingRequest

Состояние ответчика, указывающее, что сообщение с запросом на экспорт ключа обрабатывается.

kState_ResponderRequestProcessed

Состояние ответчика, указывающее, что сообщение с запросом на экспорт ключа обработано.

Публичные атрибуты

ECDHЧастный ключ

uint8_t ECDHPrivateKey[kMaxECDHPrivateKeySize]

ECDHPrivateKeyLen

uint16_t ECDHPrivateKeyLen

ECDHPublicKey

uint8_t ECDHPublicKey[kMaxECDHPublicKeySize]

ШифрованиеИАутентификацияКлюч

uint8_t EncryptionAndAuthenticationKey[kEncryptionAndAuthenticationKeySize]

Групповое хранилище ключей

GroupKeyStoreBase * GroupKeyStore

Указатель на объект хранилища ключей группы платформы.

KeyExportDelegate

WeaveKeyExportDelegate * KeyExportDelegate

Указатель на ключевой объект делегата экспорта.

Общий секрет

uint8_t SharedSecret[kMaxECDHSharedSecretSize]

SharedSecretLen

uint16_t SharedSecretLen

Общественные функции

Разрешенные конфигурации

uint8_t AllowedConfigs() const 

ГенератеКейЭкспортРеконфигуре

WEAVE_ERROR GenerateKeyExportReconfigure(
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & msgLen
)

GenerateKeyExportRequest

WEAVE_ERROR GenerateKeyExportRequest(
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & msgLen,
  uint8_t proposedConfig,
  uint32_t keyId,
  bool signMessages
)

ГенератеКейЭкспортОтклик

WEAVE_ERROR GenerateKeyExportResponse(
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & msgLen,
  const WeaveMessageInfo *msgInfo
)

В этом

void Init(
  WeaveKeyExportDelegate *keyExportDelegate,
  GroupKeyStoreBase *groupKeyStore
)

Исалловедконфиг

bool IsAllowedConfig(
  uint8_t config
) const 

Исинициатор

bool IsInitiator() const 

идентификатор ключа

uint32_t KeyId() const 

Информация о сообщении

const WeaveMessageInfo * MessageInfo() const 

ПроцессКейЭкспортРеконфигуре

WEAVE_ERROR ProcessKeyExportReconfigure(
  const uint8_t *buf,
  uint16_t msgSize,
  uint8_t & config
)

ProcessKeyExportRequest

WEAVE_ERROR ProcessKeyExportRequest(
  const uint8_t *buf,
  uint16_t msgSize,
  const WeaveMessageInfo *msgInfo
)

ПроцессКейЭкспортОтклик

WEAVE_ERROR ProcessKeyExportResponse(
  const uint8_t *buf,
  uint16_t msgSize,
  const WeaveMessageInfo *msgInfo,
  uint8_t *exportedKeyBuf,
  uint16_t exportedKeyBufSize,
  uint16_t & exportedKeyLen,
  uint32_t & exportedKeyId
)

ПротоколКонфигурация

uint8_t ProtocolConfig() const 

Перезагрузить

void Reset(
  void
)

SetAllowedConfigs

void SetAllowedConfigs(
  uint8_t allowedConfigs
)

Неисправность

void Shutdown(
  void
)

ВойтиСообщения

bool SignMessages() const 

Состояние

uint8_t State() const