Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Tenun::Profil::Keamanan::Penyediaan Sertifikat::WeaveCertProvEngine

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

Mengimplementasikan logika inti objek protokol Weave Certificate Provisioning.

Ringkasan

Konstruktor dan Destruktor

WeaveCertProvEngine(void)

Jenis publik

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil pada peristiwa Certificate Provisioning Engine API API.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
enum
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
enum

Atribut publik

AppState
void *
Pointer ke data khusus aplikasi.

Fungsi publik

AbortCertificateProvisioning(void)
void
Menghentikan setiap pertukaran GetCertificate yang sedang berlangsung.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Buat pesan GetCertificateRequest.
GetBinding(void) const
Menampilkan pointer ke objek Binding yang terkait dengan WeaveCertProvEngine.
GetEventCallback(void) const
Menampilkan pointer ke fungsi callback peristiwa API yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Menampilkan pointer ke objek delegasi pengesahan produsen yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Menampilkan pointer ke objek delegasi autentikasi operasional yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Ambil jenis permintaan saat ini.
GetState(void) const
Mengambil status objek WeaveCertProvEngine saat ini.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Menginisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirimkan pesan permintaan sertifikat.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Proses pesan GetCertificateResponse.
SetBinding(Binding *binding)
void
Menetapkan objek binding di objek WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Menetapkan fungsi callback peristiwa API pada objek WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Menetapkan objek delegasi pengesahan produsen pada objek WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Menetapkan objek delegasi autentikasi operasional pada objek WeaveCertProvEngine.
Shutdown(void)
void
Mematikan objek WeaveCertProvEngine yang sebelumnya diinisialisasi.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Mulai Protokol Penyediaan Sertifikat.

Struct

nl::Weave::Profiles::Keamanan:CertProvisioning::WeaveCertProvEngine::InEventParam

Parameter input untuk peristiwa Weave Certificate Provisioning API.

nl::Weave::Profiles::Keamanan:CertProvisioning::WeaveCertProvEngine::OutEventParam

Parameter output untuk peristiwa Weave Certificate Provisioning API.

Jenis publik

@246

 @246
Properti
kReqType_GetInitialOpDeviceCert

Jenis permintaan Dapatkan Sertifikat adalah untuk mendapatkan sertifikat operasional awal.

kReqType_RotateOpDeviceCert

Jenis permintaan Dapatkan Sertifikat adalah untuk merotasi sertifikat operasional saat ini.

CallbackCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

Fungsi ini adalah callback aplikasi yang dipanggil pada peristiwa Certificate Provisioning Engine API API.

Detail
Parameter
[in] appState
Pointer ke informasi status yang ditentukan aplikasi yang terkait dengan objek mesin.
[in] eventType
ID Peristiwa yang diteruskan oleh callback peristiwa.
[in] inParam
Referensi parameter peristiwa input yang diteruskan oleh callback peristiwa.
[in] outParam
Referensi parameter peristiwa output yang diteruskan oleh callback peristiwa.

Jenis Peristiwa

 EventType
Properti
kEvent_CommunicationError

Terjadi error komunikasi saat mengirim GetCertificateRequest atau menunggu respons.

kEvent_PrepareAuthorizeInfo

Aplikasi diminta untuk menyiapkan payload untuk GetCertificateRequest.

kEvent_ResponseReceived

Pesan GetCertificateResponse diterima dari peer.

Negara bagian

 State
Properti
kState_Idle

Objek mesin tidak ada aktivitas.

kState_NotInitialized

Objek mesin tidak diinisialisasi.

kState_PreparingBinding

Objek mesin menunggu binding untuk siap.

kState_RequestInProgress

Pesan GetCertificateRequest telah dikirim dan objek mesin menunggu respons.

Atribut publik

StatusAplikasi

void * AppState

Pointer ke data khusus aplikasi.

Fungsi publik

Penyediaan Sertifikat

void AbortCertificateProvisioning(
  void
)

Menghentikan setiap pertukaran GetCertificate yang sedang berlangsung.

HasilkanGetCertificateRequest

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

Buat pesan GetCertificateRequest.

Metode ini membuat struktur GetCertificateRequest Weave yang dienkode dalam format TLV Weave.

Saat membuat pesan GetCertificateRequest, metode ini membuat permintaan ke aplikasi, melalui fungsi WeaveNodeOpAuthDelegate dan WeaveNodeMfrAttestDelegate serta peristiwa PrepareAuthorizeInfo API, untuk menyiapkan payload pesan.

Detail
Parameter
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan GetCertificateRequest.
[in] reqType
Mendapatkan jenis permintaan sertifikat.
[in] doMfrAttest
Flag boolean yang menunjukkan apakah permintaan harus menyertakan data pengesahan produsen atau tidak.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika GetCertificateRequest berhasil dibuat.

GetBinding

Binding * GetBinding(
  void
) const 

Menampilkan pointer ke objek Binding yang terkait dengan WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Menampilkan pointer ke fungsi callback peristiwa API yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Menampilkan pointer ke objek delegasi pengesahan produsen yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Menampilkan pointer ke objek delegasi autentikasi operasional yang saat ini dikonfigurasi pada objek WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

Ambil jenis permintaan saat ini.

GetState

State GetState(
  void
) const 

Mengambil status objek WeaveCertProvEngine saat ini.

Init

WEAVE_ERROR Init(
  Binding *binding,
  WeaveNodeOpAuthDelegate *opAuthDelegate,
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate,
  EventCallback eventCallback,
  void *appState
)

Menginisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirimkan pesan permintaan sertifikat.

Detail
Parameter
[in] binding
Objek Binding yang akan digunakan untuk melakukan komunikasi dengan node pembanding.
[in] opAuthDelegate
Pointer ke objek delegasi autentikasi operasional yang akan digunakan untuk membuat dan menandatangani menggunakan kredensial operasi node.
[in] mfrAttestDelegate
Pointer ke objek delegasi pengesahan produsen yang akan digunakan untuk membuat dan menandatangani permintaan menggunakan kredensial yang disediakan oleh produsen node.
[in] eventCallback
Pointer ke fungsi yang akan dipanggil oleh objek WeaveCertProvEngine untuk mengirimkan peristiwa API ke aplikasi.
[in] appState
Pointer ke objek yang ditentukan aplikasi yang akan diteruskan kembali ke aplikasi setiap kali peristiwa API terjadi.

ProsesGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Proses pesan GetCertificateResponse.

Metode ini memproses struktur GetCertificateResponse yang dienkode dalam format TLV Weave.

Saat pemrosesan pesan GetCertificateResponse berhasil diselesaikan, metode ini akan membuat panggilan ke aplikasi, melalui peristiwa ResponseReceived API, untuk memberikan hasilnya.

Jika pemrosesan pesan GetCertificateResponse gagal, metode akan membuat panggilan ke aplikasi, melalui peristiwa CommunicationError API, untuk melaporkan error tersebut.

Detail
Parameter
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan GetCertificateResponse.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika pesan GetCertificateResponse berhasil diproses.

SetBinding

void SetBinding(
  Binding *binding
)

Menetapkan objek binding di objek WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Menetapkan fungsi callback peristiwa API pada objek WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Menetapkan objek delegasi pengesahan produsen pada objek WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Menetapkan objek delegasi autentikasi operasional pada objek WeaveCertProvEngine.

Nonaktif

void Shutdown(
  void
)

Mematikan objek WeaveCertProvEngine yang sebelumnya diinisialisasi.

Perhatikan bahwa metode ini hanya dapat dipanggil jika metode Init() telah dipanggil sebelumnya.

Penyediaan Sertifikat

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Mulai Protokol Penyediaan Sertifikat.

Metode ini akan memulai proses pengiriman pesan GetCertificateRequest ke layanan CA. Jika dan saat pesan GetCertificateResponse yang sesuai diterima, pesan tersebut akan dikirim ke aplikasi melalui peristiwa ResponseReceived API.

Jika objek Binding tidak memiliki status Siap Pakai saat metode ini dipanggil, permintaan akan dibuat ke metode Binding::RequestPrepare() untuk memulai persiapan on-demand. Operasi permintaan akan menunggu hingga proses ini selesai. Setiap panggilan ke StartCertificateProvisioning() saat ada permintaan dalam proses akan diabaikan.

Detail
Parameter
[in] reqType
Mendapatkan jenis permintaan sertifikat.
[in] doMfrAttest
Flag boolean yang menunjukkan apakah protokol harus menyertakan data pengesahan produsen.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika StartCertificateProvisioning() berhasil diproses.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)