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

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

Mengimplementasikan 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 merupakan callback aplikasi yang dipanggil pada peristiwa Certificate Provisioning Engine 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 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
Mengambil jenis permintaan saat ini.
GetState(void) const
Ambil status saat ini dari objek WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Lakukan inisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirim pesan permintaan sertifikat.
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
Matikan objek WeaveCertProvEngine yang diinisialisasi sebelumnya.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
{i>Start Certificate Provisioning Protocol<i}.

Struct

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

Parameter input ke peristiwa Weave Certificate Provisioning API.

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

Parameter output ke peristiwa Weave Certificate Provisioning 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 untuk memutar sertifikat operasional saat ini.

EventCallback

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

Fungsi ini merupakan callback aplikasi yang dipanggil pada peristiwa Certificate Provisioning Engine 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.

EventType

 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 siap.

kState_RequestInProgress

Pesan GetCertificateRequest telah dikirim dan objek mesin sedang 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
)

Buat pesan GetCertificateRequest.

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

Saat membentuk 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
Tanda boolean yang menunjukkan apakah permintaan harus menyertakan data pengesahan produsen.
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 

Mengambil jenis permintaan saat ini.

GetState

State GetState(
  void
) const 

Ambil status saat ini dari objek WeaveCertProvEngine.

Init

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

Lakukan inisialisasi objek WeaveCertProvEngine sebagai persiapan untuk mengirim pesan permintaan sertifikat.

Detail
Parameter
[in] binding
Objek Binding yang akan digunakan untuk membangun komunikasi 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 mengirim peristiwa API ke aplikasi.
[in] appState
Pointer ke objek yang ditetapkan 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 TLV Weave.

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

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

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 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
)

Matikan objek WeaveCertProvEngine yang diinisialisasi sebelumnya.

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

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Mulai Certificate Provisioning Protocol.

Metode ini 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 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 diproses akan diabaikan.

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)