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{
|
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
|
const WeaveMessageInfo *
|
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