NLWeaveKeyId

#include <src/device-manager/cocoa/NLWeaveKeyIds.h>

用于实现 WeaveKeyId 功能的 C++ 功能的封装容器。

摘要

继承

继承自 :NSObject

公共静态函数

convertToCurrentAppKeyId:(UInt32 keyId)
virtual UInt32
将应用组密钥 ID 转换为应用当前密钥 ID。
convertToStaticAppKeyId:(UInt32 keyId)
virtual UInt32
describeKey:(UInt32 keyId)
virtual NSString *
getAppGroupLocalNumber:(UInt32 keyId)
virtual UInt8
获取用于推导指定应用密钥的应用组本地编号。
getAppGroupMasterKeyId:(UInt32 keyId)
virtual UInt32
获取用于派生指定应用密钥的应用组主密钥 ID。
getEpochKeyId:(UInt32 keyId)
virtual UInt32
获取用于派生指定应用密钥的应用组周期密钥 ID。
getEpochKeyNumber:(UInt32 keyId)
virtual UInt8
获取用于派生指定应用密钥的应用组周期密钥编号。
getRootKeyId:(UInt32 keyId)
virtual UInt32
获取用于派生指定应用密钥的应用组根密钥 ID。
getRootKeyNumber:(UInt32 keyId)
virtual UInt8
获取用于派生指定应用密钥的应用组根密钥编号。
getType:(UInt32 keyId)
virtual UInt32
获取指定密钥 ID 的 Weave 密钥类型。
incorporatesAppGroupMasterKey:(UInt32 keyId)
virtual BOOL
incorporatesEpochKey:(UInt32 keyId)
virtual BOOL
确定指定的应用组密钥 ID 是否包含周期密钥。
incorporatesRootKey:(UInt32 keyId)
virtual BOOL
isAppEpochKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否属于应用周期密钥类型。
isAppGroupMasterKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否属于应用组主密钥类型。
isAppRootKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否属于应用根密钥类型。
isAppRotatingKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否属于应用轮替类型。
isAppStaticKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否属于应用静态类型。
isGeneralKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否为常规类型。
isSessionKey:(UInt32 keyId)
virtual BOOL
确定指定的密钥 ID 是否为会话类型。
isValidKeyId:(UInt32 keyId)
virtual BOOL
makeAppGroupMasterKeyId:(UInt32 appGroupMasterKeyLocalId)
virtual UInt32
在给定应用组本地编号的情况下,构建应用组主密钥 ID。
makeAppIntermediateKeyId:epochKeyId:useCurrentEpochKey:(UInt32 rootKeyId, UInt32 epochKeyId, BOOL useCurrentEpochKey)
virtual UInt32
makeAppKeyId:rootKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:(UInt32 keyType, UInt32 rootKeyId, UInt32 epochKeyId, UInt32 appGroupMasterKeyId, BOOL useCurrentEpochKey)
virtual UInt32
makeAppRotatingKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:(UInt32 rootKeyId, UInt32 epochKeyId, UInt32 appGroupMasterKeyId, BOOL useCurrentEpochKey)
virtual UInt32
makeAppStaticKeyId:appGroupMasterKeyId:(UInt32 rootKeyId, UInt32 appGroupMasterKeyId)
virtual UInt32
makeEpochKeyId:(UInt8 epochKeyNumber)
virtual UInt32
根据给定周期密钥编号构造应用组根密钥 ID。
makeGeneralKeyId:(UInt16 generalKeyNumber)
virtual UInt16
在给定常规密钥编号的情况下构造常规密钥 ID。
makeRootKeyId:(UInt8 epochKeyNumber)
virtual UInt32
在给定根密钥编号的情况下构造应用组根密钥 ID。
makeSessionKeyId:(UInt16 sessionKeyNumber)
virtual UInt16
在给定会话密钥编号的情况下构建会话密钥 ID。
updateEpochKeyId:epochKeyId:(UInt32 keyId, UInt32 epochKeyId)
virtual UInt32
usesCurrentEpochKey:(UInt32 keyId)
virtual BOOL

公共静态函数

conversionToCurrentAppKeyId:

virtual UInt32 convertToCurrentAppKeyId:(
  UInt32 keyId
)

将应用组密钥 ID 转换为应用当前密钥 ID。

具体说明
参数
[in] keyId
应用密钥 ID。
返回值
应用的当前密钥 ID。

conversionToStaticAppKeyId:

virtual UInt32 convertToStaticAppKeyId:(
  UInt32 keyId
)

describeKey:

virtual NSString * describeKey:(
  UInt32 keyId
)

getAppGroupLocalNumber:

virtual UInt8 getAppGroupLocalNumber:(
  UInt32 keyId
)

获取用于推导指定应用密钥的应用组本地编号。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
应用组本地编号

getAppGroupMasterKeyId:

virtual UInt32 getAppGroupMasterKeyId:(
  UInt32 keyId
)

获取用于派生指定应用密钥的应用组主密钥 ID。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
应用组主密钥 ID。

getEpochKeyId:

virtual UInt32 getEpochKeyId:(
  UInt32 keyId
)

获取用于派生指定应用密钥的应用组周期密钥 ID。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
周期密钥 ID。

getEpochKeyNumber:

virtual UInt8 getEpochKeyNumber:(
  UInt32 keyId
)

获取用于派生指定应用密钥的应用组周期密钥编号。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
周期密钥编号。

getRootKeyId:

virtual UInt32 getRootKeyId:(
  UInt32 keyId
)

获取用于派生指定应用密钥的应用组根密钥 ID。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
根密钥 ID。

getRootKeyNumber:

virtual UInt8 getRootKeyNumber:(
  UInt32 keyId
)

获取用于派生指定应用密钥的应用组根密钥编号。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
根密钥编号。

getType:

virtual UInt32 getType:(
  UInt32 keyId
)

获取指定密钥 ID 的 Weave 密钥类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
密钥 ID 的类型。

包含 AppGroupMasterKey:

virtual BOOL incorporatesAppGroupMasterKey:(
  UInt32 keyId
)

包含以下内容:

virtual BOOL incorporatesEpochKey:(
  UInt32 keyId
)

确定指定的应用组密钥 ID 是否包含周期密钥。

具体说明
参数
[in] keyId
Weave 应用组密钥标识符。
返回值
如果 keyId 包含 epoch 键,则为 true。

包含以下内容:

virtual BOOL incorporatesRootKey:(
  UInt32 keyId
)

isAppEpochKey:

virtual BOOL isAppEpochKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否属于应用周期密钥类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果应用周期密钥类型的 keyId,则为 true。

isAppGroupMasterKey:

virtual BOOL isAppGroupMasterKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否属于应用组主密钥类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果应用组主密钥类型的 keyId,则为 true。

isAppRootKey:

virtual BOOL isAppRootKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否属于应用根密钥类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果应用根密钥类型的 keyId,则为 true。

isAppRotatingKey:

virtual BOOL isAppRotatingKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否属于应用轮替类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果应用轮替类型的 keyId,则为 true。

isAppStaticKey:

virtual BOOL isAppStaticKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否属于应用静态类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果是应用静态类型的 keyId,则为 true。

isGeneralKey:

virtual BOOL isGeneralKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否为常规类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果 keyId 为“General”类型,则为 true。

isSessionKey:

virtual BOOL isSessionKey:(
  UInt32 keyId
)

确定指定的密钥 ID 是否为会话类型。

具体说明
参数
[in] keyId
Weave 密钥标识符。
返回值
如果会话类型的 keyId,则为 true。

isValidKeyId:

virtual BOOL isValidKeyId:(
  UInt32 keyId
)

makeAppGroupMasterKeyId:

virtual UInt32 makeAppGroupMasterKeyId:(
  UInt32 appGroupMasterKeyLocalId
)

在给定应用组本地编号的情况下,构建应用组主密钥 ID。

具体说明
参数
[in] appGroupMasterKeyLocalId
应用群组本地电话号码。
返回值
应用组主密钥 ID。

makeAppIntermediateKeyId:epochKeyId:useCurrentEpochKey:

virtual UInt32 makeAppIntermediateKeyId:epochKeyId:useCurrentEpochKey:(
  UInt32 rootKeyId,
  UInt32 epochKeyId,
  BOOL useCurrentEpochKey
)

makeAppKeyId:rootKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:

virtual UInt32 makeAppKeyId:rootKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:(
  UInt32 keyType,
  UInt32 rootKeyId,
  UInt32 epochKeyId,
  UInt32 appGroupMasterKeyId,
  BOOL useCurrentEpochKey
)

makeAppRotatingKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:

virtual UInt32 makeAppRotatingKeyId:epochKeyId:appGroupMasterKeyId:useCurrentEpochKey:(
  UInt32 rootKeyId,
  UInt32 epochKeyId,
  UInt32 appGroupMasterKeyId,
  BOOL useCurrentEpochKey
)

makeAppStaticKeyId:appGroupMasterKeyId:

virtual UInt32 makeAppStaticKeyId:appGroupMasterKeyId:(
  UInt32 rootKeyId,
  UInt32 appGroupMasterKeyId
)

makeEpochKeyId:

virtual UInt32 makeEpochKeyId:(
  UInt8 epochKeyNumber
)

根据给定周期密钥编号构造应用组根密钥 ID。

具体说明
参数
[in] epochKeyNumber
新纪元密钥编号。
返回值
周期密钥 ID。

makeGeneralKeyId:

virtual UInt16 makeGeneralKeyId:(
  UInt16 generalKeyNumber
)

在给定常规密钥编号的情况下构造常规密钥 ID。

具体说明
参数
[in] generalKeyNumber
常规按键编号。
返回值
常规密钥 ID。

makeRootKeyId:

virtual UInt32 makeRootKeyId:(
  UInt8 epochKeyNumber
)

在给定根密钥编号的情况下构造应用组根密钥 ID。

具体说明
参数
[in] epochKeyNumber
根密钥编号。
返回值
根密钥 ID。

makeSessionKeyId:

virtual UInt16 makeSessionKeyId:(
  UInt16 sessionKeyNumber
)

在给定会话密钥编号的情况下构建会话密钥 ID。

具体说明
参数
[in] sessionKeyNumber
会话密钥编号。
返回值
会话密钥 ID。

updateEpochKeyId:epochKeyId:

virtual UInt32 updateEpochKeyId:epochKeyId:(
  UInt32 keyId,
  UInt32 epochKeyId
)

useCurrentEpochKey:

virtual BOOL usesCurrentEpochKey:(
  UInt32 keyId
)