Google is committed to advancing racial equity for Black communities. See how.

NLWeaveKeyIds

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

Wrapper for C++ implementation of WeaveKeyId functionality.

Summary

Inheritance

Inherits from: NSObject

Public static functions

convertToCurrentAppKeyId:(UInt32 keyId)
virtual UInt32
Convert application group key ID to application current key ID.
convertToStaticAppKeyId:(UInt32 keyId)
virtual UInt32
describeKey:(UInt32 keyId)
virtual NSString *
getAppGroupLocalNumber:(UInt32 keyId)
virtual UInt8
Get application group local number that was used to derive specified application key.
getAppGroupMasterKeyId:(UInt32 keyId)
virtual UInt32
Get application group master key ID that was used to derive specified application key.
getEpochKeyId:(UInt32 keyId)
virtual UInt32
Get application group epoch key ID that was used to derive specified application key.
getEpochKeyNumber:(UInt32 keyId)
virtual UInt8
Get application group epoch key number that was used to derive specified application key.
getRootKeyId:(UInt32 keyId)
virtual UInt32
Get application group root key ID that was used to derive specified application key.
getRootKeyNumber:(UInt32 keyId)
virtual UInt8
Get application group root key number that was used to derive specified application key.
getType:(UInt32 keyId)
virtual UInt32
Get Weave key type of the specified key ID.
incorporatesAppGroupMasterKey:(UInt32 keyId)
virtual BOOL
incorporatesEpochKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified application group key ID incorporates epoch key.
incorporatesRootKey:(UInt32 keyId)
virtual BOOL
isAppEpochKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of an application epoch key type.
isAppGroupMasterKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of an application group master key type.
isAppRootKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of an application root key type.
isAppRotatingKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of an application rotating type.
isAppStaticKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of an application static type.
isGeneralKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of a general type.
isSessionKey:(UInt32 keyId)
virtual BOOL
Determine whether the specified key ID is of a session type.
isValidKeyId:(UInt32 keyId)
virtual BOOL
makeAppGroupMasterKeyId:(UInt32 appGroupMasterKeyLocalId)
virtual UInt32
Construct application group master key ID given application group local number.
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
Construct application group root key ID given epoch key number.
makeGeneralKeyId:(UInt16 generalKeyNumber)
virtual UInt16
Construct general key ID given general key number.
makeRootKeyId:(UInt8 epochKeyNumber)
virtual UInt32
Construct application group root key ID given root key number.
makeSessionKeyId:(UInt16 sessionKeyNumber)
virtual UInt16
Construct session key ID given session key number.
updateEpochKeyId:epochKeyId:(UInt32 keyId, UInt32 epochKeyId)
virtual UInt32
usesCurrentEpochKey:(UInt32 keyId)
virtual BOOL

Public static functions

convertToCurrentAppKeyId:

virtual UInt32 convertToCurrentAppKeyId:(
  UInt32 keyId
)

Convert application group key ID to application current key ID.

Details
Parameters
[in] keyId
Application key ID.
Returns
application current key ID.

convertToStaticAppKeyId:

virtual UInt32 convertToStaticAppKeyId:(
  UInt32 keyId
)

describeKey:

virtual NSString * describeKey:(
  UInt32 keyId
)

getAppGroupLocalNumber:

virtual UInt8 getAppGroupLocalNumber:(
  UInt32 keyId
)

Get application group local number that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
application group local number.

getAppGroupMasterKeyId:

virtual UInt32 getAppGroupMasterKeyId:(
  UInt32 keyId
)

Get application group master key ID that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
application group master key ID.

getEpochKeyId:

virtual UInt32 getEpochKeyId:(
  UInt32 keyId
)

Get application group epoch key ID that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
epoch key ID.

getEpochKeyNumber:

virtual UInt8 getEpochKeyNumber:(
  UInt32 keyId
)

Get application group epoch key number that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
epoch key number.

getRootKeyId:

virtual UInt32 getRootKeyId:(
  UInt32 keyId
)

Get application group root key ID that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
root key ID.

getRootKeyNumber:

virtual UInt8 getRootKeyNumber:(
  UInt32 keyId
)

Get application group root key number that was used to derive specified application key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
root key number.

getType:

virtual UInt32 getType:(
  UInt32 keyId
)

Get Weave key type of the specified key ID.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
type of the key ID.

incorporatesAppGroupMasterKey:

virtual BOOL incorporatesAppGroupMasterKey:(
  UInt32 keyId
)

incorporatesEpochKey:

virtual BOOL incorporatesEpochKey:(
  UInt32 keyId
)

Determine whether the specified application group key ID incorporates epoch key.

Details
Parameters
[in] keyId
Weave application group key identifier.
Returns
true if the keyId incorporates epoch key.

incorporatesRootKey:

virtual BOOL incorporatesRootKey:(
  UInt32 keyId
)

isAppEpochKey:

virtual BOOL isAppEpochKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of an application epoch key type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of an application epoch key type.

isAppGroupMasterKey:

virtual BOOL isAppGroupMasterKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of an application group master key type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of an application group master key type.

isAppRootKey:

virtual BOOL isAppRootKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of an application root key type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of an application root key type.

isAppRotatingKey:

virtual BOOL isAppRotatingKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of an application rotating type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of an application rotating type.

isAppStaticKey:

virtual BOOL isAppStaticKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of an application static type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of an application static type.

isGeneralKey:

virtual BOOL isGeneralKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of a general type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId has General type.

isSessionKey:

virtual BOOL isSessionKey:(
  UInt32 keyId
)

Determine whether the specified key ID is of a session type.

Details
Parameters
[in] keyId
Weave key identifier.
Returns
true if the keyId of a session type.

isValidKeyId:

virtual BOOL isValidKeyId:(
  UInt32 keyId
)

makeAppGroupMasterKeyId:

virtual UInt32 makeAppGroupMasterKeyId:(
  UInt32 appGroupMasterKeyLocalId
)

Construct application group master key ID given application group local number.

Details
Parameters
[in] appGroupMasterKeyLocalId
Application group local number.
Returns
application group master key 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
)

Construct application group root key ID given epoch key number.

Details
Parameters
[in] epochKeyNumber
Epoch key number.
Returns
epoch key ID.

makeGeneralKeyId:

virtual UInt16 makeGeneralKeyId:(
  UInt16 generalKeyNumber
)

Construct general key ID given general key number.

Details
Parameters
[in] generalKeyNumber
General key number.
Returns
general key ID.

makeRootKeyId:

virtual UInt32 makeRootKeyId:(
  UInt8 epochKeyNumber
)

Construct application group root key ID given root key number.

Details
Parameters
[in] epochKeyNumber
Root key number.
Returns
root key ID.

makeSessionKeyId:

virtual UInt16 makeSessionKeyId:(
  UInt16 sessionKeyNumber
)

Construct session key ID given session key number.

Details
Parameters
[in] sessionKeyNumber
Session key number.
Returns
session key ID.

updateEpochKeyId:epochKeyId:

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

usesCurrentEpochKey:

virtual BOOL usesCurrentEpochKey:(
  UInt32 keyId
)