nl:: Weave
Resumen
Enumeraciones |
|
---|---|
@21{
|
enum |
@36
|
enum |
@37
|
enum |
@38{
|
enum |
@39{
|
enum Identifica el propósito o la aplicación del certificado. |
@40
|
enum Identifica el origen de la contraseña utilizada en un protocolo de autenticación basado en contraseñas (por ejemplo, |
@41{
|
enum |
@42{
|
enum |
@43{
|
enum |
@44
|
enum Tejer el tamaño del diversificador de la clave de aplicación de encriptación de mensajes. |
@45
|
enum |
@53
|
enum |
@54{
|
enum |
@55{
|
enum Definiciones relacionadas con el encabezado de un mensaje codificado en Weave. |
@56{
|
enum Definiciones de campos de bits para identificadores IEEE EUI-64. |
@57{
|
enum Rangos especiales de ID de nodo de Weave. |
WeaveEncryptionType{
|
enum Los tipos de encriptación para el mensaje de Weave. |
WeaveExchangeFlags{
|
enum Los bits de la marca del encabezado de intercambio de Weave. |
WeaveExchangeVersion
|
enum La versión del encabezado de Weave Exchange. |
WeaveMessageFlags{
|
enum Marcas asociadas con un mensaje de Weave entrante o saliente. |
WeaveMessageVersion{
|
enum La versión del formato de mensajes de Weave. |
WeaveSubnetId{
|
enum Weave tiene algunos números de subred reservados para las interfaces de red distinguidas de dispositivos típicos. |
WeaveVendorId
|
enum |
Typedefs |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Identifica la categoría de dispositivos que pueden tener y usar el secreto de tejido. |
WeaveAuthMode
|
typedefuint16_t
Identifica cómo se autentica un nodo de par. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Los tipos de encriptación para el mensaje de Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Los bits de la marca del encabezado de intercambio de Weave. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
La versión del encabezado de Weave Exchange. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Marcas asociadas con un mensaje de Weave entrante o saliente. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
La versión del formato de mensajes de Weave. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave tiene algunos números de subred reservados para las interfaces de red distinguidas de dispositivos típicos. |
Variables |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
El diversificador de claves que se usa para la derivación de claves de encriptación de mensajes de Weave.
|
Functions |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Muestra el ID de la clave maestra del grupo de aplicaciones asociado con el modo de autenticación.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Muestra un modo de autenticación CASE correspondiente a un tipo de certificado determinado.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Muestra la fuente de la contraseña para el modo de autenticación determinado.
|
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
|
void
|
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
|
uint16_t
|
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
|
const char *
|
FindProfileName(uint32_t inProfileId)
|
const char *
|
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Si se produce un error de Weave, se muestra una string C terminada por NULL que puede leer el ser humano.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
Generar un ID de nodo de Weave aleatorio.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
Esta función genera un número de Fibonacci de 32 bits para un índice de 32 bits determinado.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
Esta función genera un número al azar sin firma de 16 bits.
|
GetRandU32(void)
|
uint32_t
Esta función genera un número al azar sin firma de 32 bits.
|
GetRandU64(void)
|
uint64_t
Esta función genera un número al azar sin firma de 64 bits.
|
GetRandU8(void)
|
uint8_t
Esta función genera un número al azar sin firma de 8 bits.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Muestra el modo de autenticación de una clave de grupo correspondiente para un ID de clave determinado.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Convierte un identificador de interfaz de dirección IPv6 en un identificador de nodo de Weave.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en el protocolo CASE de Weave.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en la posesión de una clave privada asociada con un certificado.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en la posesión de una clave de grupo compartida.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en el protocolo PASE de Weave.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en una contraseña compartida.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
Verdadero si el modo de autenticación se basa en el protocolo Take Weave.
|
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
|
bool
|
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
|
|
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
|
|
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
|
|
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
|
|
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
|
|
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
|
|
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
|
|
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
|
|
PASEAuthMode(uint8_t pwSource)
|
WeaveAuthMode
Muestra el modo de autenticación PASE correspondiente a una fuente de contraseña determinada.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Muestra la fuente de la contraseña para el modo de autenticación determinado.
|
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
|
void
|
ToHex(const uint8_t data)
|
char
|
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
|
void
|
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
|
void
|
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
|
uint64_t
Convierte un identificador de tela de Weave en un identificador global IPv6 de ULA.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
OBSOLETO Usa WeaveMessageLayer::GetPeerDescription() en su lugar.
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
OBSOLETO Usa WeaveMessageLayer::GetPeerDescription() en su lugar.
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Convierte un identificador de nodo de Weave en un identificador de interfaz de dirección IPv6.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
Clases |
|
---|---|
nl:: |
Captura el destino previsto de una comunicación de Weave y la información de configuración asociada. |
nl:: |
Interfaz para administrar un contador como un valor entero. |
nl:: |
Esta clase representa una conversación continua (ExchangeContext) entre dos o más nodos. |
nl:: |
Esta clase abstracta delegada comunica los cambios de estado de la estructura. |
nl:: |
Para administrar y manipular una lista de puertos de host, es una colección compacta y codificada de objetos binarios de tuplas de host y de identificadores de puertos asociadas con el Directorio de servicios de Weave. |
nl:: |
|
nl:: |
Una clase para administrar un contador que aumenta de forma monótona como un valor entero. |
nl:: |
Una clase para administrar un contador como un valor entero destinado a conservarse durante los reinicios. |
nl:: |
La definición de la clase Weave Connection |
nl:: |
La definición de la clase WeaveConnectionTunnel, que administra un par de TCPEndPoints cuyas conexiones WeaveConnection originales se vinculan, y entre las que WeaveMessageLayer reenvía todos los datos y los cierres de conexión. |
nl:: |
|
nl:: |
Especifica el perfil de Weave y el tipo de mensaje de un mensaje de Weave en particular dentro de un ExchangeContext. |
nl:: |
Esta clase se usa para administrar ExchangeContexts con otros nodos de Weave. |
nl:: |
Se reenvió la declaración de WeaveFabricState. |
nl:: |
La definición del identificador de clave de Weave. |
nl:: |
La definición de la clase WeaveMessageLayer, que administra la comunicación con otros nodos de Weave. |
nl:: |
Contiene información sobre la clave de encriptación de mensajes de Weave. |
nl:: |
Caché de clave para claves de encriptación de mensajes de Weave. |
nl:: |
|
nl:: |
Es un objeto de base común para implementar perfiles de respuesta no solicitada de Weave (servidores) que encapsula validaciones de solicitudes autenticadas y el envío de informes de estado, y proporciona almacenamiento común de miembros de datos para el estado de tejido y un administrador de intercambio. |
nl:: |
Una clase base común para implementar objetos delegados del servidor de Weave. |
nl:: |
Contiene información sobre una clave de sesión de Weave. |
nl:: |
Transmite el estado de comunicación necesario para enviar o recibir mensajes con otro nodo. |
Structs |
|
---|---|
nl:: |
|
nl:: |
La configuración de WRMP |
nl:: |
Información sobre un mensaje de Weave que está en proceso de envío o recepción. |
Unión |
|
---|---|
nl:: |
Espacios de nombres |
|
---|---|
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para trabajar con la sintaxis abstracta notación One (ASN.1). |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para admitir criptográficamente compartida. |
nl:: |
|
nl:: |
|
nl:: |
Este espacio de nombres proporciona funciones para lo siguiente: |
nl:: |
Este espacio de nombres incluye todas las interfaces de Weave para admitir registros compartidos. |
nl:: |
|
nl:: |
Este espacio de nombres incluye todas las interfaces de los perfiles de Weave para Weave, tanto en los Common como en los específicos para proveedores de Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Definiciones de trabajo con datos codificados en formato TLV de Weave. |
nl:: |
Este espacio de nombres incluye interfaces para la dirección de Weave y el módulo de enrutamiento, un módulo portátil para configurar las direcciones IP de Weave y las rutas. |
Enumeraciones
@21
@21
Properties | |
---|---|
kFlagAckPending
|
Si se espera una respuesta para un mensaje que se envía. |
kFlagAutoReleaseConnection
|
Libera automáticamente la clave de encriptación de mensajes cuando se libera el contexto de intercambio. |
kFlagAutoReleaseKey
|
Cuando se configura, indica que se recibió al menos un mensaje del par en este contexto de intercambio. |
kFlagAutoRequestAck
|
Este contexto se asoció con una WeaveConnection. |
kFlagConnectionClosed
|
Este contexto es el iniciador del intercambio. |
kFlagDropAck
|
Cuando se configura, solicita automáticamente una confirmación cada vez que se envía un mensaje a través de UDP. |
kFlagMsgRcvdFromPeer
|
Cuando se establece, significa que al menos un mensaje recibido en este intercambio solicitó una confirmación. La aplicación lee esta marca para decidir si necesita solicitar una confirmación del mensaje de respuesta que está a punto de enviar. Esta marca también puede indicar si el par usa WRMP. |
kFlagPeerRequestedAck
|
Cuando se establece, significa que hay una confirmación pendiente de devolución. |
kFlagResponseExpected
|
Solo para uso interno y de depuración: Cuando se configura, la capa de intercambio no envía una confirmación. |
kFlagUseEphemeralUDPPort
|
Libera automáticamente la WeaveConnection asociada cuando se libera el contexto de intercambio. |
@36
@36
@37
@37
@38
@38
Properties | |
---|---|
kFabricIdDefaultForTest
|
ID de tejido predeterminado, que solo se debe usar con fines de prueba |
@39
@39
Identifica el propósito o la aplicación del certificado.
Un tipo de certificado es una etiqueta que describe la finalidad o la aplicación de un certificado. Los tipos de certificado no se llevan como atributos de los certificados correspondientes, sino que se derivan de la estructura del certificado o del contexto en el que se usa. La enumeración del tipo de certificado incluye un conjunto de valores predefinidos que describen las aplicaciones de certificados de uso común. Los desarrolladores también pueden extender el rango de tipos de certificados con tipos específicos de aplicaciones que describan certificados personalizados o certificados con propiedades de seguridad únicas.
Los tipos de certificados se usan principalmente en la implementación de políticas de control de acceso, en las que el acceso a las funciones de la aplicación depende del tipo de certificado que presenta un solicitante.
Properties | |
---|---|
kCertType_AccessToken
|
Un certificado de token de acceso de Weave. |
kCertType_AppDefinedBase
|
Los tipos de certificado específicos de la aplicación deben tener valores >= este valor. |
kCertType_CA
|
Un Certificado de CA. |
kCertType_Device
|
Un certificado de dispositivo de Weave. |
kCertType_FirmwareSigning
|
Un certificado de firma de firmware de Weave. |
kCertType_General
|
El certificado es de un tipo general o no específico. |
kCertType_Max
|
Los tipos de certificados no deben ser mayores que este valor. |
kCertType_NotSpecified
|
No se especificó el tipo de certificado. |
kCertType_ServiceEndpoint
|
Un certificado de extremo del servicio de Weave. |
@40
@40
Identifica el origen de la contraseña utilizada en un protocolo de autenticación basado en contraseñas (por ejemplo,
Weave PASE)
@41
@41
Properties | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Valor base para las categorías de autenticación definidas por la aplicación. |
kWeaveAuthModeCategory_CASE
|
El par se autenticó con el protocolo CASE de Weave. |
kWeaveAuthModeCategory_General
|
Se autenticó el par con uno de un conjunto de mecanismos generales. |
kWeaveAuthModeCategory_GroupKey
|
Par autenticado con una clave de grupo compartida. |
kWeaveAuthModeCategory_PASE
|
Par autenticado con el protocolo PASE de Weave. |
kWeaveAuthModeCategory_TAKE
|
El servicio de intercambio de tráfico se autenticó mediante el protocolo Weave take. |
kWeaveAuthMode_CASE_AccessToken
|
Par autenticado con CASE con certificado de token de acceso de Weave. |
kWeaveAuthMode_CASE_AnyCert
|
El par se autenticó con CASE con certificado arbitrario o con un certificado de tipo desconocido. |
kWeaveAuthMode_CASE_Device
|
Par autenticado con CASE con certificado de dispositivo de Weave. |
kWeaveAuthMode_CASE_GeneralCert
|
El par se autenticó con CASE con un tipo de certificado general o no específico. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Par autenticado con CASE con certificado de extremo del servicio de Weave. |
kWeaveAuthMode_NotSpecified
|
No se especificó el modo de autenticación. |
kWeaveAuthMode_PASE_PairingCode
|
El par se autenticó con PASE con el código de vinculación del dispositivo. |
kWeaveAuthMode_TAKE_IdentificationKey
|
El par se autenticó con GET con una clave de identificación de token. |
kWeaveAuthMode_Unauthenticated
|
El par no está autenticado. |
@42
@42
Properties | |
---|---|
kFabricSecretScope_All
|
Todos los dispositivos pueden tener el secreto de tela correspondiente. |
@43
@43
Properties | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
Valor de byte que construye la clave de encriptación, que se usa solo para pruebas. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
Valor de byte que construye la clave de integridad, que se usa solo para pruebas |
@44
@44
Tejer el tamaño del diversificador de la clave de aplicación de encriptación de mensajes.
@45
@45
@53
@53
@54
@54
Properties | |
---|---|
kWeavePeerDescription_MaxLength
|
Longitud máxima de la string (incluido el carácter NUL) que muestra WeaveMessageLayer::GetPeerDescription(). |
@55
@55
Definiciones relacionadas con el encabezado de un mensaje codificado en Weave.
Properties | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
Indica que el ID del nodo de destino está presente en el encabezado del mensaje de Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
Indica que el remitente solicita la contranotificación de mensajes. |
kWeaveHeaderFlag_SourceNodeId
|
Indica que el ID del nodo fuente está presente en el encabezado del mensaje de Weave. |
kWeaveHeaderFlag_TunneledData
|
Indica que la carga útil del mensaje de Weave es un paquete de IP de túnel. |
@56
@56
Definiciones de campos de bits para identificadores IEEE EUI-64.
Properties | |
---|---|
kEUI64_IG_Group
|
Valor de bits individual o de grupo que indica un identificador EUI-64 de dirección de grupo. |
kEUI64_IG_Individual
|
Valor de bits individual o de grupo que indica un identificador EUI-64 de dirección individual. |
kEUI64_IG_Mask
|
Máscara de bits para el bit de persona/grupo (I/G) dentro de un identificador EUI-64. El valor 0 indica que el ID es una dirección individual. El valor 1 indica que el ID es una dirección de grupo. |
kEUI64_UL_Local
|
Valor de bits universal/local que indica un identificador EUI-64 administrado localmente. |
kEUI64_UL_Mask
|
Máscara de bits para el bit Universal/Local (U/L) dentro de un identificador EUI-64. Un valor de 0 indica que el ID se administra de forma universal (global). Un valor de 1 indica que el ID se administra de forma local. |
kEUI64_UL_Unversal
|
Valor de bits universal/local que indica un identificador EUI-64 administrado de forma universal. |
@57
@57
Rangos especiales de ID de nodo de Weave.
Properties | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
Tejimos un identificador de nodo inferior o igual a este valor para que se considere local. |
Tipo de encriptación de Weave
WeaveEncryptionType
Los tipos de encriptación para el mensaje de Weave.
Properties | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
Mensaje encriptado con encriptación AES-128-CTR con integridad de mensajes HMAC-SHA-1. |
kWeaveEncryptionType_None
|
El mensaje no está encriptado. |
Marcas de intercambio de Weave
WeaveExchangeFlags
Los bits de la marca del encabezado de intercambio de Weave.
Properties | |
---|---|
kWeaveExchangeFlag_AckId
|
Se establece cuando el mensaje actual es una confirmación de un mensaje recibido anteriormente. |
kWeaveExchangeFlag_Initiator
|
Se establece cuando el iniciador de un intercambio envía el mensaje actual. |
kWeaveExchangeFlag_NeedsAck
|
Se establece cuando el mensaje actual solicita una confirmación del destinatario. |
Versión de intercambio de Weave
WeaveExchangeVersion
La versión del encabezado de Weave Exchange.
Banderas del mensaje de Weave
WeaveMessageFlags
Marcas asociadas con un mensaje de Weave entrante o saliente.
Los valores definidos aquí se usan en el campo WeaveMessageInfo.Flags.
Properties | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Indica que se debe usar la selección predeterminada de direcciones IP IPv6 para enviar mensajes multidifusión IPv6. |
kWeaveMessageFlag_DelaySend
|
Indica que el envío del mensaje se debe retrasar. |
kWeaveMessageFlag_DestNodeId
|
Indica que el ID del nodo de destino está presente en el encabezado del mensaje de Weave. |
kWeaveMessageFlag_DuplicateMessage
|
Indica que el mensaje es un duplicado de un mensaje recibido anteriormente. |
kWeaveMessageFlag_FromInitiator
|
Indica que la fuente del mensaje es el iniciador del intercambio de Weave. |
kWeaveMessageFlag_MessageEncoded
|
Indica que el mensaje de Weave ya está codificado. |
kWeaveMessageFlag_MsgCounterSyncReq
|
Indica que el remitente solicita la sincronización del contador de mensajes. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Alias de |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Indica que el contador de mensajes de clave de grupo de par no está sincronizado. |
kWeaveMessageFlag_PeerRequestedAck
|
Indica que el remitente del mensaje solicitó una confirmación. |
kWeaveMessageFlag_RetainBuffer
|
Indica que el búfer de mensajes no se debe liberar después del envío. |
kWeaveMessageFlag_ReuseMessageId
|
Indica que se debe volver a usar el identificador de mensajes existente. |
kWeaveMessageFlag_ReuseSourceId
|
Indica que se debe volver a usar el identificador del nodo fuente existente. |
kWeaveMessageFlag_SourceNodeId
|
Indica que el ID del nodo fuente está presente en el encabezado del mensaje de Weave. |
kWeaveMessageFlag_TunneledData
|
Indica que la carga útil del mensaje de Weave es un paquete de IP de túnel. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
Indica que los mensajes se envían o se reciben a través del puerto UDP efímero local. |
Versión de mensaje de Weave
WeaveMessageVersion
La versión del formato de mensajes de Weave.
Weave elegirá la versión del mensaje apropiada en función del formato de marco requerido para el mensaje de Weave. De forma predeterminada, la versión del mensaje es kWeaveMessageVersion_V1. Por ejemplo, cuando usas Weave Reliable Messaging, la versión es kWeaveMessageVersion_V2.
Properties | |
---|---|
kWeaveMessageVersion_Unspecified
|
Versión del mensaje sin especificar. |
kWeaveMessageVersion_V1
|
Formato de encabezado de mensaje V1. |
kWeaveMessageVersion_V2
|
Formato de encabezado de mensaje V2. |
ID de la subred de Weave
WeaveSubnetId
Weave tiene algunos números de subred reservados para las interfaces de red distinguidas de dispositivos típicos.
Estos números se asignan a las constantes simbólicas. Weave usa estos números de subred para configurar las direcciones IPv6 ULA en las interfaces adecuadas.
Properties | |
---|---|
kWeaveSubnetId_MobileDevice
|
El identificador de subred para todos los dispositivos móviles. |
kWeaveSubnetId_NotSpecified
|
Reservado como un valor no especificado o nulo. |
kWeaveSubnetId_PrimaryWiFi
|
Es el número de subred de la interfaz de radio Wi-Fi. |
kWeaveSubnetId_Service
|
Identificador de subred de los extremos del servicio de Nest. |
kWeaveSubnetId_ThreadAlarm
|
Número de subred de la interfaz de radio de la alarma Thread. |
kWeaveSubnetId_ThreadMesh
|
Es el identificador de subred de la interfaz de radio de la malla de subprocesos. |
kWeaveSubnetId_WiFiAP
|
Es el número de subred de la interfaz de PA Wi-Fi local. |
ID del proveedor de Weave
WeaveVendorId
Typedefs
Esquema de rotación de FabricSecret
uint8_t FabricSecretRotationScheme
Permiso de FabricSecret
uint8_t FabricSecretScope
Identifica la categoría de dispositivos que pueden tener y usar el secreto de tejido.
Modo de autenticación de Weave
uint16_t WeaveAuthMode
Identifica cómo se autentica un nodo de par.
WeaveAuthMode describe los medios por los cuales se ha autenticado o se debería autenticar un nodo de intercambio de tráfico durante un intercambio de mensajes de Weave. En un contexto inicial, las aplicaciones usan WeaveAuthMode para expresar un modo de autenticación entre pares deseado para un intercambio y, por lo tanto, se les indica a las capas de seguridad y mensajería de Weave que lleguen al modo deseado o fallen la comunicación. En un contexto de respuesta, WeaveAuthMode identifica cómo se autenticó el nodo solicitante (el par) y permite que la aplicación que responde aplique controles de acceso basados en esta información.
El WeaveAuthMode asignado a un mensaje de Weave entrante está relacionado con la naturaleza de la clave que se usó para encriptar ese mensaje. WeaveAuthMode deriva del mecanismo mediante el cual se estableció la clave y los criterios utilizados para verificar las identidades de las partes que se comunican en el momento del establecimiento de la clave.
WeaveAuthMode incluye un conjunto de valores predefinidos que describen los modos de autenticación comunes. Estos se desglosan según el mecanismo del acuerdo clave (CASE, PASE, GroupKey, etcétera). Los desarrolladores pueden ampliar WeaveAuthMode definiendo modos específicos de aplicación, que pueden adjuntar a claves de encriptación específicas.
Clave de encriptación de Weave
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
Tipo de encriptación de Weave
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Los tipos de encriptación para el mensaje de Weave.
Marcas de intercambio de Weave
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Los bits de la marca del encabezado de intercambio de Weave.
Versión de intercambio de Weave
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
La versión del encabezado de Weave Exchange.
Banderas del mensaje de Weave
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Marcas asociadas con un mensaje de Weave entrante o saliente.
Los valores definidos aquí se usan en el campo WeaveMessageInfo.Flags.
Encabezado de mensaje de Weave
struct WeaveMessageInfo WeaveMessageHeader
Versión de mensaje de Weave
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
La versión del formato de mensajes de Weave.
Weave elegirá la versión del mensaje apropiada en función del formato de marco requerido para el mensaje de Weave. De forma predeterminada, la versión del mensaje es kWeaveMessageVersion_V1. Por ejemplo, cuando usas Weave Reliable Messaging, la versión es kWeaveMessageVersion_V2.
ID de la subred de Weave
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave tiene algunos números de subred reservados para las interfaces de red distinguidas de dispositivos típicos.
Estos números se asignan a las constantes simbólicas. Weave usa estos números de subred para configurar las direcciones IPv6 ULA en las interfaces adecuadas.
Variables
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
Estado del Fabric
NL_DLL_EXPORT WeaveFabricState FabricState
Capa de mensajes
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
Conexión de Weave
class NL_DLL_EXPORT WeaveConnection
Administrador de intercambio de Weave
class NL_DLL_EXPORT WeaveExchangeManager
Capa de mensajes de Weave
class NL_DLL_EXPORT WeaveMessageLayer
gDefaultWRMPConfig
const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
kWeaveMsgEncAppKeyDiversifier
const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }
El diversificador de claves que se usa para la derivación de claves de encriptación de mensajes de Weave.
Este valor representa los primeros 4 bytes de la SHA-1 HASH de la frase de Nest Weave EK y AK.
Functions
ID del grupo de claves de la aplicación
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Muestra el ID de la clave maestra del grupo de aplicaciones asociado con el modo de autenticación.
Modo CASEAuth
WeaveAuthMode CASEAuthMode( uint8_t certType )
Muestra un modo de autenticación CASE correspondiente a un tipo de certificado determinado.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Muestra la fuente de la contraseña para el modo de autenticación determinado.
DecodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
PredeterminadoOnMessageReceived
void DefaultOnMessageReceived( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
EncodeHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
BuscarNombredelMensaje
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
NombreDePerfilDeBúsqueda
const char * FindProfileName( uint32_t inProfileId )
Error de formato Weave
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
Si se produce un error de Weave, se muestra una string C terminada por NULL que puede leer el ser humano.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
Es verdadero si se escribió una string de descripción en el búfer proporcionado.
|
||||||
Qué muestra |
false: El error proporcionado no es un error de Weave.
|
ID de GenerateWeaveNode
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Generar un ID de nodo de Weave aleatorio.
Esta función genera un ID de nodo de Weave único a nivel local de 64 bits. Esta función usa una fuente de datos aleatoria, que es criptográfica, para garantizar que sea único el valor generado. Ten en cuenta que el bit 57 del ID del nodo de Weave generado se establece en 1 para indicar que el ID de nodo de Weave generado es único (no global) único.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Valores que se muestran |
|
GetFibonacciForIndex.
uint32_t GetFibonacciForIndex( uint32_t index )
Esta función genera un número de Fibonacci de 32 bits para un índice de 32 bits determinado.
Detalles | |
---|---|
Qué muestra |
Número de fibonacci de 32 bits sin firma.
|
ObtenerNombreDeMensaje
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
ObtenerPerfil
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Esta función genera un número al azar sin firma de 16 bits.
Detalles | |
---|---|
Qué muestra |
Número entero aleatorio sin signo de 16 bits.
|
GetRandU32
uint32_t GetRandU32( void )
Esta función genera un número al azar sin firma de 32 bits.
Detalles | |
---|---|
Qué muestra |
Número entero aleatorio de 32 bits sin firma.
|
GetRandU64
uint64_t GetRandU64( void )
Esta función genera un número al azar sin firma de 64 bits.
Detalles | |
---|---|
Qué muestra |
Número entero aleatorio sin signo de 64 bits.
|
GetRandU8
uint8_t GetRandU8( void )
Esta función genera un número al azar sin firma de 8 bits.
Detalles | |
---|---|
Qué muestra |
Número entero aleatorio sin signo de 8 bits.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
Modo de autenticación de grupo
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Muestra el modo de autenticación de una clave de grupo correspondiente para un ID de clave determinado.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Convierte un identificador de interfaz de dirección IPv6 en un identificador de nodo de Weave.
Para mayor comodidad de la prueba, los identificadores de nodos menores o iguales a #kMaxAlwaysLocalWeaveNodeId (65535) se consideran como locales y tienen su bit universal/local establecido en cero. Esto simplifica la representación de string de las direcciones IPv6 correspondientes. Por ejemplo, una ULA para el identificador de nodo 10
sería FD00:0
:1:1::A.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
el identificador de nodo de Weave de 64 bits asignado.
|
Modo IsAuthAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en el protocolo CASE de Weave.
Modo IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en la posesión de una clave privada asociada con un certificado.
Modo de clave de grupo de grupos de anuncios
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en la posesión de una clave de grupo compartida.
Modo PASEAuthAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en el protocolo PASE de Weave.
Modo de autenticación con contraseña
bool IsPasswordAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en una contraseña compartida.
Modo MAKEAuthAuth
bool IsTAKEAuthMode( WeaveAuthMode authMode )
Verdadero si el modo de autenticación se basa en el protocolo Take Weave.
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
WEAVE_ERROR J2N_ByteArray( JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayFieldVal
WEAVE_ERROR J2N_ByteArrayFieldVal( JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayInPlace
WEAVE_ERROR J2N_ByteArrayInPlace( JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen )
J2N_EnumFieldVal
WEAVE_ERROR J2N_EnumFieldVal( JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal )
J2N_EnumVal
WEAVE_ERROR J2N_EnumVal( JNIEnv *env, jobject enumObj, int & outVal )
J2N_IntFieldVal
WEAVE_ERROR J2N_IntFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jint & outVal )
J2N_LongFieldVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_ShortFieldVal
WEAVE_ERROR J2N_ShortFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal )
J2N_StringFieldVal
WEAVE_ERROR J2N_StringFieldVal( JNIEnv *env, jobject obj, const char *fieldName, char *& outVal )
NombreDeClaseDeMake
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
Modo Auth de PASE
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
Muestra el modo de autenticación PASE correspondiente a una fuente de contraseña determinada.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Muestra la fuente de la contraseña para el modo de autenticación determinado.
Información del túnel de impresión
void PrintTunnelInfo( const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data )
Tohex
char ToHex( const uint8_t data )
ToHexString
void ToHexString( const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize )
WeaveEncriptaciónKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
ID de tejido de WeaveFabric
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
Convierte un identificador de tela de Weave en un identificador global IPv6 de ULA.
El identificador global ULA para una dirección de tela es los 40 bits inferiores del ID de tela de 64 bits de la tela.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
el identificador global IPv6 asignado.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
OBSOLETO Usa WeaveMessageLayer::GetPeerDescription() en su lugar.
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
OBSOLETO Usa WeaveMessageLayer::GetPeerDescription() en su lugar.
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Convierte un identificador de nodo de Weave en un identificador de interfaz de dirección IPv6.
Los identificadores de nodo de Weave son EUI-64 universales y locales, que, según RFC-3513, se convierten en identificadores de interfaz mediante la inversión del bit universal/local (bit 57 contando el LSB como 0).
Para mayor comodidad de la prueba, los identificadores de nodos menores o iguales a #kMaxAlwaysLocalWeaveNodeId (65535) se consideran como locales y tienen su bit universal/local establecido en cero. Esto simplifica la representación de string de las direcciones IPv6 correspondientes. Por ejemplo, una ULA para el identificador de nodo 10
sería FD00:0
:1:1::A.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
el identificador de interfaz IPv6.
|
máx.
const _T & max( const _T & a, const _T & b )
min
const _T & min( const _T & a, const _T & b )