нл:: Переплетение:: WeaveSecurityManager

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

Конструкторы и деструкторы

WeaveSecurityManager (void)

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

KeyErrorMsgRcvdFunct )(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) определение типа
void(*
Тип функции обработки ключевых сообщений об ошибках.
KeyExportCompleteFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) определение типа
void(*
Тип ключевого протокола экспорта, полная функция обработки.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) определение типа
void(*
Тип функции обработки ошибок протокола экспорта ключа.
SessionErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport) определение типа
void(*
SessionEstablishedFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType) определение типа
void(*
State перечисление

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

CASEUseKnownECDHKey
bool
ExchangeManager
FabricState
IdleSessionTimeout
uint32_t
InitiatorAllowedCASEConfigs
uint8_t
InitiatorAllowedCASECurves
uint8_t
InitiatorAllowedKeyExportConfigs
uint8_t
InitiatorCASEConfig
uint32_t
InitiatorCASECurveId
uint32_t
InitiatorKeyExportConfig
uint8_t
OnKeyErrorMsgRcvd
Ключевая функция обратного вызова ошибки.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
Ключевой протокол экспорта завершает функцию обратного вызова.
mStartKeyExport_OnError
Функция обратного вызова ошибки протокола экспорта ключа.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

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

CancelSessionEstablishment (void *reqState)
Отмените установление текущего сеанса.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
Проверяет, является ли указанный код ошибки Weave одним из ключевых кодов ошибок.
OnEncryptedMsgRcvd (uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey (uint64_t peerNodeId, uint16_t keyId)
void
Освободите резервирование ключа шифрования сообщения.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
Зарезервируйте ключ шифрования сообщения.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Отправить ключевое сообщение об ошибке.
SetCASEAuthDelegate ( WeaveCASEAuthDelegate *delegate)
void
SetKeyExportDelegate ( WeaveKeyExportDelegate *delegate)
void
SetTAKEAuthDelegate ( WeaveTAKEChallengerAuthDelegate *delegate)
void
SetTAKETokenAuthDelegate ( WeaveTAKETokenAuthDelegate *delegate)
void
Shutdown (void)
StartCASESession ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, WeaveCASEAuthDelegate *authDelegate, uint64_t terminatingNodeId)
Этот метод вызывается для установления нового или поиска существующего сеанса CASE.
StartKeyExport ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, uint32_t keyId, bool signMessage, void *reqState, KeyExportCompleteFunct onComplete, KeyExportErrorFunct onError, WeaveKeyExportDelegate *keyExportDelegate)
StartPASESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, const uint8_t *pw, uint16_t pwLen)
Этот метод вызывается для установления безопасного сеанса PASE.
StartTAKESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Этот метод вызывается для установления безопасного сеанса TAKE.

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

КейErrorMsgRcvdFunct

void(* KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr)

Тип функции обработки ключевых сообщений об ошибках.

Подробности
Параметры
[in] keyId
Ключ шифрования вызвал ответное сообщение об ошибке ключа от узла.
[in] encType
Тип шифрования, связанный с keyId .
[in] messageId
Идентификатор сообщения Weave привел к ответу с ошибкой ключа от узла.
[in] peerNodeId
Идентификатор узла Weave, отправившего сообщение об ошибке ключа.
[in] keyErr
Код ошибки, полученный от узла.

KeyExportCompleteFunct

void(* KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)

Тип ключевого протокола экспорта, полная функция обработки.

Подробности
Параметры
[in] sm
Указатель на объект WeaveSecurityManager .
[in] con
Указатель на объект WeaveConnection .
[in] reqState
Указатель на ключевое состояние инициатора запроса на экспорт.
[in] keyId
Экспортированный идентификатор ключа.
[in] exportedKey
Указатель на экспортированный секретный ключ.
[in] exportedKeyLen
Ссылка на длину экспортированного секретного ключа.

Кейэкспортеррорфункт

void(* KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport)

Тип функции обработки ошибок протокола экспорта ключа.

Подробности
Параметры
[in] sm
Указатель на объект WeaveSecurityManager .
[in] con
Указатель на объект WeaveConnection .
[in] reqState
Указатель на ключевое состояние инициатора запроса на экспорт.
[in] localErr
Ошибка WEAVE_ERROR, обнаруженная во время протокола экспорта ключей.
[in] statusReport
Указатель на объект StatusReport, если статус ошибки получен от узла.

сессионеррорфункт

void(* SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport)

SessionEstablishedFunct

void(* SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)

Состояние

 State

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

CASEUseKnownECDHKey

bool CASEUseKnownECDHKey

Менеджер обмена

WeaveExchangeManager * ExchangeManager

Состояние Фабрики

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

InitiatorAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

ИнициаторAllowedCASECurves

uint8_t InitiatorAllowedCASECurves

InitiatorAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

ИнициаторCASEConfig

uint32_t InitiatorCASEConfig

ИнициаторCASECurveId

uint32_t InitiatorCASECurveId

ИнициаторКейЭкспортКонфиг

uint8_t InitiatorKeyExportConfig

Онкейеррормсгрквд

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

Ключевая функция обратного вызова ошибки.

Эта функция вызывается при получении ключевого сообщения об ошибке.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ОтветчикAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ОтветчикAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ОтветчикAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

Сеансестаблиштаймаут

uint32_t SessionEstablishTimeout

Состояние

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Ключевой протокол экспорта завершает функцию обратного вызова.

Эта функция вызывается, когда процесс экспорта секретного ключа завершен.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

Функция обратного вызова ошибки протокола экспорта ключа.

Эта функция вызывается, когда в процессе экспорта ключей возникает ошибка.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

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

Отмена установки сеанса

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Отмените установление текущего сеанса.

Подробности
Параметры
[in] reqState
Значение указателя, соответствующее значению, предоставленному приложением при запуске сеанса.
Возвращаемые значения
WEAVE_NO_ERROR
Если соответствующее установление текущего сеанса было найдено и отменено.
WEAVE_ERROR_INCORRECT_STATE
Если не было установления сеанса или текущий сеанс не соответствовал предоставленному указателю состояния запроса.

Инициализировать

WEAVE_ERROR Init(
  WeaveExchangeManager & aExchangeMgr,
  System::Layer & aSystemLayer
)

ИсКейError

bool IsKeyError(
  WEAVE_ERROR err
)

Проверяет, является ли указанный код ошибки Weave одним из ключевых кодов ошибок.

Эта функция вызывается для определения того, следует ли отправлять сообщение об ошибке ключа инициатору сообщения, которому не удалось найти правильный ключ во время декодирования.

Подробности
Параметры
[in] err
Код ошибки Weave.
Возвращаемые значения
true
Если указан код ошибки Weave, это ключевая ошибка.
false
В противном случае.

Онеккриптедмсгрквд

void OnEncryptedMsgRcvd(
  uint16_t sessionKeyId,
  uint64_t peerNodeId,
  uint8_t encType
)

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Освободите резервирование ключа шифрования сообщения.

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

Для каждого резервирования, сделанного для определенного ключа, метод ReleaseKey() должен вызываться не более одного раза.

Этот метод принимает любую форму идентификатора ключа, включая None. Идентификаторы ключей, которые не называют фактические ключи, игнорируются.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла Weave узла, с которым поделился ключ.
[in] keyId
Идентификатор ключа, резервирование которого должно быть снято.

Резервный ключ

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Зарезервируйте ключ шифрования сообщения.

Резервирование ключей используется для обозначения того, что конкретный ключ активно используется и его следует сохранить. Обратите внимание, что резервирование ключа не гарантирует, что ключ не будет удален в результате явного действия, такого как получение сообщения KeyError.

Для каждого резервирования определенного ключа необходимо выполнить соответствующий вызов ReleaseKey() .

Этот метод принимает любую форму идентификатора ключа, включая None. Идентификаторы ключей, которые не называют фактические ключи, игнорируются.

Подробности
Параметры
[in] peerNodeId
Идентификатор узла Weave узла, с которым поделился ключ.
[in] keyId
Идентификатор ключа, который нужно зарезервировать.

Сенккейеррормсг

WEAVE_ERROR SendKeyErrorMsg(
  WeaveMessageInfo *rcvdMsgInfo,
  const IPPacketInfo *rcvdMsgPacketInfo,
  WeaveConnection *con,
  WEAVE_ERROR keyErr
)

Отправить ключевое сообщение об ошибке.

Эта функция вызывается, когда декодирование полученного сообщения Weave не удается из-за ошибки ключа.

Подробности
Параметры
[in] rcvdMsgInfo
Указатель на информацию о полученном сообщении Weave.
[in] rcvdMsgPacketInfo
Указатель на объект IPPacketInfo полученного сообщения Weave.
[in] con
Указатель на объект WeaveConnection .
[in] keyErr
Код ошибки ключа Weave.
Возвращаемые значения
WEAVE_ERROR_NO_MEMORY
Если память не может быть выделена для нового контекста обмена или нового буфера сообщений.
WEAVE_ERROR_BUFFER_TOO_SMALL
Если буфер слишком мал
WEAVE_NO_ERROR
Если метод удался.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

СетКейЭкспортДелегате

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETTokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

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

WEAVE_ERROR Shutdown(
  void
)

НачатьCASESession

WEAVE_ERROR StartCASESession(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  WeaveCASEAuthDelegate *authDelegate,
  uint64_t terminatingNodeId
)

Этот метод вызывается для установления нового или поиска существующего сеанса CASE.

Подробности
Параметры
[in] con
Указатель на объект WeaveConnection .
[in] peerNodeId
Идентификатор узла однорангового узла.
[in] peerAddr
IP-адрес однорангового узла.
[in] peerPort
Порт однорангового узла.
[in] requestedAuthMode
Желаемые средства, с помощью которых партнер должен аутентифицироваться. Это должен быть один из режимов аутентификации CASE.
[in] reqState
Указатель на состояние запрашивающей стороны.
[in] onComplete
Указатель на функцию обратного вызова, которая будет вызвана после установления запрошенного безопасного сеанса.
[in] onError
Указатель на функцию обратного вызова, которая будет вызвана, если запрошенный сеанс не удастся установить.
[in] authDelegate
Указатель на объект делегата аутентификации CASE.
[in] terminatingNodeId
Идентификатор узла завершения сеанса. Если эти входные данные отличаются от kNodeIdNotSpecified, это указывает на то, что был запрошен общий защищенный сеанс.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.

СтартКейЭкспорт

WEAVE_ERROR StartKeyExport(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  uint32_t keyId,
  bool signMessage,
  void *reqState,
  KeyExportCompleteFunct onComplete,
  KeyExportErrorFunct onError,
  WeaveKeyExportDelegate *keyExportDelegate
)

НачатьPASESession

WEAVE_ERROR StartPASESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  const uint8_t *pw,
  uint16_t pwLen
)

Этот метод вызывается для установления безопасного сеанса PASE.

Подробности
Параметры
[in] con
Указатель на объект WeaveConnection .
[in] requestedAuthMode
Желаемые средства, с помощью которых партнер должен аутентифицироваться. Это должен быть один из режимов аутентификации PASE.
[in] reqState
Указатель на состояние запрашивающей стороны.
[in] onComplete
Указатель на функцию обратного вызова, которая будет вызвана после установления запрошенного безопасного сеанса.
[in] onError
Указатель на функцию обратного вызова, которая будет вызвана, если запрошенный сеанс не удастся установить.
[in] pw
Указатель на секретный пароль PASE.
[in] pwLen
Длина секретного пароля PASE.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.

НачатьTAKESession

WEAVE_ERROR StartTAKESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  bool encryptAuthPhase,
  bool encryptCommPhase,
  bool timeLimitedIK,
  bool sendChallengerId,
  WeaveTAKEChallengerAuthDelegate *authDelegate
)

Этот метод вызывается для установления безопасного сеанса TAKE.

Подробности
Параметры
[in] con
Указатель на объект WeaveConnection .
[in] requestedAuthMode
Желаемые средства, с помощью которых партнер должен аутентифицироваться. Это должен быть один из режимов аутентификации TAKE.
[in] reqState
Указатель на состояние запрашивающей стороны.
[in] onComplete
Указатель на функцию обратного вызова, которая будет вызвана после установления запрошенного безопасного сеанса.
[in] onError
Указатель на функцию обратного вызова, которая будет вызвана, если запрошенный сеанс не удастся установить.
[in] encryptAuthPhase
Логический флаг, указывающий, следует ли шифровать этап аутентификации протокола.
[in] encryptCommPhase
Логический флаг, указывающий, следует ли шифровать фазу связи протокола.
[in] timeLimitedIK
Логический флаг, указывающий, ограничен ли срок действия идентификационного ключа (IK).
[in] sendChallengerId
Логический флаг, указывающий, следует ли включать в сообщение идентификацию претендента. Если он не включен, значение идентификатора узла Weave используется в качестве идентификатора претендента.
[in] authDelegate
Указатель на объект делегата аутентификации претендента TAKE.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)