nl :: Tejido:: WeaveSecurityManager

Resumen

Constructores y Destructores

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 función de manejo de mensajes de error clave.
KeyExportCompleteFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Tipo de función de manipulación completa del protocolo de exportación de claves.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Tipo de función de manejo de errores del protocolo de exportación de claves.
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 enumeración

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
La función de devolución de llamada de error clave.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
El protocolo de exportación de claves completa la función de devolución de llamada.
mStartKeyExport_OnError
La función de devolución de llamada de error de protocolo de exportación clave.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Funciones publicas

CancelSessionEstablishment (void *reqState)
Cancelar el establecimiento de una sesión en curso.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
Comprueba si el código de error de tejido especificado es uno de los códigos de error clave.
OnEncryptedMsgRcvd (uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey (uint64_t peerNodeId, uint16_t keyId)
void
Liberar una reserva de clave de cifrado de mensajes.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
Haga una reserva en una clave de cifrado de mensajes.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Enviar mensaje de error de clave.
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 se llama para establecer una sesión CASE nueva o encontrar una 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 se llama para establecer una sesión 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 se llama para establecer una sesión 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 función de manejo de mensajes de error clave.

Detalles
Parámetros
[in] keyId
La clave de cifrado provocó la respuesta de mensaje de error de clave del par.
[in] encType
Tipo de cifrado asociado con keyid.
[in] messageId
El identificador del mensaje Weave resultó en la respuesta de error clave del par.
[in] peerNodeId
El identificador del nodo Weave que envió el mensaje de error clave.
[in] keyErr
El código de error recibido del par.

KeyExportCompleteFunct

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

Tipo de función de manipulación completa del protocolo de exportación de claves.

Detalles
Parámetros
[in] sm
Un puntero a WeaveSecurityManager objeto.
[in] con
Un puntero a WeaveConnection objeto.
[in] reqState
Un puntero al estado del solicitante de exportación de claves.
[in] keyId
ID de clave exportada.
[in] exportedKey
Un puntero a la clave secreta exportada.
[in] exportedKeyLen
Una referencia a la longitud de la clave secreta exportada.

KeyExportErrorFunct

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

Tipo de función de manejo de errores del protocolo de exportación de claves.

Detalles
Parámetros
[in] sm
Un puntero a WeaveSecurityManager objeto.
[in] con
Un puntero a WeaveConnection objeto.
[in] reqState
Un puntero al estado del solicitante de exportación de claves.
[in] localErr
El WEAVE_ERROR encontrado durante el protocolo de exportación de claves.
[in] statusReport
Un puntero al objeto StatusReport si se recibe un estado de error de un par.

SessionErrorFunct

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

SesiónEstablecidaFunción

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

Expresar

 State

Atributos públicos

CASEUseKnownECDHKey

bool CASEUseKnownECDHKey

ExchangeManager

WeaveExchangeManager * ExchangeManager

Estado de la tela

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

InitiatorAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

InitiatorAllowedCASECurves

uint8_t InitiatorAllowedCASECurves

InitiatorAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

Iniciador CASEConfig

uint32_t InitiatorCASEConfig

InitiatorCASECurveId

uint32_t InitiatorCASECurveId

InitiatorKeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

La función de devolución de llamada de error clave.

Esta función se llama cuando se recibe un mensaje de error clave.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablish

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Expresar

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

El protocolo de exportación de claves completa la función de devolución de llamada.

Esta función se llama cuando se completa el proceso de exportación de la clave secreta.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

La función de devolución de llamada de error de protocolo de exportación clave.

Esta función se llama cuando se encuentra un error durante el proceso de exportación de claves.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Funciones publicas

Cancelar SesiónEstablecimiento

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Cancelar el establecimiento de una sesión en curso.

Detalles
Parámetros
[in] reqState
Un valor de puntero que coincide con el valor proporcionado por la aplicación cuando se inició la sesión.
Valores devueltos
WEAVE_NO_ERROR
Si se encontró y canceló un establecimiento de sesión en curso coincidente.
WEAVE_ERROR_INCORRECT_STATE
Si no hubo un establecimiento de sesión en curso, o la sesión en curso no coincidió con el puntero de estado de solicitud proporcionado.

En eso

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

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Comprueba si el código de error de tejido especificado es uno de los códigos de error clave.

Esta función se llama para determinar si el mensaje de error de clave debe enviarse al iniciador del mensaje que no pudo encontrar una clave correcta durante la decodificación.

Detalles
Parámetros
[in] err
Un código de error de tejido.
Valores devueltos
true
Si se especifica, el código de error de tejido es un error clave.
false
De lo contrario.

OnEncryptedMsgRcvd

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

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Liberar una reserva de clave de cifrado de mensajes.

Libere una reserva que se colocó previamente en una clave de cifrado de mensajes.

Por cada reserva se coloca en una clave particular, el ReleaseKey () método debe ser llamado más de una vez.

Este método acepta cualquier forma de identificación de clave, incluido Ninguno. Los ID de clave que no nombran las claves reales se ignoran.

Detalles
Parámetros
[in] peerNodeId
El ID de nodo de Weave del par con el que se compartió la clave.
[in] keyId
El id de la clave cuya reserva debe liberarse.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Haga una reserva en una clave de cifrado de mensajes.

Las reservas de clave se utilizan para indicar que una clave en particular se está utilizando activamente y debe conservarse. Tenga en cuenta que colocar una reserva en una clave no garantiza que la clave no se eliminará mediante una acción explícita, como la recepción de un mensaje de KeyError.

Por cada reserva colocado en una clave particular, una llamada correspondiente a ReleaseKey () debe hacerse.

Este método acepta cualquier forma de identificación de clave, incluido Ninguno. Los ID de clave que no nombran las claves reales se ignoran.

Detalles
Parámetros
[in] peerNodeId
El ID de nodo de Weave del par con el que se compartió la clave.
[in] keyId
El id de la clave que se va a reservar.

SendKeyErrorMsg

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

Enviar mensaje de error de clave.

Esta función se llama cuando falla la decodificación del mensaje Weave recibido debido a un error de clave.

Detalles
Parámetros
[in] rcvdMsgInfo
Un puntero a la información del mensaje para el mensaje Weave recibido.
[in] rcvdMsgPacketInfo
Un puntero al objeto IPPacketInfo del mensaje Weave recibido.
[in] con
Un puntero a la WeaveConnection objeto.
[in] keyErr
Código de error de la clave de tejido.
Valores devueltos
WEAVE_ERROR_NO_MEMORY
Si no se puede asignar memoria para el nuevo contexto de intercambio o el nuevo búfer de mensajes.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer es demasiado pequeño
WEAVE_NO_ERROR
Si el método tuvo éxito.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Cerrar

WEAVE_ERROR Shutdown(
  void
)

InicioCASESesión

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 se llama para establecer una sesión CASE nueva o encontrar una existente.

Detalles
Parámetros
[in] con
Un puntero a la WeaveConnection objeto.
[in] peerNodeId
El identificador de nodo del par.
[in] peerAddr
La dirección IP del nodo del mismo nivel.
[in] peerPort
El puerto del nodo del mismo nivel.
[in] requestedAuthMode
Los medios deseados por los cuales se debe autenticar al par. Este debe ser uno de los modos de autenticación CASE.
[in] reqState
Un puntero al estado del solicitante.
[in] onComplete
Un puntero a la función de devolución de llamada, que se llamará una vez que se establezca la sesión segura solicitada.
[in] onError
Un puntero a la función de devolución de llamada, que se llamará si falla el establecimiento de la sesión solicitada.
[in] authDelegate
Un puntero al objeto delegado de autenticación CASE.
[in] terminatingNodeId
El identificador de nodo del nodo de terminación de la sesión. Cuando esta entrada es diferente de kNodeIdNotSpecified, eso indica que se solicitó una sesión segura compartida.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.

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 se llama para establecer una sesión PASE segura.

Detalles
Parámetros
[in] con
Un puntero a la WeaveConnection objeto.
[in] requestedAuthMode
Los medios deseados por los cuales se debe autenticar al par. Este debe ser uno de los modos de autenticación PASE.
[in] reqState
Un puntero al estado del solicitante.
[in] onComplete
Un puntero a la función de devolución de llamada, que se llamará una vez que se establezca la sesión segura solicitada.
[in] onError
Un puntero a la función de devolución de llamada, que se llamará si falla el establecimiento de la sesión solicitada.
[in] pw
Un puntero a la contraseña secreta de PASE.
[in] pwLen
Longitud de la contraseña secreta de PASE.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.

Iniciar sesión

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 se llama para establecer una sesión TAKE segura.

Detalles
Parámetros
[in] con
Un puntero a la WeaveConnection objeto.
[in] requestedAuthMode
Los medios deseados por los cuales se debe autenticar al par. Este debe ser uno de los modos de autenticación TAKE.
[in] reqState
Un puntero al estado del solicitante.
[in] onComplete
Un puntero a la función de devolución de llamada, que se llamará una vez que se establezca la sesión segura solicitada.
[in] onError
Un puntero a la función de devolución de llamada, que se llamará si falla el establecimiento de la sesión solicitada.
[in] encryptAuthPhase
Una bandera booleana que indica si la fase de autenticación del protocolo debe estar encriptada.
[in] encryptCommPhase
Una bandera booleana que indica si la fase de comunicación del protocolo debe estar encriptada.
[in] timeLimitedIK
Una bandera booleana que indica si la clave de identificación (IK) tiene un límite de tiempo.
[in] sendChallengerId
Una bandera booleana que indica si la identificación del retador debe incluirse en el mensaje. Si no está incluido, el valor de ID de nodo Weave se utiliza como ID de retador.
[in] authDelegate
Un puntero al objeto delegado de autenticación TAKE Challenger.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)