Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

nl::Weave::Perfiles::Seguridad::Exportación de clave:WeaveKeyExport

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

Implementa la lógica central del protocolo de exportación de claves de Weave.

Resumen

Tipos públicos

@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
}
enum
El estado actual del objeto WeaveKeyExport.

Atributos públicos

ECDHPrivateKey[kMaxECDHPrivateKeySize]
uint8_t
ECDHPrivateKeyLen
uint16_t
ECDHPublicKey[kMaxECDHPublicKeySize]
uint8_t
EncryptionAndAuthenticationKey[kEncryptionAndAuthenticationKeySize]
uint8_t
GroupKeyStore
Es el puntero a un objeto de almacenamiento de claves de grupos de plataformas.
KeyExportDelegate
Es el puntero a un objeto delegado de exportación de claves.
SharedSecret[kMaxECDHSharedSecretSize]
uint8_t
SharedSecretLen
uint16_t

Funciones públicas

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

Tipos públicos

@260

 @260

El estado actual del objeto WeaveKeyExport.

Properties
kState_InitiatorDone

Estado del iniciador que indica que se procesó la respuesta de exportación de la clave.

kState_InitiatorGeneratingRequest

Estado del iniciador que indica que se está generando el mensaje de solicitud de exportación de la clave.

kState_InitiatorReconfigureProcessed

Estado del iniciador que indica que se procesó el mensaje de reconfiguración de la exportación de claves.

kState_InitiatorRequestGenerated

Estado del iniciador que indica que se generó el mensaje de solicitud de exportación de la clave.

kState_Reset

El estado inicial (y final) de un objeto WeaveKeyExport.

kState_ResponderDone

Estado de respuesta que indica que se generó el mensaje de respuesta de exportación de la clave.

kState_ResponderProcessingRequest

Estado de respuesta que indica que se está procesando el mensaje de solicitud de exportación de la clave.

kState_ResponderRequestProcessed

Estado de respuesta que indica que se procesó el mensaje de solicitud de exportación de clave.

Atributos públicos

ECDHPrivateKey

uint8_t ECDHPrivateKey[kMaxECDHPrivateKeySize]

ECDHPrivateKeyLen

uint16_t ECDHPrivateKeyLen

ECDHPublicKey

uint8_t ECDHPublicKey[kMaxECDHPublicKeySize]

Clave de encriptación y autenticación

uint8_t EncryptionAndAuthenticationKey[kEncryptionAndAuthenticationKeySize]

Almacenamiento de claves de grupo

GroupKeyStoreBase * GroupKeyStore

Es el puntero a un objeto de almacenamiento de claves de grupos de plataformas.

Exportación de claves

WeaveKeyExportDelegate * KeyExportDelegate

Es el puntero a un objeto delegado de exportación de claves.

Secreto compartido

uint8_t SharedSecret[kMaxECDHSharedSecretSize]

Secreto compartido

uint16_t SharedSecretLen

Funciones públicas

Configuración permitida

uint8_t AllowedConfigs() const 

GenerateKeyExportReconfigure

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

Generar clave de exportación

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

Generar respuesta de exportación de claves

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

Init

void Init(
  WeaveKeyExportDelegate *keyExportDelegate,
  GroupKeyStoreBase *groupKeyStore
)

IsAllowedConfig

bool IsAllowedConfig(
  uint8_t config
) const 

IsInitiator

bool IsInitiator() const 

KeyId

uint32_t KeyId() const 

InformaciónDeMensaje

const WeaveMessageInfo * MessageInfo() const 

ProcessKeyExportReconfigure

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

Procesar claveExportar solicitud

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

Respuesta de clave de proceso de proceso

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
)

Configuración del protocolo

uint8_t ProtocolConfig() const 

Restablecer

void Reset(
  void
)

Configuración de permisos permitidos

void SetAllowedConfigs(
  uint8_t allowedConfigs
)

Cierre

void Shutdown(
  void
)

Mensajes de firma

bool SignMessages() const 

Estado

uint8_t State() const