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{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
Fungsi ini adalah callback aplikasi yang dipanggil pada peristiwa Certificate Provisioning Engine API API. |
EventType{
|
enum |
State{
|
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
|
Binding *
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:: |
Parameter input untuk peristiwa Weave Certificate Provisioning API. |
nl:: |
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 |
|
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 |
|
||||||
Nilai yang Ditampilkan |
|
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.
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 |
|
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 |
|
||
Nilai yang Ditampilkan |
|
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 |
|
||||
Nilai yang Ditampilkan |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )