nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine

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

Menerapkan logika inti objek protokol Penyediaan Sertifikat Weave.

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 API Penyediaan Sertifikat.
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 pertukaran GetCertificate yang sedang berlangsung.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Membuat 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
Mengambil jenis permintaan saat ini.
GetState(void) const
Ambil status objek WeaveCertProvEngine saat ini.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Lakukan inisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirim pesan permintaan get certificate.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Memproses pesan GetCertificateResponse.
SetBinding(Binding *binding)
void
Menetapkan objek binding pada 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
Menonaktifkan objek WeaveCertProvEngine yang sebelumnya diinisialisasi.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Mulai Protokol Penyediaan Sertifikat.

Struct

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

Parameter input ke peristiwa Weave Certificate Penyediaan API.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

Parameter output ke peristiwa Weave Certificate Penyediaan API.

Jenis publik

@246

 @246
Properti
kReqType_GetInitialOpDeviceCert

Jenis permintaan Get Certificate adalah untuk mendapatkan sertifikat operasional awal.

kReqType_RotateOpDeviceCert

Jenis permintaan Get Certificate adalah merotasi sertifikat operasional saat ini.

EventCallback

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

Fungsi ini adalah callback aplikasi yang dipanggil pada peristiwa API Penyediaan Sertifikat.

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.

EventType

 EventType
Properti
kEvent_CommunicationError

Error komunikasi terjadi saat mengirim GetCertificateRequest atau menunggu respons.

kEvent_PrepareAuthorizeInfo

Aplikasi diminta untuk mempersiapkan 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 siap.

kState_RequestInProgress

Pesan GetCertificateRequest telah dikirim dan objek mesin menunggu respons.

Atribut publik

AppState

void * AppState

Pointer ke data khusus aplikasi.

Fungsi publik

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Menghentikan pertukaran GetCertificate yang sedang berlangsung.

GenerateGetCertificateRequest

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

Membuat pesan GetCertificateRequest.

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

Saat membentuk pesan GetCertificateRequest, metode tersebut 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
Tanda boolean yang menunjukkan apakah permintaan harus menyertakan data pengesahan produsen.
Nilai Pengembalian
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 

Mengambil jenis permintaan saat ini.

GetState

State GetState(
  void
) const 

Ambil status objek WeaveCertProvEngine saat ini.

Inisiasi

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

Lakukan inisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirim pesan permintaan get certificate.

Detail
Parameter
[in] binding
Objek Binding yang akan digunakan untuk berkomunikasi dengan node peer.
[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 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 didefinisikan aplikasi yang akan diteruskan kembali ke aplikasi setiap kali peristiwa API terjadi.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Memproses pesan GetCertificateResponse.

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

Ketika pemrosesan pesan GetCertificateResponse berhasil selesai, metode tersebut akan melakukan panggilan ke aplikasi, melalui peristiwa ResponseReceived API, untuk mengirimkan hasilnya.

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

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

SetBinding

void SetBinding(
  Binding *binding
)

Menetapkan objek binding pada 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
)

Menonaktifkan objek WeaveCertProvEngine yang sebelumnya diinisialisasi.

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

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Mulai Protokol Penyediaan Sertifikat.

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

Jika objek Binding tidak dalam status Siap 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 sebelumnya yang sedang dalam proses akan diabaikan.

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)