nl:: Menenun
Ringkasan
Typedef |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Menenun::FabricSecretScopeuint8_t
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan rahasia kain. |
WeaveAuthMode
|
typedefuint16_t
Mengidentifikasi cara node pembanding diautentikasi. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Jenis enkripsi untuk pesan Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Bit flag header Weave Exchange. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Versi header Weave Exchange. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Versi format Pesan Weave. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan yang berbeda di perangkat biasa. |
Variabel |
|
---|---|
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
Pengklasifikasi kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
|
Fungsi |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan ID kunci master grup aplikasi yang terkait dengan mode autentikasi.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat tertentu.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi tertentu.
|
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
Mengingat error Weave, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia yang menjelaskan error tersebut.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
Membuat ID node Weave acak.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
Fungsi ini menghasilkan angka Fibonacci 32-bit untuk indeks 32-bit yang diberikan.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
Fungsi ini menghasilkan angka acak 16-bit yang tidak ditandatangani.
|
GetRandU32(void)
|
uint32_t
Fungsi ini menghasilkan angka acak 32-bit yang tidak ditandatangani.
|
GetRandU64(void)
|
uint64_t
Fungsi ini menghasilkan angka acak 64-bit yang tidak ditandatangani.
|
GetRandU8(void)
|
uint8_t
Fungsi ini menghasilkan angka acak 8 bit yang tidak ditandatangani.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci tertentu.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Mengonversi ID antarmuka alamat IPv6 menjadi ID node Weave.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave CASE.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan kunci pribadi yang dikaitkan dengan sertifikat.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan kunci grup bersama.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada kepemilikan sandi bersama.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
True jika mode autentikasi didasarkan pada protokol Weave Take.
|
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
Menampilkan mode autentikasi PASE yang sesuai untuk sumber sandi tertentu.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Menampilkan sumber sandi untuk mode autentikasi tertentu.
|
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
Mengonversi ID kain Weave ke ID global IPv6 ULA.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Mengonversi ID node Weave menjadi ID antarmuka alamat IPv6.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
Class |
|
---|---|
nl:: |
Mengambil target yang diinginkan dari komunikasi Weave dan informasi konfigurasi terkait. |
nl:: |
Antarmuka untuk mengelola penghitung sebagai nilai bilangan bulat. |
nl:: |
Class ini merepresentasikan percakapan berkelanjutan (ExchangeContext) antara dua node atau lebih. |
nl:: |
Class delegasi abstrak ini mengomunikasikan perubahan status kain. |
nl:: |
Untuk mengelola dan memanipulasi Daftar Port Host, kumpulan biner host dan port yang dienkode ke biner dan ringkas yang terkait dengan Direktori Layanan Weave. |
nl:: |
|
nl:: |
Class untuk mengelola penghitung yang meningkat secara monoton sebagai nilai bilangan bulat. |
nl:: |
Class untuk mengelola penghitung sebagai nilai bilangan bulat yang dimaksudkan untuk dipertahankan di seluruh reboot. |
nl:: |
Definisi class Weave Connection. |
nl:: |
Definisi class WeaveConnectionTunnel, yang mengelola pasangan TCPEndPoints yang WeaveConnections aslinya telah digabungkan, dan di mana WeaveMessageLayer meneruskan semua penutupan data dan koneksi. |
nl:: |
|
nl:: |
Menentukan profil Weave dan jenis pesan dari pesan Weave tertentu dalam ExchangeContext. |
nl:: |
Class ini digunakan untuk mengelola ExchangeContexts dengan node Weave lainnya. |
nl:: |
Deklarasi maju dari WeaveFabricState. |
nl:: |
Definisi ID Weave Key. |
nl:: |
Definisi class WeaveMessageLayer, yang mengelola komunikasi dengan node Weave lainnya. |
nl:: |
Berisi informasi tentang kunci enkripsi pesan Weave. |
nl:: |
Cache kunci untuk kunci enkripsi pesan Weave. |
nl:: |
|
nl:: |
Objek dasar umum untuk mengimplementasikan penjawab (server) tidak diminta dari profil Weave yang mengenkapsulasi validasi permintaan yang diautentikasi dan mengirim laporan status serta menyediakan penyimpanan anggota data umum untuk status kain dan pengelola bursa. |
nl:: |
Class dasar umum untuk mengimplementasikan objek delegasi server Weave. |
nl:: |
Berisi informasi tentang kunci sesi Weave. |
nl:: |
Menyampaikan status komunikasi yang diperlukan untuk mengirim/menerima pesan dengan node lain. |
Struct |
|
---|---|
nl:: |
|
nl:: |
Konfigurasi WRMP. |
nl:: |
Informasi tentang pesan Weave yang sedang dalam proses pengiriman atau penerimaan. |
Serikat |
|
---|---|
nl:: |
Namespace |
|
---|---|
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk bekerja dengan Abstract Syntax Notation One (ASN.1). |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan kriptografis bersama. |
nl:: |
|
nl:: |
|
nl:: |
Namespace ini menyediakan fungsi untuk: |
nl:: |
Namespace ini mencakup semua antarmuka dalam Weave untuk dukungan logging bersama. |
nl:: |
|
nl:: |
Namespace ini mencakup semua antarmuka dalam profil Weave untuk Weave, baik Common maupun khusus vendor Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Definisi untuk bekerja dengan data yang dienkode dalam format TLV Weave. |
nl:: |
Namespace ini mencakup antarmuka untuk Weave Address dan Routing Module, Modul portabel untuk mengonfigurasi alamat IP dan Rute Weave. |
Enumerasi
@21
@21
Properti | |
---|---|
kFlagAckPending
|
Jika respons diharapkan untuk pesan yang sedang dikirim. |
kFlagAutoReleaseConnection
|
Melepaskan kunci enkripsi pesan secara otomatis saat konteks pertukaran dibebaskan. |
kFlagAutoReleaseKey
|
Jika ditetapkan, setidaknya satu pesan telah diterima dari pembanding pada konteks bursa ini. |
kFlagAutoRequestAck
|
Konteks ini dikaitkan dengan WeaveConnection. |
kFlagConnectionClosed
|
Konteks ini adalah inisiatif bursa. |
kFlagDropAck
|
Saat ditetapkan, secara otomatis meminta konfirmasi setiap kali pesan dikirim melalui UDP. |
kFlagMsgRcvdFromPeer
|
Jika ditetapkan, menandakan bahwa setidaknya satu pesan yang diterima pada bursa ini meminta konfirmasi. Tanda ini dibaca oleh aplikasi untuk memutuskan apakah perlu meminta konfirmasi untuk pesan respons yang akan dikirim. Tanda ini juga dapat menunjukkan apakah pembanding menggunakan WRMP atau tidak. |
kFlagPeerRequestedAck
|
Jika ditetapkan, menandakan bahwa ada konfirmasi yang menunggu konfirmasi untuk dikirim kembali. |
kFlagResponseExpected
|
Khusus internal dan debug: jika ditetapkan, lapisan bursa tidak akan mengirimkan konfirmasi. |
kFlagUseEphemeralUDPPort
|
Merilis WeaveConnection terkait secara otomatis ketika konteks pertukaran dibebaskan. |
@36
@36
@37
@37
@38
@38
Properti | |
---|---|
kFabricIdDefaultForTest
|
ID kain default, yang hanya boleh digunakan untuk tujuan pengujian. |
@39
@39
Mengidentifikasi tujuan atau penerapan sertifikat.
Jenis sertifikat adalah label yang menjelaskan tujuan atau aplikasi sertifikat. Jenis sertifikat tidak disertakan sebagai atribut dari sertifikat yang sesuai, melainkan diperoleh dari struktur sertifikat dan/atau konteks yang digunakannya. Enumerasi jenis sertifikat mencakup sekumpulan nilai yang telah ditentukan sebelumnya dan menjelaskan aplikasi sertifikat yang umum digunakan. Developer juga dapat memperluas rentang nilai jenis sertifikat dengan jenis khusus aplikasi yang menjelaskan sertifikat kustom atau sertifikat dengan properti keamanan unik.
Jenis sertifikat terutama digunakan dalam penerapan kebijakan kontrol akses, yang akses ke fitur aplikasinya dipengaruhi oleh jenis sertifikat yang diberikan oleh pemohon.
Properti | |
---|---|
kCertType_AccessToken
|
Sertifikat token akses Weave. |
kCertType_AppDefinedBase
|
Jenis sertifikat khusus aplikasi harus memiliki nilai >= nilai ini. |
kCertType_CA
|
Sertifikat CA. |
kCertType_Device
|
Sertifikat perangkat Weave. |
kCertType_FirmwareSigning
|
Sertifikat penandatanganan firmware Weave. |
kCertType_General
|
Sertifikat adalah jenis umum atau non-spesifik. |
kCertType_Max
|
Jenis sertifikat tidak boleh lebih besar dari nilai ini. |
kCertType_NotSpecified
|
Jenis sertifikat belum ditentukan. |
kCertType_ServiceEndpoint
|
Sertifikat endpoint layanan Weave. |
@40
@40
Mengidentifikasi sumber untuk sandi yang digunakan dalam protokol autentikasi berbasis sandi (misalnya
Tenun PASE)
@41
@41
Properti | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Nilai dasar untuk kategori autentikasi yang ditentukan aplikasi. |
kWeaveAuthModeCategory_CASE
|
Peer yang diautentikasi menggunakan protokol Weave CASE. |
kWeaveAuthModeCategory_General
|
Peer yang diautentikasi menggunakan salah satu dari serangkaian mekanisme umum. |
kWeaveAuthModeCategory_GroupKey
|
Peer diautentikasi menggunakan kunci grup bersama. |
kWeaveAuthModeCategory_PASE
|
Peer yang diautentikasi menggunakan protokol Weave PASE. |
kWeaveAuthModeCategory_TAKE
|
Peer diautentikasi menggunakan protokol Weave Take. |
kWeaveAuthMode_CASE_AccessToken
|
Peer diautentikasi menggunakan CASE dengan sertifikat token akses Weave. |
kWeaveAuthMode_CASE_AnyCert
|
Peer yang diautentikasi menggunakan CASE dengan sertifikat arbitrer, atau sertifikat jenis yang tidak diketahui. |
kWeaveAuthMode_CASE_Device
|
Peer diautentikasi menggunakan CASE dengan sertifikat perangkat Weave. |
kWeaveAuthMode_CASE_GeneralCert
|
Peer yang diautentikasi menggunakan CASE dengan jenis sertifikat umum atau non-spesifik. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Peer diautentikasi menggunakan CASE dengan sertifikat endpoint layanan Weave. |
kWeaveAuthMode_NotSpecified
|
Mode autentikasi tidak ditentukan. |
kWeaveAuthMode_PASE_PairingCode
|
Peer yang diautentikasi menggunakan PASE dengan kode penyambungan perangkat. |
kWeaveAuthMode_TAKE_IdentificationKey
|
Peer yang diautentikasi menggunakan Take dengan kunci identifikasi token. |
kWeaveAuthMode_Unauthenticated
|
Peer tidak diautentikasi. |
@43
@43
Properti | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
Nilai byte yang membuat kunci enkripsi, yang hanya digunakan untuk pengujian. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
Nilai byte yang membuat kunci integritas, yang hanya digunakan untuk pengujian. |
@44
@44
Ukuran pengubah kunci aplikasi enkripsi tenun.
@45
@45
@53
@53
@54
@54
Properti | |
---|---|
kWeavePeerDescription_MaxLength
|
Panjang maksimum string (termasuk karakter NUL) yang ditampilkan oleh WeaveMessageLayer::GetPeerDescription(). |
@55
@55
Definisi yang berkaitan dengan header pesan Weave yang dienkode.
Properti | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
Menunjukkan bahwa ID node tujuan ada di header pesan Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
Menunjukkan bahwa pengirim meminta sinkronisasi penghitung pesan. |
kWeaveHeaderFlag_SourceNodeId
|
Menunjukkan bahwa ID node sumber ada di header pesan Weave. |
kWeaveHeaderFlag_TunneledData
|
Menunjukkan bahwa payload pesan Weave adalah paket IP tunnel. |
@56
@56
Definisi kolom bit untuk ID IEEE EUI-64.
Properti | |
---|---|
kEUI64_IG_Group
|
Nilai bit Individu/Grup yang menunjukkan ID EU-64 alamat grup. |
kEUI64_IG_Individual
|
Nilai bit Individu/Grup yang menunjukkan ID EU-64 alamat individual. |
kEUI64_IG_Mask
|
Bitmask untuk bit Individu/Grup (I/G) dalam ID EUI-64. Nilai 0 menunjukkan id adalah alamat individual. Nilai 1 menunjukkan id adalah alamat grup. |
kEUI64_UL_Local
|
Nilai bit Universal/Lokal menunjukkan ID EUI-64 yang dikelola secara lokal. |
kEUI64_UL_Mask
|
Bitmask untuk bit Universal/Local (U/L) dalam ID EUI-64. Nilai 0 menunjukkan ID yang dikelola secara Universal (secara global). Nilai 1 menunjukkan ID yang dikelola secara Lokal. |
kEUI64_UL_Unversal
|
Nilai bit Universal/Lokal yang menunjukkan ID EUI-64 yang dikelola secara universal. |
@57
@57
Rentang khusus ID Weave Node.
Properti | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
ID node tena kurang dari atau sama dengan nilai ini dianggap lokal untuk kenyamanan pengujian. |
JenisEnkripsi Weave
WeaveEncryptionType
Jenis enkripsi untuk pesan Weave.
Properti | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
Pesan dienkripsi menggunakan enkripsi AES-128-CTR dengan integritas pesan HMAC-SHA-1. |
kWeaveEncryptionType_None
|
Pesan tidak dienkripsi. |
Bendera WeaveExchange
WeaveExchangeFlags
Bit flag header Weave Exchange.
Properti | |
---|---|
kWeaveExchangeFlag_AckId
|
Tetapkan saat pesan saat ini merupakan konfirmasi untuk pesan yang diterima sebelumnya. |
kWeaveExchangeFlag_Initiator
|
Menetapkan waktu saat ini pesan dikirim oleh inisiator bursa. |
kWeaveExchangeFlag_NeedsAck
|
Tetapkan saat pesan saat ini meminta konfirmasi dari penerima. |
Versi WeaveExchange
WeaveExchangeVersion
Versi header Weave Exchange.
Tanda WeaveMessage
WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar.
Nilai yang ditentukan di sini adalah untuk digunakan dalam kolom WeaveMessageInfo.Flags.
Properti | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Menunjukkan bahwa pemilihan alamat sumber IPv6 default harus digunakan saat mengirim pesan multicast IPv6. |
kWeaveMessageFlag_DelaySend
|
Menunjukkan bahwa pengiriman pesan harus ditunda. |
kWeaveMessageFlag_DestNodeId
|
Menunjukkan bahwa ID node tujuan ada di header pesan Weave. |
kWeaveMessageFlag_DuplicateMessage
|
Menunjukkan bahwa pesan merupakan duplikat dari pesan yang diterima sebelumnya. |
kWeaveMessageFlag_FromInitiator
|
Menunjukkan bahwa sumber pesan adalah inisiator pertukaran Weave. |
kWeaveMessageFlag_MessageEncoded
|
Menunjukkan bahwa pesan Weave sudah dienkode. |
kWeaveMessageFlag_MsgCounterSyncReq
|
Menunjukkan bahwa pengirim meminta sinkronisasi penghitung pesan dari teman. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Alias yang tidak digunakan lagi untuk |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Menunjukkan bahwa penghitung pesan kunci grup pembanding tidak disinkronkan. |
kWeaveMessageFlag_PeerRequestedAck
|
Menunjukkan bahwa pengirim pesan meminta konfirmasi. |
kWeaveMessageFlag_RetainBuffer
|
Menunjukkan bahwa buffer pesan tidak boleh dibebaskan setelah dikirim. |
kWeaveMessageFlag_ReuseMessageId
|
Menunjukkan bahwa ID pesan yang ada harus digunakan kembali. |
kWeaveMessageFlag_ReuseSourceId
|
Menunjukkan bahwa ID node sumber yang ada harus digunakan kembali. |
kWeaveMessageFlag_SourceNodeId
|
Menunjukkan bahwa ID node sumber ada di header pesan Weave. |
kWeaveMessageFlag_TunneledData
|
Menunjukkan bahwa payload pesan Weave adalah paket IP tunnel. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
Menunjukkan bahwa pesan sedang dikirim/diterima melalui port UDP singkat lokal. |
Versi WeaveMessage
WeaveMessageVersion
Versi format Pesan Weave.
Weave akan memilih versi pesan yang sesuai berdasarkan format bingkai yang diperlukan untuk pesan Weave. Secara default, versi pesannya adalah kWeaveMessageVersion_V1. Saat menggunakan Weave Trusted Messaging, misalnya, versinya adalah kWeaveMessageVersion_V2.
Properti | |
---|---|
kWeaveMessageVersion_Unspecified
|
Versi pesan tidak ditentukan. |
kWeaveMessageVersion_V1
|
Format header pesan versi V1. |
kWeaveMessageVersion_V2
|
Format header pesan memiliki versi V2. |
ID WeaveSubnet
WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan yang berbeda di perangkat biasa.
Angka-angka ini ditetapkan di sini dengan konstanta simbolis. Nomor subnet ini digunakan oleh Weave untuk mengonfigurasi alamat IPv6 ULA pada antarmuka yang sesuai.
Properti | |
---|---|
kWeaveSubnetId_MobileDevice
|
ID subnet untuk semua perangkat Seluler. |
kWeaveSubnetId_NotSpecified
|
Disimpan sebagai nilai yang tidak ditentukan atau null. |
kWeaveSubnetId_PrimaryWiFi
|
Nomor subnet antarmuka radio Wi-Fi. |
kWeaveSubnetId_Service
|
ID subnet untuk endpoint Layanan Nest. |
kWeaveSubnetId_ThreadAlarm
|
Nomor subnet antarmuka radio alarm Thread. |
kWeaveSubnetId_ThreadMesh
|
ID subnet antarmuka radio mesh thread. |
kWeaveSubnetId_WiFiAP
|
Nomor subnet antarmuka AP Wi-Fi Lokal. |
ID Vendor Weave
WeaveVendorId
Typedef
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
Mengidentifikasi kategori perangkat yang dapat memiliki dan menggunakan rahasia kain.
Mode WeaveAuth
uint16_t WeaveAuthMode
Mengidentifikasi cara node pembanding diautentikasi.
WeaveAuthMode menjelaskan cara node node telah, atau seharusnya, diautentikasi selama pertukaran pesan Weave. Dalam konteks awal, aplikasi menggunakan WeaveAuthMode untuk mengekspresikan mode autentikasi peer yang diinginkan untuk pertukaran, dengan demikian menginstruksikan lapisan keamanan dan pesan Weave untuk mencapai mode yang diinginkan atau menggagalkan komunikasi. Dalam konteks respons, WeaveAuthMode mengidentifikasi cara node yang meminta (peering) diautentikasi, sehingga aplikasi yang merespons dapat menerapkan kontrol akses berdasarkan informasi ini.
WeaveAuthMode yang ditetapkan ke pesan Weave yang masuk berkaitan dengan sifat kunci yang digunakan untuk mengenkripsi pesan tersebut. WeaveAuthMode berasal dari mekanisme yang digunakan untuk membuat kunci dan kriteria yang digunakan untuk memverifikasi identitas pihak yang berkomunikasi pada saat pembuatan kunci.
WeaveAuthMode mencakup sekumpulan nilai yang telah ditentukan sebelumnya dan menjelaskan mode autentikasi umum. Hal ini diperinci oleh mekanisme perjanjian kunci (CASE, PASE, GroupKey, dll.). Developer dapat memperluas WeaveAuthMode dengan menentukan mode khusus aplikasi, yang dapat dilampirkan ke kunci enkripsi tertentu.
Kunci WeaveEncryption
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
JenisEnkripsi Weave
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Jenis enkripsi untuk pesan Weave.
Bendera WeaveExchange
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Bit flag header Weave Exchange.
Versi WeaveExchange
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Versi header Weave Exchange.
Tanda WeaveMessage
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Tanda yang terkait dengan pesan Weave masuk atau keluar.
Nilai yang ditentukan di sini adalah untuk digunakan dalam kolom WeaveMessageInfo.Flags.
HeaderWeaveMessage
struct WeaveMessageInfo WeaveMessageHeader
Versi WeaveMessage
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Versi format Pesan Weave.
Weave akan memilih versi pesan yang sesuai berdasarkan format bingkai yang diperlukan untuk pesan Weave. Secara default, versi pesannya adalah kWeaveMessageVersion_V1. Saat menggunakan Weave Trusted Messaging, misalnya, versinya adalah kWeaveMessageVersion_V2.
ID WeaveSubnet
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave memiliki beberapa nomor subnet yang dicadangkan untuk antarmuka jaringan yang berbeda di perangkat biasa.
Angka-angka ini ditetapkan di sini dengan konstanta simbolis. Nomor subnet ini digunakan oleh Weave untuk mengonfigurasi alamat IPv6 ULA pada antarmuka yang sesuai.
Variabel
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
Status Fabric
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
KeamananMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
WeaveMessageLayer
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 }
Pengklasifikasi kunci yang digunakan untuk turunan kunci enkripsi pesan Weave.
Nilai ini mewakili 4 byte pertama dari SHA-1 HASH dari "Nest Weave Message EK dan frasa AK".
Fungsi
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Menampilkan ID kunci master grup aplikasi yang terkait dengan mode autentikasi.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Menampilkan mode autentikasi CASE yang sesuai untuk jenis sertifikat tertentu.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi tertentu.
DekodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
DefaultOnMessageDiterima
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 )
FindMessageName
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
NamaProfilDitemukan
const char * FindProfileName( uint32_t inProfileId )
FormatWeaveError
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
Mengingat error Weave, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia yang menjelaskan error tersebut.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Menampilkan |
true Jika string deskripsi ditulis ke buffering yang disediakan.
|
||||||
Menampilkan |
false Jika error yang diberikan bukan error Weave.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Membuat ID node Weave acak.
Fungsi ini menghasilkan ID node Weave 64-bit yang unik secara lokal. Fungsi ini menggunakan sumber data acak yang kuat secara kriptografis untuk menjamin keunikan nilai yang dihasilkan. Perhatikan bahwa bit 57 dari ID node Weave yang dihasilkan disetel ke 1 untuk menunjukkan bahwa ID node Weave yang dihasilkan bersifat lokal (bukan global) unik.
Detail | |||
---|---|---|---|
Parameter |
|
||
Nilai yang Ditampilkan |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Fungsi ini menghasilkan angka Fibonacci 32-bit untuk indeks 32-bit yang diberikan.
Detail | |
---|---|
Menampilkan |
Nomor fibonacci 32-bit yang tidak ditandatangani.
|
Mendapatkan NamaPesan
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
MendapatkanNamaProfil
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Fungsi ini menghasilkan angka acak 16-bit yang tidak ditandatangani.
Detail | |
---|---|
Menampilkan |
Bilangan bulat acak 16-bit yang tidak ditandatangani.
|
GetRandU32
uint32_t GetRandU32( void )
Fungsi ini menghasilkan angka acak 32-bit yang tidak ditandatangani.
Detail | |
---|---|
Menampilkan |
Bilangan bulat acak 32-bit yang tidak ditandatangani.
|
GetRandU64
uint64_t GetRandU64( void )
Fungsi ini menghasilkan angka acak 64-bit yang tidak ditandatangani.
Detail | |
---|---|
Menampilkan |
Bilangan acak acak 64-bit yang tidak ditandatangani.
|
GetRandU8
uint8_t GetRandU8( void )
Fungsi ini menghasilkan angka acak 8 bit yang tidak ditandatangani.
Detail | |
---|---|
Menampilkan |
Bilangan acak acak 8-bit yang tidak ditandatangani.
|
MendapatkanVendor
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Menampilkan mode autentikasi kunci grup yang sesuai untuk ID kunci tertentu.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Mengonversi ID antarmuka alamat IPv6 menjadi ID node Weave.
Untuk memudahkan pengujian, ID node kurang dari atau sama dengan #kMaxAlwaysLocalWeaveNodeId (65535) dianggap 'local', dan memiliki bit universal/lokal yang ditetapkan ke nol. Ini akan menyederhanakan representasi string dari alamat IPv6 yang sesuai. Misalnya, ULA untuk ID node 10
adalah FD00:0
:1:1::A.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
ID node Weave 64 bit yang dipetakan.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave CASE.
IsAuthAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan kunci pribadi yang dikaitkan dengan sertifikat.
ModeGrupKunciIsIs
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan kunci grup bersama.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave PASE.
ModeSandiPasswordPassword
bool IsPasswordAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada kepemilikan sandi bersama.
MengambilModeMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
True jika mode autentikasi didasarkan pada protokol Weave Take.
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_KolomPanjangVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_FieldShortVal
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 )
NamaNamaKelasKelas
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
PASEAuthMode
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
Menampilkan mode autentikasi PASE yang sesuai untuk sumber sandi tertentu.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Menampilkan sumber sandi untuk mode autentikasi tertentu.
Info Terowongan Cetak
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 )
WeaveEncryptionKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
WeaveFabricIdToIPv6IDGlobal
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
Mengonversi ID kain Weave ke ID global IPv6 ULA.
ID global ULA untuk alamat kain adalah 40 bit yang lebih rendah dari ID kain 64-bit kain.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
ID global IPv6 yang dipetakan.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
TIDAK DIGUNAKAN LAGI Gunakan WeaveMessageLayer::GetPeerDescription() sebagai gantinya.
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Mengonversi ID node Weave menjadi ID antarmuka alamat IPv6.
ID node tenun adalah Universal/EUI-64 lokal, yang per RFC-3513 dikonversi menjadi ID antarmuka dengan membalikkan bit universal/lokal (bit 57 menghitung LSB sebagai 0).
Untuk memudahkan pengujian, ID node kurang dari atau sama dengan #kMaxAlwaysLocalWeaveNodeId (65535) dianggap 'local', dan memiliki bit universal/lokal yang ditetapkan ke nol. Ini akan menyederhanakan representasi string dari alamat IPv6 yang sesuai. Misalnya, ULA untuk ID node 10
adalah FD00:0
:1:1::A.
Detail | |||
---|---|---|---|
Parameter |
|
||
Menampilkan |
ID antarmuka IPv6.
|
maks.
const _T & max( const _T & a, const _T & b )
mnt
const _T & min( const _T & a, const _T & b )