Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl::위브::WeaveKeyId

#include <src/lib/core/WeaveKeyIds.h>

Weave 키 식별자의 정의입니다.

요약

이 클래스에는 키 유형, 키 플래그, 키 ID 필드 정의, API 함수가 포함됩니다.

공개 유형

@52{
  kType_None = 0x00000000,
  kType_General = 0x00001000,
  kType_Session = 0x00002000,
  kType_AppStaticKey = 0x00004000,
  kType_AppRotatingKey = kType_AppStaticKey | kTypeModifier_IncorporatesEpochKey,
  kType_AppRootKey = 0x00010000,
  kType_AppEpochKey = 0x00020000 | kTypeModifier_IncorporatesEpochKey,
  kType_AppGroupMasterKey = 0x00030000,
  kType_AppIntermediateKey = kType_AppRootKey | kTypeModifier_IncorporatesEpochKey,
  kNone = kType_None | 0x0000,
  kFabricSecret = kType_General | 0x0001,
  kFabricRootKey = kType_AppRootKey | (0 << kShift_RootKeyNumber),
  kClientRootKey = kType_AppRootKey | (1 << kShift_RootKeyNumber),
  kServiceRootKey = kType_AppRootKey | (2 << kShift_RootKeyNumber),
  kKeyNumber_Max = kMask_KeyNumber
}
enum
공개 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
2개의 키 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가 "current" 에포크 키를 사용하는지 확인합니다.

공개 유형

@52

 @52

공개 Weave 키 ID 필드, 플래그, 유형

속성
kClientRootKey

클라이언트 루트 키 ID

kFabricRootKey

Fabric 루트 키 ID

kFabricSecret

직물 보안 비밀 ID입니다.

kKeyNumber_Max

키 ID 하위 필드의 최댓값입니다.

kNone

위키(글로벌 키 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

세션 키 유형입니다.

공개 정적 함수

현재 앱 키 ID로 변환

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

애플리케이션 그룹 키 ID를 애플리케이션의 현재 키 ID로 변환합니다.

세부정보
매개변수
[in] keyId
애플리케이션 키 ID
반환
선택할 수 있습니다

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

애플리케이션 키 ID를 애플리케이션 정적 키 ID로 변환합니다.

세부정보
매개변수
[in] keyId
애플리케이션 키 ID
반환
애플리케이션 정적 키 ID입니다.

ExplainKey

const char * DescribeKey(
  uint32_t keyId
)

설명적인 문자열로 Weave 키 식별자를 디코딩합니다.

세부정보
매개변수
[in] keyId
디코딩할 설명 ID와 위 문자열을 사용하여 설명 문자열을 반환합니다.
반환
NULL로 끝나는 문자열에 대한 포인터로, 지정된 키 ID를 설명합니다.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 로컬 번호를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
애플리케이션 그룹 로컬 번호입니다.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 마스터 키 ID를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
애플리케이션 그룹 마스터 키 ID

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 에포크 키 ID를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
에포크 키 ID입니다.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 에포크 키 번호를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
에포크 키 번호입니다.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 루트 키 ID를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
루트 키 ID

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

지정된 애플리케이션 키를 파생하는 데 사용된 애플리케이션 그룹 루트 키 번호를 가져옵니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
루트 키 번호입니다.

GetType

uint32_t GetType(
  uint32_t keyId
)

지정된 키 ID의 Weave 키 유형을 가져옵니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
키 ID의 유형

InAppsAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

지정된 애플리케이션 그룹 키 ID에 그룹 마스터 키가 포함되어 있는지 확인합니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
keyId가 그룹 마스터 키를 통합하면 true입니다.

EpochKey 통합

bool IncorporatesEpochKey(
  uint32_t keyId
)

지정된 애플리케이션 그룹 키 ID에 에포크 키가 포함되어 있는지 확인합니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
keyId가 에포크 키를 통합하면 true입니다.

IncsRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

지정된 애플리케이션 그룹 키 ID에 루트 키가 포함되어 있는지 확인합니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
keyId가 루트 키를 통합하면 true입니다.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 에포크 키 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
애플리케이션 에포크 키 유형의 keyId인 경우 true입니다.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 그룹 키 유형 (정적 또는 순환) 중 하나에 속하는지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
keyId가 순환 또는 정적 키 유형인 경우 true입니다.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 그룹 마스터 키 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
애플리케이션 그룹 마스터 키 유형의 keyId인 경우 true입니다.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 루트 키 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
애플리케이션 루트 키 유형의 keyId인 경우 true입니다.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 순환 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
애플리케이션 회전 유형의 keyId인 경우 true입니다.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

지정된 키 ID가 애플리케이션 정적 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
애플리케이션 정적 유형의 keyId인 경우 true입니다.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

지정된 키 ID가 일반 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
keyId에 일반 유형이 있으면 true입니다.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

주어진 키 ID가 Weave 메시지 암호화에 적합한 키를 식별하는지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 ID
[in] allowLogicalKeys
논리 키 ID (예: "current" 순환 키)를 메시지 암호화에 적합한 상태로 간주해야 하는지 지정합니다.
반환
식별된 키를 사용하여 Weave 메시지를 암호화할 수 있는 경우 true입니다.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

2개의 키 ID가 동일한 키를 식별하는지 아니면 특정 에포크와 상관없이 동일한 키 그룹을 식별하는지 여부를 결정합니다.

세부정보
매개변수
[in] keyId1
테스트할 첫 번째 키 ID입니다.
[in] keyId2
테스트할 두 번째 키 ID입니다.
반환
키 ID가 같은 키를 나타내는 경우 true입니다.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

지정된 키 ID가 세션 유형인지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 식별자
반환
세션 유형의 keyId인 경우 true입니다.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

키 식별자에 유효한 (법적) 값이 있는지 확인합니다.

세부정보
매개변수
[in] keyId
위브 키 ID
반환
키 ID 값이 유효한 경우 true입니다.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

애플리케이션 그룹 로컬 번호가 지정된 애플리케이션 그룹 마스터 키 ID를 구성합니다.

세부정보
매개변수
[in] appGroupLocalNumber
애플리케이션 그룹 로컬 번호입니다.
반환
애플리케이션 그룹 마스터 키 ID

MakeAppIntermediateKeyId

uint32_t MakeAppIntermediateKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  bool useCurrentEpochKey
)

구성요소 키 ID가 부여된 애플리케이션 중간 키 ID를 구성합니다.

세부정보
매개변수
[in] rootKeyId
애플리케이션 중간 키를 파생하는 데 사용되는 루트 키 ID
[in] epochKeyId
애플리케이션 중간 키를 파생하는 데 사용되는 에포크 키 ID입니다.
[in] useCurrentEpochKey
키가 '현재' 에포크 키를 사용하여 파생되어야 하는지 여부를 나타내는 부울 플래그입니다.
반환
애플리케이션 중간 키 ID

MakeAppKeyId

uint32_t MakeAppKeyId(
  uint32_t keyType,
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

구성요소 키 ID와 기타 정보를 고려하여 애플리케이션 그룹 키 ID를 구성합니다.

세부정보
매개변수
[in] keyType
파생된 애플리케이션 그룹 키 유형입니다.
[in] rootKeyId
애플리케이션 그룹 키를 파생하는 데 사용되는 루트 키 ID
[in] epochKeyId
애플리케이션 그룹 키를 파생하는 데 사용되는 에포크 키 ID입니다.
[in] appGroupMasterKeyId
애플리케이션 그룹 키를 가져오는 데 사용되는 애플리케이션 그룹 마스터 키 ID
[in] useCurrentEpochKey
키가 '현재' 에포크 키를 사용하여 파생되어야 하는지 여부를 나타내는 부울 플래그입니다.
반환
애플리케이션 그룹 키 ID입니다.

MakeAppRotatingKeyId

uint32_t MakeAppRotatingKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

구성 키 ID 및 기타 정보가 제공되면 키 ID를 순환하는 애플리케이션을 생성합니다.

세부정보
매개변수
[in] rootKeyId
애플리케이션 회전 키를 파생하는 데 사용되는 루트 키 ID
[in] epochKeyId
애플리케이션 회전 키를 파생하는 데 사용되는 에포크 키 ID입니다.
[in] appGroupMasterKeyId
애플리케이션 회전 키를 파생하는 데 사용되는 애플리케이션 그룹 마스터 키 ID입니다.
[in] useCurrentEpochKey
키가 '현재' 에포크 키를 사용하여 파생되어야 하는지 여부를 나타내는 부울 플래그입니다.
반환
키 ID를 순환시킵니다.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

구성요소 키 ID가 주어지면 애플리케이션 정적 키 ID를 구성합니다.

세부정보
매개변수
[in] rootKeyId
애플리케이션 정적 키를 파생하는 데 사용되는 루트 키 ID
[in] appGroupMasterKeyId
애플리케이션 정적 키를 파생하는 데 사용되는 애플리케이션 그룹 마스터 키 ID
반환
애플리케이션 정적 키 ID입니다.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

에포크 키 번호가 부여된 애플리케이션 그룹 루트 키 ID를 구성합니다.

세부정보
매개변수
[in] epochKeyNumber
에포크 키 번호입니다.
반환
에포크 키 ID입니다.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

일반 키 번호가 부여된 일반 키 ID를 생성합니다.

세부정보
매개변수
[in] generalKeyNumber
일반 키 번호입니다.
반환
일반 키 ID

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

루트 키 번호가 부여된 애플리케이션 그룹 루트 키 ID를 구성합니다.

세부정보
매개변수
[in] rootKeyNumber
루트 키 번호
반환
루트 키 ID

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

세션 키 번호가 지정된 세션 키 ID를 구성합니다.

세부정보
매개변수
[in] sessionKeyNumber
세션 키 번호입니다.
반환
세션 키 ID입니다.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

새 에포크 키 번호로 애플리케이션 그룹 키 ID를 업데이트하세요.

세부정보
매개변수
[in] keyId
애플리케이션 키 ID
[in] epochKeyId
업데이트된 애플리케이션 키 ID를 생성하는 데 사용될 에포크 키 ID입니다.
반환
애플리케이션 키 ID입니다.

CurrentEpochKey 사용

bool UsesCurrentEpochKey(
  uint32_t keyId
)

지정된 애플리케이션 그룹 키 ID가 "current" 에포크 키를 사용하는지 확인합니다.

세부정보
매개변수
[in] keyId
WeaveGroup 그룹 키 식별자입니다.
반환
keyId가 현재 에포크 키의 사용을 나타내는 경우 true입니다.