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

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

Weave Certificate 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'si etkinliklerinde çağrılan bir 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 veriler için bir işaretçi.

Herkese açık işlevler

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şkili Binding nesnesine bir işaretçi döndürür.
GetEventCallback(void) const
WeaveCertProvEngine nesnesinde yapılandırılmış olan API etkinlik geri çağırma işlevine bir işaretçi döndürür.
GetMfrAttestDelegate(void) const
Şu anda WeaveCertProvEngine nesnesinde yapılandırılmış olan üretici onay temsilci nesnesine bir işaretçi döndürür.
GetOpAuthDelegate(void) const
Şu anda WeaveCertProvEngine nesnesinde yapılandırılmış olan operasyonel kimlik doğrulama yetkili 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 al isteği mesajı göndermeye hazırlanırken bir WeaveCertProvEngine nesnesini başlatın.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
GetCertificateResponse mesajını işleyin.
SetBinding(Binding *binding)
void
WeaveCertProvEngine nesnesindeki bağlama nesnesini 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 nesnesindeki operasyonel kimlik doğrulama yetkili nesnesini ayarlar.
Shutdown(void)
void
Önceden 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 Al isteği türü, ilk operasyonel sertifikanızı almaktır.

kReqType_RotateOpDeviceCert

Sertifika Al istek türü, mevcut operasyonel sertifikaya 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'si etkinliklerinde çağrılan bir uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] appState
Motor nesnesiyle ilişkili uygulama tanımlı durum bilgilerine yönlendiren 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 parametrelerinin referansı.
[in] outParam
Etkinlik geri çağırması tarafından iletilen çıkış etkinliği parametrelerinin referansı.

EventType

 EventType
Özellikler
kEvent_CommunicationError

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

kEvent_PrepareAuthorizeInfo

Uygulamanın GetCertificateRequest için yükü 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 mesajı gönderildi ve motor nesnesi yanıt bekliyor.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel veriler için bir işaretçi.

Herkese açık işlevler

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 ve 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 PaketetBuffer nesnesinin işaretçisi.
[in] reqType
Sertifika isteği türünü alma.
[in] doMfrAttest
İsteğin üretici onay verilerini içerip içermediğini gösteren boole işareti.
Değerleri Döndür
WEAVE_NO_ERROR
GetCertificateRequest başarıyla oluşturulduysa.

GetBinding

Binding * GetBinding(
  void
) const 

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

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

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

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Şu anda WeaveCertProvEngine nesnesinde yapılandırılmış olan üretici onay temsilci nesnesine bir işaretçi döndürür.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Şu anda WeaveCertProvEngine nesnesinde yapılandırılmış olan operasyonel kimlik doğrulama yetkili 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.

Init

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

Sertifika al isteği mesajı göndermeye hazırlanırken bir WeaveCertProvEngine nesnesini başlatın.

Ayrıntılar
Parametreler
[in] binding
Eş düğümle iletişim kurmak için kullanılacak Bağlama nesnesi.
[in] opAuthDelegate
Düğümün operasyonel kimlik bilgilerini kullanarak oluşturmak ve imzalamak için kullanılacak, operasyonel kimlik doğrulama temsilci nesnesine işaret eden bir işaret.
[in] mfrAttestDelegate
Düğümün üretici tarafından sağlanan kimlik bilgilerini kullanarak istek oluşturmak ve imzalamak için kullanılacak, üretici onay yetkili nesnesine işaret eden bir işaret.
[in] eventCallback
API etkinliklerini uygulamaya yayınlamak için WeaveCertProvEngine nesnesi tarafından çağrılacak bir işlevin işaretçisi.
[in] appState
Bir API etkinliği gerçekleştiğinde uygulamaya geri aktarılacak, uygulama tanımlı bir nesnenin işaretçisi.

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ının işlenmesi başarıyla tamamlandığında, yöntem ResponseReceived API etkinliği aracılığıyla uygulamaya bir çağrıda bulunur ve sonucu teslim eder.

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

Ayrıntılar
Parametreler
[in] msgBuf
GetCertificateResponse mesajını içeren PacketBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
GetCertificateResponse mesajı başarıyla işlenip işlenmediğini gösterir.

SetBinding

void SetBinding(
  Binding *binding
)

WeaveCertProvEngine nesnesindeki bağlama nesnesini 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 nesnesindeki operasyonel kimlik doğrulama yetkili nesnesini ayarlar.

Kapat

void Shutdown(
  void
)

Önceden başlatılmış bir WeaveCertProvEngine nesnesini kapatın.

Bu yöntemin yalnızca Init() yöntemi daha önce çağrılmışsa ç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. Karşılık gelen bir GetCertificateResponse mesajı alındığında, 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 bir istek yapılır. Bu durumda istek işlemi, bu işlem tamamlanana kadar bekleyecektir. İşlenmekte olan eski bir istek varken StartCertificateProvisioning() çağrısına yapılan çağrılar yoksayılır.

Ayrıntılar
Parametreler
[in] reqType
Sertifika isteği türünü alma.
[in] doMfrAttest
Protokolün, üretici onay verilerini içerip içermediğini gösteren bir boole işareti.
Değerleri Döndür
WEAVE_NO_ERROR
StartCertificateProvisioning() başarıyla işlendiyse.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)