nl:: Weave:: WeaveKeyId
#include <src/lib/core/WeaveKeyIds.h>
Weave Key 标识符的定义。
摘要
此类包含密钥类型、按键标志、密钥 ID 字段定义和 API 函数。
公共类型 |
|
---|---|
@52{
|
枚举 Weave 公钥 ID 字段、标志和类型。 |
公共静态函数 |
|
---|---|
ConvertToCurrentAppKeyId(uint32_t keyId)
|
uint32_t
将应用组密钥 ID 转换为应用当前密钥 ID。
|
ConvertToStaticAppKeyId(uint32_t keyId)
|
uint32_t
将应用密钥 ID 转换为应用静态密钥 ID。
|
DescribeKey(uint32_t keyId)
|
const char *
使用描述性字符串解码 Weave 密钥标识符。
|
GetAppGroupLocalNumber(uint32_t keyId)
|
uint8_t
获取用于派生指定应用密钥的应用组本地编号。
|
GetAppGroupMasterKeyId(uint32_t keyId)
|
uint32_t
获取用于派生指定应用密钥的应用组主密钥 ID。
|
GetEpochKeyId(uint32_t keyId)
|
uint32_t
获取用于派生指定应用密钥的应用组周期密钥 ID。
|
GetEpochKeyNumber(uint32_t keyId)
|
uint8_t
获取用于派生指定应用密钥的应用组周期密钥编号。
|
GetRootKeyId(uint32_t keyId)
|
uint32_t
获取用于派生指定应用密钥的应用组根密钥 ID。
|
GetRootKeyNumber(uint32_t keyId)
|
uint8_t
获取用于派生指定应用密钥的应用组根密钥编号。
|
GetType(uint32_t keyId)
|
uint32_t
获取指定密钥 ID 的 Weave 密钥类型。
|
IncorporatesAppGroupMasterKey(uint32_t keyId)
|
bool
确定指定的应用组密钥 ID 中是否包含群组主密钥。
|
IncorporatesEpochKey(uint32_t keyId)
|
bool
确定指定的应用组密钥 ID 是否包含新纪元密钥。
|
IncorporatesRootKey(uint32_t keyId)
|
bool
确定指定的应用组密钥 ID 是否包含根密钥。
|
IsAppEpochKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否属于应用周期密钥类型。
|
IsAppGroupKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否属于应用组密钥类型(静态或轮替)。
|
IsAppGroupMasterKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为应用组主密钥类型。
|
IsAppRootKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为应用根密钥类型。
|
IsAppRotatingKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为应用轮替类型。
|
IsAppStaticKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为应用静态类型。
|
IsGeneralKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为常规类型。
|
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
|
bool
确定给定密钥 ID 是否标识了适合 Weave 消息加密的密钥。
|
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
|
bool
确定两个密钥 ID 是否标识同一个密钥,或者在轮替密钥的情况下,不考虑任何特定周期的同一组密钥。
|
IsSessionKey(uint32_t keyId)
|
bool
确定指定的密钥 ID 是否为会话类型。
|
IsValidKeyId(uint32_t keyId)
|
bool
确定密钥标识符是否具有有效(合法)值。
|
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
|
uint32_t
根据给定的应用组本地编号构建应用组主密钥 ID。
|
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
|
uint32_t
根据组成部分密钥 ID 构造应用中间密钥 ID。
|
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
|
uint32_t
根据组成部分密钥 ID 和其他信息,构建应用组密钥 ID。
|
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
|
uint32_t
根据组成部分密钥 ID 和其他信息,构建应用轮替密钥 ID。
|
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
|
uint32_t
根据组成部分密钥 ID 构造应用静态密钥 ID。
|
MakeEpochKeyId(uint8_t epochKeyNumber)
|
uint32_t
根据指定的周期密钥编号构造应用组根密钥 ID。
|
MakeGeneralKeyId(uint16_t generalKeyNumber)
|
uint16_t
根据常规密钥编号构建常规密钥 ID。
|
MakeRootKeyId(uint8_t rootKeyNumber)
|
uint32_t
根据根密钥编号构建应用组根密钥 ID。
|
MakeSessionKeyId(uint16_t sessionKeyNumber)
|
uint16_t
根据会话密钥编号构建会话密钥 ID。
|
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
|
uint32_t
使用新的周期密钥编号更新应用组密钥 ID。
|
UsesCurrentEpochKey(uint32_t keyId)
|
bool
确定指定的应用组密钥 ID 是否使用“当前”周期键。
|
公共类型
52 位
@52
Weave 公钥 ID 字段、标志和类型。
属性 | |
---|---|
kClientRootKey
|
客户端根密钥 ID。 |
kFabricRootKey
|
Fabric 根密钥 ID。 |
kFabricSecret
|
Weave 织物 Secret ID。 |
kKeyNumber_Max
|
键 ID 子字段的最大值。 |
kNone
|
Weave 全局按键 ID。 未指定的 Weave 密钥 ID。 |
kServiceRootKey
|
服务根密钥 ID。 |
kType_AppEpochKey
|
应用组周期密钥类型。 |
kType_AppGroupMasterKey
|
应用组主密钥类型。 |
kType_AppIntermediateKey
|
应用组中间密钥类型。 |
kType_AppRootKey
|
Weave 密钥类型(Weave 消息加密类型除外)。 。 |
kType_AppRotatingKey
|
应用轮替密钥类型。 |
kType_AppStaticKey
|
应用静态密钥类型。 |
kType_General
|
常规密钥类型。 |
kType_None
|
用于 Weave 邮件加密的 Weave 密钥类型。 |
kType_Session
|
会话密钥类型。 |
公共静态函数
ConvertToCurrentAppKeyId
uint32_t ConvertToCurrentAppKeyId( uint32_t keyId )
将应用组密钥 ID 转换为应用当前密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
应用的当前密钥 ID。
|
ConvertToStaticAppKeyId
uint32_t ConvertToStaticAppKeyId( uint32_t keyId )
将应用密钥 ID 转换为应用静态密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
应用静态密钥 ID。
|
DescribeKey
const char * DescribeKey( uint32_t keyId )
使用描述性字符串解码 Weave 密钥标识符。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向以 NULL 终止的字符串,该字符串描述了指定密钥 ID。
|
GetAppGroupLocalNumber
uint8_t GetAppGroupLocalNumber( uint32_t keyId )
获取用于派生指定应用密钥的应用组本地编号。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
应用组本地号码。
|
GetAppGroupMasterKeyId
uint32_t GetAppGroupMasterKeyId( uint32_t keyId )
获取用于派生指定应用密钥的应用组主密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
应用组主密钥 ID。
|
GetEpochKeyId
uint32_t GetEpochKeyId( uint32_t keyId )
获取用于派生指定应用密钥的应用组周期密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
周期键 ID。
|
GetEpochKeyNumber
uint8_t GetEpochKeyNumber( uint32_t keyId )
获取用于派生指定应用密钥的应用组周期密钥编号。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
周期键编号。
|
GetRootKeyId
uint32_t GetRootKeyId( uint32_t keyId )
获取用于派生指定应用密钥的应用组根密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
根密钥 ID。
|
GetRootKeyNumber
uint8_t GetRootKeyNumber( uint32_t keyId )
获取用于派生指定应用密钥的应用组根密钥编号。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
根键号。
|
GetType
uint32_t GetType( uint32_t keyId )
获取指定密钥 ID 的 Weave 密钥类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
密钥 ID 的类型。
|
IncorporatesAppGroupMasterKey
bool IncorporatesAppGroupMasterKey( uint32_t keyId )
确定指定的应用组密钥 ID 中是否包含群组主密钥。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 包含组主密钥,则返回 true。
|
IncorporatesEpochKey
bool IncorporatesEpochKey( uint32_t keyId )
确定指定的应用组密钥 ID 是否包含新纪元密钥。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 包含纪元键,则为 true。
|
IncorporatesRootKey
bool IncorporatesRootKey( uint32_t keyId )
确定指定的应用组密钥 ID 是否包含根密钥。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 包含根键,则为 true。
|
IsAppEpochKey
bool IsAppEpochKey( uint32_t keyId )
确定指定的密钥 ID 是否属于应用周期密钥类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果是应用纪元密钥类型的 keyId,则为 true。
|
IsAppGroupKey
bool IsAppGroupKey( uint32_t keyId )
确定指定的密钥 ID 是否属于应用组密钥类型(静态或轮替)。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 是轮替或静态密钥类型,则返回 true。
|
IsAppGroupMasterKey
bool IsAppGroupMasterKey( uint32_t keyId )
确定指定的密钥 ID 是否为应用组主密钥类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果应用组主密钥类型的 keyId,则为 true。
|
IsAppRootKey
bool IsAppRootKey( uint32_t keyId )
确定指定的密钥 ID 是否为应用根密钥类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果是应用根密钥类型的 keyId,则为 true。
|
IsAppRotatingKey
bool IsAppRotatingKey( uint32_t keyId )
确定指定的密钥 ID 是否为应用轮替类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果是应用轮替类型的 keyId,则为 true。
|
IsAppStaticKey
bool IsAppStaticKey( uint32_t keyId )
确定指定的密钥 ID 是否为应用静态类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果是应用静态类型的 keyId,则返回 true。
|
IsGeneralKey
bool IsGeneralKey( uint32_t keyId )
确定指定的密钥 ID 是否为常规类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 为 General 类型,则为 true。
|
IsMessageEncryptionKeyId
bool IsMessageEncryptionKeyId( uint32_t keyId, bool allowLogicalKeys )
确定给定密钥 ID 是否标识了适合 Weave 消息加密的密钥。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
true 表示已识别的密钥可用于加密 Weave 消息。
|
IsSameKeyOrGroup
bool IsSameKeyOrGroup( uint32_t keyId1, uint32_t keyId2 )
确定两个密钥 ID 是否标识同一个密钥,或者在轮替密钥的情况下,不考虑任何特定周期的同一组密钥。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
如果密钥 ID 代表相同的密钥,则返回 true。
|
IsSessionKey
bool IsSessionKey( uint32_t keyId )
确定指定的密钥 ID 是否属于会话类型。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果为会话类型的 keyId,则为 true。
|
IsValidKeyId
bool IsValidKeyId( uint32_t keyId )
确定密钥标识符是否具有有效(合法)值。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果密钥 ID 值有效,则返回 true。
|
MakeAppGroupMasterKeyId
uint32_t MakeAppGroupMasterKeyId( uint8_t appGroupLocalNumber )
根据给定的应用组本地编号构建应用组主密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
应用组主密钥 ID。
|
MakeAppIntermediateKeyId
uint32_t MakeAppIntermediateKeyId( uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey )
根据组成部分密钥 ID 构造应用中间密钥 ID。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
应用中间密钥 ID。
|
MakeAppKeyId
uint32_t MakeAppKeyId( uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey )
根据组成部分密钥 ID 和其他信息,构建应用组密钥 ID。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
应用组密钥 ID。
|
MakeAppRotatingKeyId
uint32_t MakeAppRotatingKeyId( uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey )
根据组成部分密钥 ID 和其他信息,构建应用轮替密钥 ID。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
应用轮替密钥 ID。
|
MakeAppStaticKeyId
uint32_t MakeAppStaticKeyId( uint32_t rootKeyId, uint32_t appGroupMasterKeyId )
根据组成部分密钥 ID 构造应用静态密钥 ID。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
应用静态密钥 ID。
|
MakeEpochKeyId
uint32_t MakeEpochKeyId( uint8_t epochKeyNumber )
根据指定的周期密钥编号构造应用组根密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
周期键 ID。
|
MakeGeneralKeyId
uint16_t MakeGeneralKeyId( uint16_t generalKeyNumber )
根据常规密钥编号构建常规密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
常规键 ID。
|
MakeRootKeyId
uint32_t MakeRootKeyId( uint8_t rootKeyNumber )
根据根密钥编号构建应用组根密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
根密钥 ID。
|
MakeSessionKeyId
uint16_t MakeSessionKeyId( uint16_t sessionKeyNumber )
根据会话密钥编号构建会话密钥 ID。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
会话密钥 ID。
|
UpdateEpochKeyId
uint32_t UpdateEpochKeyId( uint32_t keyId, uint32_t epochKeyId )
使用新的周期密钥编号更新应用组密钥 ID。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
应用密钥 ID。
|
UsesCurrentEpochKey
bool UsesCurrentEpochKey( uint32_t keyId )
确定指定的应用组密钥 ID 是否使用“当前”周期键。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果 keyId 指示当前周期密钥的使用,则返回 true。
|