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

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

Weave Sertifika Temel Hazırlık protokol nesnesinin temel mantığını uygular.

Özet

Oluşturucular ve Yıkıcılar

WeaveCertProvEngine(void)

Herkese açık türler

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Bu işlev, Sertifika Temel Hazırlık Motoru API'sı etkinliklerinde çağrılan uygulama geri çağırmasıdır.
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

Herkese açık özellikler

AppState
void *
Uygulamaya özel verilere işaret eden bir işaretçi.

Kamu işlevleri

AbortCertificateProvisioning(void)
void
Devam eden GetCertificate değişimlerini durdurur.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
GetCertificateRequest mesajı oluşturun.
GetBinding(void) const
WeaveCertProvEngine ile ilişkilendirilmiş Binding nesnesine bir işaretçi döndürür.
GetEventCallback(void) const
Halihazırda WeaveCertProvEngine nesnesinde yapılandırılmış API etkinliği geri çağırma işlevine bir işaretçi döndürür.
GetMfrAttestDelegate(void) const
Hâlihazırda WeaveCertProvEngine nesnesinde yapılandırılmış olan üretici onayı yetki nesnesine bir işaretçi döndürür.
GetOpAuthDelegate(void) const
Halihazırda WeaveCertProvEngine nesnesinde yapılandırılmış olan operasyonel kimlik doğrulama yetki nesnesine bir işaretçi döndürür.
GetReqType(void) const
uint8_t
Geçerli istek türünü alın.
GetState(void) const
WeaveCertProvEngine nesnesinin geçerli durumunu alın.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Sertifika isteği mesajı göndermeye hazırlanmak için bir WeaveCertProvEngine nesnesini başlatın.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
GetCertificateResponse mesajını işleyin.
SetBinding(Binding *binding)
void
Bağlama nesnesini WeaveCertProvEngine nesnesinde ayarlar.
SetEventCallback(EventCallback eventCallback)
void
WeaveCertProvEngine nesnesinde API etkinliği geri çağırma işlevini ayarlar.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
WeaveCertProvEngine nesnesinde üretici onayı yetki nesnesini ayarlar.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
WeaveCertProvEngine nesnesinde operasyonel kimlik doğrulama yetki nesnesini ayarlar.
Shutdown(void)
void
Daha önce başlatılmış bir WeaveCertProvEngine nesnesini kapatın.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Sertifika Temel Hazırlık Protokolü'nü başlatın.

Yapılar

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

Weave Certificate Temel Hazırlık API'sı etkinliğine giriş parametreleri.

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

Weave Certificate Temel Hazırlık API'sı etkinliğine çıkış parametreleri.

Herkese açık türler

@246

 @246
Özellikler
kReqType_GetInitialOpDeviceCert

Sertifika Alma istek türü, ilk işlem sertifikası almaktır.

kReqType_RotateOpDeviceCert

Sertifika Alma istek türü, mevcut işlem sertifikasına rotasyon uygulamaktır.

EventCallback

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

Bu işlev, Sertifika Temel Hazırlık Motoru API'sı etkinliklerinde çağrılan uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] appState
Motor nesnesiyle ilişkili uygulama tanımlı durum bilgisine işaret eden bir işaretçi.
[in] eventType
Etkinlik geri çağırması tarafından iletilen etkinlik kimliği.
[in] inParam
Etkinlik geri çağırması tarafından iletilen giriş etkinliği parametreleri referansı.
[in] outParam
Etkinlik geri çağırması tarafından iletilen çıkış etkinliği parametrelerine ilişkin referans.

EventType

 EventType
Özellikler
kEvent_CommunicationError

GetCertificateRequest gönderilirken veya yanıt beklenirken iletişim hatası oluştu.

kEvent_PrepareAuthorizeInfo

Uygulamadan, yükü GetCertificateRequest için hazırlaması istenir.

kEvent_ResponseReceived

Eşten bir GetCertificateResponse mesajı alındı.

Eyalet

 State
Özellikler
kState_Idle

Motor nesnesi boşta.

kState_NotInitialized

Motor nesnesi başlatılmadı.

kState_PreparingBinding

Motor nesnesi, bağlamanın hazır olmasını bekliyor.

kState_RequestInProgress

Bir GetCertificateRequest iletisi gönderildi ve motor nesnesi bir yanıt bekliyor.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel verilere işaret eden bir işaretçi.

Kamu işlevleri

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Devam eden GetCertificate değişimlerini durdurur.

GenerateGetCertificateRequest

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

GetCertificateRequest mesajı oluşturun.

Bu yöntem, Weave TLV biçiminde kodlanmış Weave GetCertificateRequest yapısını oluşturur.

Yöntem, GetCertificateRequest mesajını oluştururken mesajın yükünü hazırlamak için WeaveNodeOpAuthDelegate, WeaveNodeMfrAttestDelegate işlevleri ve PrepareAuthorizeInfo API etkinliği aracılığıyla uygulamaya bir istek gönderir.

Ayrıntılar
Parametreler
[in] msgBuf
GetCertificateRequest mesajını içeren PacketBuffer nesnesine işaret eden işaretçi.
[in] reqType
Sertifika isteği türünü alın.
[in] doMfrAttest
İsteğin üretici onay verilerini içerip içermediğini gösteren bir boole flag'i.
Döndürülen Değerler
WEAVE_NO_ERROR
GetCertificateRequest başarıyla oluşturulduysa

GetBinding

Binding * GetBinding(
  void
) const 

WeaveCertProvEngine ile ilişkilendirilmiş Binding nesnesine bir işaretçi döndürür.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Halihazırda WeaveCertProvEngine nesnesinde yapılandırılmış API etkinliği geri çağırma işlevine bir işaretçi döndürür.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Hâlihazırda WeaveCertProvEngine nesnesinde yapılandırılmış olan üretici onayı yetki nesnesine bir işaretçi döndürür.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Halihazırda WeaveCertProvEngine nesnesinde yapılandırılmış olan operasyonel kimlik doğrulama yetki nesnesine bir işaretçi döndürür.

GetReqType

uint8_t GetReqType(
  void
) const 

Geçerli istek türünü alın.

GetState

State GetState(
  void
) const 

WeaveCertProvEngine nesnesinin geçerli durumunu alın.

Başlat

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

Sertifika isteği mesajı göndermeye hazırlanmak için bir WeaveCertProvEngine nesnesini başlatın.

Ayrıntılar
Parametreler
[in] binding
Eş düğümle iletişim kurmak için kullanılacak Binding nesnesi.
[in] opAuthDelegate
Düğümün işlem kimlik bilgilerini kullanarak oluşturmak ve imzalamak için kullanılacak operasyonel kimlik doğrulama temsilci nesnesinin işaretçisi.
[in] mfrAttestDelegate
Düğümün üretici tarafından sağlanan kimlik bilgilerini kullanarak istek oluşturmak ve imzalamak için kullanılacak bir üretici onay temsilci nesnesine işaret eden.
[in] eventCallback
API etkinliklerini uygulamaya göndermek için WeaveCertProvEngine nesnesi tarafından çağrılacak bir işlevin işaretçisi.
[in] appState
Bir API etkinliği meydana geldiğinde uygulamaya geri iletilecek, uygulama tanımlı bir nesneye yönelik işaretçi.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

GetCertificateResponse mesajını işleyin.

Bu yöntem, Weave TLV biçiminde kodlanmış Weave GetCertificateResponse yapısını işler.

GetCertificateResponse mesajı başarıyla işlendiğinde, yöntem sonucu teslim etmek için ResponseReceived API etkinliği üzerinden uygulamaya bir çağrıda bulunur.

GetCertificateResponse mesajının işlenmesi başarısız olursa yöntem, hatayı bildirmek için CommunicationError API etkinliği aracılığıyla uygulamaya bir çağrı yapar.

Ayrıntılar
Parametreler
[in] msgBuf
GetCertificateResponse mesajını içeren PacketBuffer nesnesine yönelik işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
GetCertificateResponse mesajı başarıyla işlenip işlenmediğini.

SetBinding

void SetBinding(
  Binding *binding
)

Bağlama nesnesini WeaveCertProvEngine nesnesinde ayarlar.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

WeaveCertProvEngine nesnesinde API etkinliği geri çağırma işlevini ayarlar.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

WeaveCertProvEngine nesnesinde üretici onayı yetki nesnesini ayarlar.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

WeaveCertProvEngine nesnesinde operasyonel kimlik doğrulama yetki nesnesini ayarlar.

Kapat

void Shutdown(
  void
)

Daha önce başlatılmış bir WeaveCertProvEngine nesnesini kapatın.

Bu yöntemin yalnızca Init() yöntemi daha önce çağrıldıysa çağrılabileceğini unutmayın.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Sertifika Temel Hazırlık Protokolü'nü başlatın.

Bu yöntem, CA hizmetine GetCertificateRequest mesajı gönderme işlemini başlatır. İlgili bir GetCertificateResponse mesajı alınırsa, bu mesaj ResponseReceived API etkinliği aracılığıyla uygulamaya teslim edilir.

Bu yöntem çağrıldığında Binding nesnesi Hazır durumda değilse isteğe bağlı hazırlığı başlatmak için Binding::RequestPrepare() yöntemine istek gönderilir. Bu durumda istek işlemi, işlemin tamamlanmasını bekler. İşlenmekte olan önceki bir istek varken yapılan tüm StartCertificateProvisioning() çağrıları yoksayılır.

Ayrıntılar
Parametreler
[in] reqType
Sertifika isteği türünü alın.
[in] doMfrAttest
Protokolün üretici onay verilerini içerip içermeyeceğini belirten bir boole flag'i.
Döndürülen Değerler
WEAVE_NO_ERROR
StartCertificateProvisioning() başarıyla işlenip işlenmediğini.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)