Google is committed to advancing racial equity for Black communities. See how.

nl :: Tecer:: WeaveSecurityManager

Resumo

Construtores e Destruidores

WeaveSecurityManager (void)

Tipos públicos

KeyErrorMsgRcvdFunct )(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
Tipo de função de tratamento da mensagem de erro principal.
KeyExportCompleteFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Tipo de função de manipulação completa do protocolo de exportação de chave.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Tipo de função de tratamento de erros de protocolo de exportação de chave.
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

Atributos públicos

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
A função de retorno de chamada de erro de chave.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
O protocolo de exportação chave completa a função de retorno de chamada.
mStartKeyExport_OnError
A função de retorno de chamada de erro de protocolo de exportação chave.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Funções públicas

CancelSessionEstablishment (void *reqState)
Cancelar um estabelecimento de sessão em andamento.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
Verifica se o código de erro de Weave especificado é um dos códigos de erro de chave.
OnEncryptedMsgRcvd (uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey (uint64_t peerNodeId, uint16_t keyId)
void
Libere uma reserva de chave de criptografia de mensagem.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
Faça uma reserva em uma chave de criptografia de mensagem.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Envie a mensagem de erro principal.
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)
Este método é chamado para estabelecer uma nova sessão CASE ou localizar uma existente.
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)
Este método é chamado para estabelecer uma sessão PASE segura.
StartTAKESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Este método é chamado para estabelecer uma sessão TAKE segura.

Tipos públicos

KeyErrorMsgRcvdFunct

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

Tipo de função de tratamento da mensagem de erro principal.

Detalhes
Parâmetros
[in] keyId
A chave de criptografia causou a resposta da mensagem de erro da chave do par.
[in] encType
Tipo de criptografia associado com KeyID.
[in] messageId
O identificador da mensagem Weave resultou na resposta de erro de chave do par.
[in] peerNodeId
O identificador do nó Weave que enviou a mensagem de erro principal.
[in] keyErr
O código de erro recebido do par.

KeyExportCompleteFunct

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

Tipo de função de manipulação completa do protocolo de exportação de chave.

Detalhes
Parâmetros
[in] sm
Um apontador para WeaveSecurityManager objecto.
[in] con
Um apontador para WeaveConnection objecto.
[in] reqState
Um ponteiro para o estado do solicitante de exportação principal.
[in] keyId
ID da chave exportada.
[in] exportedKey
Um ponteiro para a chave secreta exportada.
[in] exportedKeyLen
Uma referência ao comprimento da chave secreta exportada.

KeyExportErrorFunct

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

Tipo de função de tratamento de erros de protocolo de exportação de chave.

Detalhes
Parâmetros
[in] sm
Um apontador para WeaveSecurityManager objecto.
[in] con
Um apontador para WeaveConnection objecto.
[in] reqState
Um ponteiro para o estado do solicitante de exportação principal.
[in] localErr
O WEAVE_ERROR encontrado durante o protocolo de exportação de chave.
[in] statusReport
Um ponteiro para o objeto StatusReport se o status de erro for recebido do par.

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)

Estado

 State

Atributos públicos

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

A função de retorno de chamada de erro de chave.

Esta função é chamada quando uma mensagem de erro importante é recebida.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

Curvas ResponderAllowedCASEC

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Estado

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

O protocolo de exportação chave completa a função de retorno de chamada.

Esta função é chamada quando o processo de exportação da chave secreta é concluído.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

A função de retorno de chamada de erro de protocolo de exportação chave.

Esta função é chamada quando um erro é encontrado durante o processo de exportação da chave.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Funções públicas

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Cancelar um estabelecimento de sessão em andamento.

Detalhes
Parâmetros
[in] reqState
Um valor de ponteiro que corresponde ao valor fornecido pelo aplicativo quando a sessão foi iniciada.
Valores Retornados
WEAVE_NO_ERROR
Se um estabelecimento de sessão em andamento correspondente foi encontrado e cancelado.
WEAVE_ERROR_INCORRECT_STATE
Se não houver um estabelecimento de sessão em andamento ou se a sessão em andamento não corresponder ao ponteiro de estado de solicitação fornecido.

Iniciar

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

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Verifica se o código de erro de Weave especificado é um dos códigos de erro de chave.

Esta função é chamada para determinar se a mensagem de erro da chave deve ser enviada ao iniciador da mensagem que falhou em encontrar a chave correta durante a decodificação.

Detalhes
Parâmetros
[in] err
Um código de erro do Weave.
Valores Retornados
true
Se especificado, o código de erro Weave é um erro de chave.
false
Por outro lado.

OnEncryptedMsgRcvd

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

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Libere uma reserva de chave de criptografia de mensagem.

Libere uma reserva feita anteriormente em uma chave de criptografia de mensagem.

Para cada reserva colocado em uma chave particular, o ReleaseKey () método deve ser chamado mais de uma vez.

Este método aceita qualquer forma de ID de chave, incluindo Nenhum. IDs de chave que não nomeiam chaves reais são ignorados.

Detalhes
Parâmetros
[in] peerNodeId
O id do nó Weave do par com o qual a chave foi compartilhada.
[in] keyId
O id da chave cuja reserva deve ser liberada.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Faça uma reserva em uma chave de criptografia de mensagem.

As reservas de chave são usadas para sinalizar que uma chave específica está ativamente em uso e deve ser mantida. Observe que colocar uma reserva em uma chave não garante que a chave não seja removida por uma ação explícita, como o recebimento de uma mensagem KeyError.

Para cada reserva colocado em uma chave especial, uma chamada correspondente à ReleaseKey () tem de ser feita.

Este método aceita qualquer forma de ID de chave, incluindo Nenhum. IDs de chave que não nomeiam chaves reais são ignorados.

Detalhes
Parâmetros
[in] peerNodeId
O id do nó Weave do par com o qual a chave foi compartilhada.
[in] keyId
O id da chave a ser reservada.

SendKeyErrorMsg

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

Envie a mensagem de erro principal.

Esta função é chamada quando a decodificação da mensagem Weave falha devido a um erro de chave.

Detalhes
Parâmetros
[in] rcvdMsgInfo
Um ponteiro para as informações da mensagem para a mensagem Weave recebida.
[in] rcvdMsgPacketInfo
Um ponteiro para o objeto IPPacketInfo da mensagem Weave recebida.
[in] con
Um apontador para a WeaveConnection objecto.
[in] keyErr
Tecle o código de erro da chave.
Valores Retornados
WEAVE_ERROR_NO_MEMORY
Se a memória não puder ser alocada para o novo contexto de troca ou novo buffer de mensagem.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer for muito pequeno
WEAVE_NO_ERROR
Se o método for bem-sucedido.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Desligar

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
)

Este método é chamado para estabelecer uma nova sessão CASE ou localizar uma sessão existente.

Detalhes
Parâmetros
[in] con
Um apontador para a WeaveConnection objecto.
[in] peerNodeId
O identificador de nó do par.
[in] peerAddr
O endereço IP do nó do par.
[in] peerPort
A porta do nó de mesmo nível.
[in] requestedAuthMode
O meio desejado pelo qual o par deve ser autenticado. Este deve ser um dos modos de autenticação CASE.
[in] reqState
Um ponteiro para o estado do solicitante.
[in] onComplete
Um ponteiro para a função de retorno de chamada, que será chamado assim que a sessão segura solicitada for estabelecida.
[in] onError
Um ponteiro para a função de retorno de chamada, que será chamada se o estabelecimento da sessão solicitada falhar.
[in] authDelegate
Um ponteiro para o objeto de delegado de autenticação CASE.
[in] terminatingNodeId
O identificador de nó do nó de terminação da sessão. Quando esta entrada é diferente de kNodeIdNotSpecified, isso indica que a sessão segura compartilhada foi solicitada.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.

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
)

Este método é chamado para estabelecer uma sessão PASE segura.

Detalhes
Parâmetros
[in] con
Um apontador para a WeaveConnection objecto.
[in] requestedAuthMode
O meio desejado pelo qual o par deve ser autenticado. Este deve ser um dos modos de autenticação do PASE.
[in] reqState
Um ponteiro para o estado do solicitante.
[in] onComplete
Um ponteiro para a função de retorno de chamada, que será chamado assim que a sessão segura solicitada for estabelecida.
[in] onError
Um ponteiro para a função de retorno de chamada, que será chamada se o estabelecimento da sessão solicitada falhar.
[in] pw
Um ponteiro para a senha secreta PASE.
[in] pwLen
Comprimento da senha secreta do PASE.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.

StartTAKESession

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

Este método é chamado para estabelecer uma sessão TAKE segura.

Detalhes
Parâmetros
[in] con
Um apontador para a WeaveConnection objecto.
[in] requestedAuthMode
O meio desejado pelo qual o par deve ser autenticado. Este deve ser um dos modos de autenticação TAKE.
[in] reqState
Um ponteiro para o estado do solicitante.
[in] onComplete
Um ponteiro para a função de retorno de chamada, que será chamado assim que a sessão segura solicitada for estabelecida.
[in] onError
Um ponteiro para a função de retorno de chamada, que será chamada se o estabelecimento da sessão solicitada falhar.
[in] encryptAuthPhase
Um sinalizador booleano que indica se a fase de autenticação do protocolo deve ser criptografada.
[in] encryptCommPhase
Um sinalizador booleano que indica se a fase de comunicação do protocolo deve ser criptografada.
[in] timeLimitedIK
Um sinalizador booleano que indica se a chave de identificação (IK) é limitada no tempo.
[in] sendChallengerId
Um sinalizador booleano que indica se a identificação do desafiante deve ser incluída na mensagem. Se não estiver incluído, o valor do ID do nó Weave é usado como um ID do desafiante.
[in] authDelegate
Um ponteiro para o objeto de delegado de autenticação TAKE challenger.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)