Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: Bảo vệ:: AppKeys :: GroupKeyStoreBase

Đây là một lớp trừu tượng.

#include <src/lib/profiles/security/WeaveApplicationKeys.h>

Định nghĩa của lớp cửa hàng khóa nhóm Weave.

Tóm lược

Các hàm trong lớp này được gọi để quản lý các khóa nhóm ứng dụng.

Di sản

Các lớp con đã biết trực tiếp:
  nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
  nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
  nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
  nl :: Weave :: Profiles :: Security :: AppKeys :: DummyGroupKeyStore

Thuộc tính được bảo vệ

LastUsedEpochKeyId
uint32_t
NextEpochKeyStartTime
uint32_t

Chức năng công cộng

Clear (void)=0
virtual WEAVE_ERROR
DeleteGroupKey (uint32_t keyId)=0
virtual WEAVE_ERROR
DeleteGroupKeysOfAType (uint32_t keyType)=0
virtual WEAVE_ERROR
DeriveApplicationKey (uint32_t & appKeyId, const uint8_t *keySalt, uint8_t saltLen, const uint8_t *keyDiversifier, uint8_t diversifierLen, uint8_t *appKey, uint8_t keyBufSize, uint8_t keyLen, uint32_t & appGroupGlobalId)
Xuất phát từ khóa ứng dụng.
EnumerateGroupKeys (uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
virtual WEAVE_ERROR
GetCurrentAppKeyId (uint32_t keyId, uint32_t & curKeyId)
Trả về ID khóa hiện tại.
GetCurrentUTCTime (uint32_t & utcTime)
virtual WEAVE_ERROR
Nhận thời gian UTC của nền tảng hiện tại chỉ trong vài giây.
GetGroupKey (uint32_t keyId, WeaveGroupKey & groupKey)
Nhận khóa nhóm ứng dụng.
RetrieveGroupKey (uint32_t keyId, WeaveGroupKey & key)=0
virtual WEAVE_ERROR
StoreGroupKey (const WeaveGroupKey & key)=0
virtual WEAVE_ERROR

Các chức năng được bảo vệ

Init (void)
void
Khởi tạo thông số lưu trữ khóa nhóm cục bộ.
OnEpochKeysChange (void)
void
Trả về ID khóa hiện tại.
RetrieveLastUsedEpochKeyId (void)=0
virtual WEAVE_ERROR
StoreLastUsedEpochKeyId (void)=0
virtual WEAVE_ERROR

Thuộc tính được bảo vệ

LastUsedEpochKeyId

uint32_t LastUsedEpochKeyId

NextEpochKeyStartTime

uint32_t NextEpochKeyStartTime

Chức năng công cộng

Thông thoáng

virtual WEAVE_ERROR Clear(
  void
)=0

DeleteGroupKey

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

DeleteGroupKeysOfAType

virtual WEAVE_ERROR DeleteGroupKeysOfAType(
  uint32_t keyType
)=0

DeriveApplicationKey

WEAVE_ERROR DeriveApplicationKey(
  uint32_t & appKeyId,
  const uint8_t *keySalt,
  uint8_t saltLen,
  const uint8_t *keyDiversifier,
  uint8_t diversifierLen,
  uint8_t *appKey,
  uint8_t keyBufSize,
  uint8_t keyLen,
  uint32_t & appGroupGlobalId
)

Xuất phát từ khóa ứng dụng.

Ba loại phím ứng dụng được hỗ trợ: phím ứng dụng hiện tại, phím ứng dụng xoay và phím ứng dụng tĩnh. Khi khóa ứng dụng hiện tại được yêu cầu, chức năng sẽ tìm và sử dụng khóa kỷ nguyên hiện tại dựa trên thời gian hệ thống hiện tại và thông số thời gian bắt đầu của mỗi khóa kỷ nguyên.

Chi tiết
Thông số
[in,out] keyId
Tham chiếu đến ID khóa được yêu cầu. Khi khóa ứng dụng hiện tại được yêu cầu, trường này được cập nhật để phản ánh loại mới (khóa ứng dụng xoay) và ID khóa kỷ nguyên thực tế đã được sử dụng để tạo khóa ứng dụng.
[in] keySalt
Một con trỏ tới bộ đệm có giá trị muối khóa ứng dụng.
[in] saltLen
Độ dài của muối khóa ứng dụng.
[in] keyDiversifier
Một con trỏ tới một bộ đệm có giá trị bộ phân hóa khóa ứng dụng.
[in] diversifierLen
Độ dài của khóa ứng dụng.
[out] appKey
Một con trỏ đến bộ đệm nơi khóa dẫn xuất sẽ được ghi.
[in] keyBufSize
Độ dài của bộ đệm phím được cung cấp.
[in] keyLen
Chiều dài của vật liệu chính được yêu cầu.
[out] appGroupGlobalId
ID chung của nhóm ứng dụng của khóa được liên kết.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu kích thước bộ đệm phím được cung cấp không đủ.
WEAVE_ERROR_INVALID_KEY_ID
Nếu khóa được yêu cầu có ID khóa không hợp lệ.
WEAVE_ERROR_INVALID_ARGUMENT
Nếu kho khóa nền tảng trả về các thông số khóa không hợp lệ hoặc từ định danh khóa có giá trị không hợp lệ.
other
Các lỗi khác dành riêng cho nền tảng do API cửa hàng khóa nền tảng trả về.

EnumerateGroupKeys

virtual WEAVE_ERROR EnumerateGroupKeys(
  uint32_t keyType,
  uint32_t *keyIds,
  uint8_t keyIdsArraySize,
  uint8_t & keyCount
)=0

GetCurrentAppKeyId

WEAVE_ERROR GetCurrentAppKeyId(
  uint32_t keyId,
  uint32_t & curKeyId
)

Trả về ID khóa hiện tại.

Tìm khóa kỷ nguyên hiện tại dựa trên thời gian hệ thống hiện tại và tham số thời gian bắt đầu của từng khóa kỷ nguyên. Nếu hệ thống không có thời gian chính xác, hợp lệ thì ID khóa kỷ nguyên sử dụng gần đây nhất sẽ được trả về.

Chi tiết
Thông số
[in] keyId
ID khóa ứng dụng.
[out] curKeyId
ID khóa hiện tại của ứng dụng.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
WEAVE_ERROR_INVALID_KEY_ID
Nếu ID khóa đầu vào có giá trị không hợp lệ.
WEAVE_ERROR_KEY_NOT_FOUND
Nếu không tìm thấy khóa kỷ nguyên trong kho khóa nền tảng.
other
Các lỗi khác dành riêng cho nền tảng do API cửa hàng khóa nền tảng trả về.

GetCurrentUTCTime

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

Nhận thời gian UTC của nền tảng hiện tại chỉ trong vài giây.

Chi tiết
Thông số
[out] utcTime
Tham chiếu đến giá trị thời gian.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Nếu nền tảng không hỗ trợ đồng hồ thời gian thực.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Nếu đồng hồ thời gian thực của hệ thống không được đồng bộ với nguồn thời gian chính xác.
other
Các mã lỗi dệt hoặc nền tảng khác.

GetGroupKey

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

Nhận khóa nhóm ứng dụng.

Chức năng này dẫn xuất hoặc truy xuất các khóa nhóm ứng dụng. Các loại khóa được chức năng này hỗ trợ là: khóa bí mật, khóa gốc, khóa kỷ nguyên, khóa chính nhóm và khóa trung gian.

Chi tiết
Thông số
[in] keyId
ID khóa nhóm.
[out] groupKey
Tham chiếu đến đối tượng khóa nhóm.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
WEAVE_ERROR_INVALID_KEY_ID
Nếu khóa được yêu cầu có ID khóa không hợp lệ.
WEAVE_ERROR_INVALID_ARGUMENT
Nếu kho khóa nền tảng trả về các thông số khóa không hợp lệ.
other
Các lỗi khác dành riêng cho nền tảng do API cửa hàng khóa nền tảng trả về.

RetrieveGroupKey

virtual WEAVE_ERROR RetrieveGroupKey(
  uint32_t keyId,
  WeaveGroupKey & key
)=0

StoreGroupKey

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

Các chức năng được bảo vệ

Trong đó

void Init(
  void
)

Khởi tạo thông số lưu trữ khóa nhóm cục bộ.

OnEpochKeysChange

void OnEpochKeysChange(
  void
)

Trả về ID khóa hiện tại.

Đặt các biến thành viên được liên kết với khóa kỷ nguyên thành giá trị mặc định khi có bất kỳ thay đổi nào (xóa hoặc lưu trữ) xảy ra với tập hợp khóa kỷ nguyên ứng dụng. Lớp con có trách nhiệm triển khai các hàm StoreGroupKey (), DeleteGroupKey () và DeleteGroupKeysOfAType () để gọi phương thức này.

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0