nl::Weave::WeaveSecurityManager

Podsumowanie

Konstruktory i niszczyciele

WeaveSecurityManager(void)

Typy publiczne

KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
Typ funkcji obsługi podstawowego komunikatu o błędzie.
KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Typ funkcji pełnej obsługi protokołu eksportu klucza.
KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Typ funkcji obsługi błędów protokołu eksportu klucza.
SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport) typedef
void(*
SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType) typedef
void(*
State enum | typ wyliczeniowy

Atrybuty publiczne

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
Funkcja wywołania zwrotnego błędu klucza.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
Protokół eksportu klucza pełni funkcję wywołania zwrotnego.
mStartKeyExport_OnError
Funkcja wywołania zwrotnego błędu protokołu eksportu klucza.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Funkcje publiczne

CancelSessionEstablishment(void *reqState)
Anuluj tworzenie trwającej sesji.
Init(WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError(WEAVE_ERROR err)
bool
Sprawdza, czy podany kod błędu Weave jest jednym z kluczowych kodów błędów.
OnEncryptedMsgRcvd(uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey(uint64_t peerNodeId, uint16_t keyId)
void
Zwolnij rezerwację klucza szyfrowania wiadomości.
ReserveKey(uint64_t peerNodeId, uint16_t keyId)
void
dodać rezerwację do klucza szyfrowania wiadomości;
SendKeyErrorMsg(WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Wyślij kluczowy komunikat o błędzie.
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)
Ta metoda jest wywoływana w celu utworzenia nowej lub znalezienia istniejącej sesji 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)
Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji PASE.
StartTAKESession(WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji Take.

Typy publiczne

KeyErrorMsgRcvdFunct

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

Typ funkcji obsługi podstawowego komunikatu o błędzie.

Szczegóły
Parametry
[in] keyId
Klucz szyfrowania spowodował odpowiedź połączenia równorzędnego z komunikatem o błędzie klucza.
[in] encType
Typ szyfrowania powiązany z identyfikatorem keyId.
[in] messageId
Identyfikator wiadomości Weave spowodował odpowiedź na kluczowy błąd ze strony połączenia równorzędnego.
[in] peerNodeId
Identyfikator węzła Weave, który wysłał komunikat o błędzie klucza.
[in] keyErr
Kod błędu odebrany z połączenia równorzędnego.

KeyExportCompleteFunct

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

Typ funkcji pełnej obsługi protokołu eksportu klucza.

Szczegóły
Parametry
[in] sm
Wskaźnik do obiektu WeaveSecurityManager.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] reqState
Wskaźnik do stanu osoby wysyłającej prośbę o eksport klucza.
[in] keyId
Identyfikator klucza został wyeksportowany.
[in] exportedKey
Wskaźnik do wyeksportowanego klucza obiektu tajnego.
[in] exportedKeyLen
Odwołanie do długości wyeksportowanego klucza obiektu tajnego.

KeyExportErrorFunct

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

Typ funkcji obsługi błędów protokołu eksportu klucza.

Szczegóły
Parametry
[in] sm
Wskaźnik do obiektu WeaveSecurityManager.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] reqState
Wskaźnik do stanu osoby wysyłającej prośbę o eksport klucza.
[in] localErr
Wystąpił błąd WEAVE_ERROR podczas protokołu eksportu klucza.
[in] statusReport
Wskaźnik do obiektu StatusReport w przypadku otrzymania stanu błędu z połączenia równorzędnego.

SessionErrorFunct

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)

Stan

 State

Atrybuty publiczne

CASEUseKnownECDHKey

bool CASEUseKnownECDHKey

ExchangeManager

WeaveExchangeManager * ExchangeManager

FabricState

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

InitiatorAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

InitiatorAllowedCASECurves

uint8_t InitiatorAllowedCASECurves

InitiatorAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

InitiatorCASEConfig

uint32_t InitiatorCASEConfig

InitiatorCASECurveId

uint32_t InitiatorCASECurveId

InitiatorKeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

Funkcja wywołania zwrotnego błędu klucza.

Ta funkcja jest wywoływana po otrzymaniu kluczowego komunikatu o błędzie.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Stan

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Protokół eksportu klucza pełni funkcję wywołania zwrotnego.

Ta funkcja jest wywoływana po zakończeniu procesu eksportu klucza obiektu tajnego.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

Funkcja wywołania zwrotnego błędu protokołu eksportu klucza.

Ta funkcja jest wywoływana w przypadku wystąpienia błędu podczas eksportowania klucza.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Funkcje publiczne

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Anuluj tworzenie trwającej sesji.

Szczegóły
Parametry
[in] reqState
Wartość wskaźnika pasująca do wartości dostarczonej przez aplikację w momencie rozpoczęcia sesji.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli pasująca instytucja w toku sesji została znaleziona i anulowana.
WEAVE_ERROR_INCORRECT_STATE
Jeśli nie było tworzonej sesji lub sesja w toku nie odpowiadała dostarczonemu wskaźnikowi stanu żądania.

Rozpocznij

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

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Sprawdza, czy podany kod błędu Weave jest jednym z kluczowych kodów błędów.

Ta funkcja jest wywoływana w celu określenia, czy komunikat o kluczowym błędzie powinien zostać wysłany do inicjatora komunikatu, który nie znalazł prawidłowego klucza podczas dekodowania.

Szczegóły
Parametry
[in] err
Kod błędu Weave.
Zwracane wartości
true
Jeśli podany kod błędu Weave jest błędem klucza.
false
W przeciwnym razie.

OnEncryptedMsgRcvd

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

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Zwolnij rezerwację klucza szyfrowania wiadomości.

Zwolnij rezerwacje, które zostały wcześniej umieszczone w kluczu szyfrowania wiadomości.

W przypadku każdej rezerwacji złożonej dla określonego klucza metoda ReleaseKey() musi być wywołana nie więcej niż raz.

Ta metoda akceptuje dowolną postać identyfikatora klucza, w tym wartość Brak. Identyfikatory kluczy, które nie zawierają nazw rzeczywistych kluczy, są ignorowane.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła Weave elementu równorzędnego, któremu udostępniono klucz.
[in] keyId
Identyfikator klucza, którego rezerwacja powinna zostać zwolniona.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

dodać rezerwację do klucza szyfrowania wiadomości;

Rezerwacje kluczy są używane do sygnalizowania, że dany klucz jest obecnie używany i należy go zachować. Pamiętaj, że rezerwacja klucza nie gwarantuje, że nie zostanie on usunięty w wyniku wyraźnego działania, takiego jak odebranie komunikatu o błędzie klucza.

W przypadku każdej rezerwacji złożonej z określonym kluczem należy wykonać odpowiednie wywołanie ReleaseKey().

Ta metoda akceptuje dowolną postać identyfikatora klucza, w tym wartość Brak. Identyfikatory kluczy, które nie zawierają nazw rzeczywistych kluczy, są ignorowane.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła Weave elementu równorzędnego, któremu udostępniono klucz.
[in] keyId
Identyfikator klucza do zarezerwowania.

SendKeyErrorMsg

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

Wyślij kluczowy komunikat o błędzie.

Ta funkcja jest wywoływana, gdy dekodowanie otrzymanego komunikatu Weave kończy się niepowodzeniem z powodu błędu klucza.

Szczegóły
Parametry
[in] rcvdMsgInfo
Wskaźnik do informacji o odebranej wiadomości Weave.
[in] rcvdMsgPacketInfo
Wskaźnik do obiektu IPPacketInfo otrzymanej wiadomości Weave.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] keyErr
Kod błędu klucza.
Zwracane wartości
WEAVE_ERROR_NO_MEMORY
Jeśli nie można przydzielić pamięci na nowy kontekst wymiany lub nowy bufor wiadomości.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli bufor jest za mały
WEAVE_NO_ERROR
Jeśli przy użyciu metody się udało:

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

StartCASESession

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
)

Ta metoda jest wywoływana w celu utworzenia nowej lub znalezienia istniejącej sesji CASE.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] peerNodeId
Identyfikator węzła peera.
[in] peerAddr
Adres IP węzła równorzędnego.
[in] peerPort
Port węzła równorzędnego.
[in] requestedAuthMode
Żądane środki, za pomocą których ma być uwierzytelniany peer. Musi to być jeden z trybów uwierzytelniania CASE.
[in] reqState
Wskaźnik do stanu zgłaszającego.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana, jeśli żądane nawiązanie sesji się nie uda.
[in] authDelegate
Wskaźnik do obiektu delegata uwierzytelniania CASE.
[in] terminatingNodeId
Identyfikator węzła zamykającego sesję. Gdy te dane wejściowe różnią się od parametru kNodeIdNotSpecified, który wskazuje, że wysłano żądanie udostępnienia bezpiecznej sesji.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.

StartKeyExport

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
)

StartPASESession

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

Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji PASE.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] requestedAuthMode
Żądane środki, za pomocą których ma być uwierzytelniany peer. Musi to być jeden z trybów uwierzytelniania PASE.
[in] reqState
Wskaźnik do stanu zgłaszającego.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana, jeśli żądane nawiązanie sesji się nie uda.
[in] pw
Wskaźnik do tajnego hasła PASE.
[in] pwLen
Długość tajnego hasła PASE.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.

StartTAKESession

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

Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji Take.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] requestedAuthMode
Żądane środki, za pomocą których ma być uwierzytelniany peer. Musi to być jeden z trybów uwierzytelniania Takeout.
[in] reqState
Wskaźnik do stanu zgłaszającego.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana, jeśli żądane nawiązanie sesji się nie uda.
[in] encryptAuthPhase
Flaga wartości logicznej, która wskazuje, czy faza uwierzytelniania protokołu powinna być szyfrowana.
[in] encryptCommPhase
Flaga wartości logicznej, która wskazuje, czy faza komunikacji protokołu powinna być szyfrowana.
[in] timeLimitedIK
Flaga wartości logicznej, która wskazuje, czy klucz identyfikacji (IK) jest ograniczony czasowo.
[in] sendChallengerId
Flaga wartości logicznej, która określa, czy w wiadomości powinna zostać uwzględniona identyfikacja wyzwania. Jeśli nie zostanie podany, jako identyfikator wyzwania będzie używana wartość identyfikatora węzła Weave.
[in] authDelegate
Wskaźnik do obiektu delegata uwierzytelniania wyzwania take.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)