nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Weave 証明書プロビジョニング プロトコル オブジェクトのコアロジックを実装します。
概要
コンストラクタとデストラクタ |
|
---|---|
WeaveCertProvEngine(void)
|
パブリック タイプ |
|
---|---|
@246{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
この関数は、Certificate Provisioning Engine API イベントで呼び出されるアプリケーション コールバックです。 |
EventType{
|
enum |
State{
|
enum |
パブリック属性 |
|
---|---|
AppState
|
void *
アプリケーション固有のデータへのポインタ。
|
パブリック関数 |
|
---|---|
AbortCertificateProvisioning(void)
|
void
進行中の GetCertificate 交換を停止します。
|
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
|
GetCertificateRequest メッセージを生成します。
|
GetBinding(void) const
|
Binding *
WeaveCertProvEngine に関連付けられている Binding オブジェクトへのポインタを返します。
|
GetEventCallback(void) const
|
WeaveCertProvEngine オブジェクトに現在構成されている API イベント コールバック関数へのポインタを返します。
|
GetMfrAttestDelegate(void) const
|
WeaveCertProvEngine オブジェクトで現在構成されているメーカーの証明書デリゲート オブジェクトへのポインタを返します。
|
GetOpAuthDelegate(void) const
|
WeaveCertProvEngine オブジェクトで現在構成されている運用認証委任オブジェクトへのポインタを返します。
|
GetReqType(void) const
|
uint8_t
現在のリクエスト タイプを取得します。
|
GetState(void) const
|
WeaveCertProvEngine オブジェクトの現在の状態を取得します。
|
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
|
証明書取得リクエスト メッセージの送信に備えて、WeaveCertProvEngine オブジェクトを初期化します。
|
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
|
GetCertificateResponse メッセージを処理します。
|
SetBinding(Binding *binding)
|
void
WeaveCertProvEngine オブジェクトのバインディング オブジェクトを設定します。
|
SetEventCallback(EventCallback eventCallback)
|
void
WeaveCertProvEngine オブジェクトに API イベント コールバック関数を設定します。
|
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
|
void
WeaveCertProvEngine オブジェクトでメーカーの証明書デリゲート オブジェクトを設定します。
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
WeaveCertProvEngine オブジェクトに運用認証の委譲オブジェクトを設定します。
|
Shutdown(void)
|
void
以前に初期化した WeaveCertProvEngine オブジェクトをシャットダウンします。
|
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
|
[Certificate Provisioning Protocol] を起動します。
|
構造体 |
|
---|---|
nl:: |
Weave Certificate Provisioning API イベントにパラメータを入力します。 |
nl:: |
Weave Certificate Provisioning API イベントへの出力パラメータ。 |
パブリック タイプ
@246
@246
プロパティ | |
---|---|
kReqType_GetInitialOpDeviceCert
|
証明書取得リクエスト タイプは、最初の運用証明書を取得します。 |
kReqType_RotateOpDeviceCert
|
証明書取得リクエストの種類は、現在の運用中の証明書をローテーションします。 |
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
この関数は、Certificate Provisioning Engine API イベントで呼び出されるアプリケーション コールバックです。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
EventType
EventType
プロパティ | |
---|---|
kEvent_CommunicationError
|
GetCertificateRequest の送信中または応答の待機中に通信エラーが発生しました。 |
kEvent_PrepareAuthorizeInfo
|
アプリケーションは、GetCertificateRequest のペイロードを準備するようにリクエストされます。 |
kEvent_ResponseReceived
|
ピアから GetCertificateResponse メッセージを受信しました。 |
状態
State
プロパティ | |
---|---|
kState_Idle
|
エンジン オブジェクトがアイドル状態である。 |
kState_NotInitialized
|
エンジン オブジェクトが初期化されていません。 |
kState_PreparingBinding
|
エンジン オブジェクトは、バインディングの準備が整うまで待機しています。 |
kState_RequestInProgress
|
GetCertificateRequest メッセージが送信され、エンジン オブジェクトは応答を待機しています。 |
パブリック属性
AppState
void * AppState
アプリケーション固有のデータへのポインタ。
パブリック関数
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
進行中の GetCertificate 交換を停止します。
GenerateGetCertificateRequest
WEAVE_ERROR GenerateGetCertificateRequest( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest )
GetCertificateRequest メッセージを生成します。
このメソッドは、Weave の TLV 形式でエンコードされた Weave GetCertificateRequest 構造を生成します。
GetCertificateRequest メッセージを作成するときに、このメソッドが WeaveNodeOpAuthDelegate 関数、WeaveNodeMfrAttestDelegate 関数、PrepareAuthorizeInfo API イベントを介してアプリケーションにリクエストを行い、メッセージのペイロードを準備します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
GetBinding
Binding * GetBinding( void ) const
WeaveCertProvEngine に関連付けられている Binding オブジェクトへのポインタを返します。
GetEventCallback
EventCallback GetEventCallback( void ) const
WeaveCertProvEngine オブジェクトに現在構成されている API イベント コールバック関数へのポインタを返します。
GetMfrAttestDelegate
WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate( void ) const
WeaveCertProvEngine オブジェクトで現在構成されているメーカーの証明書デリゲート オブジェクトへのポインタを返します。
GetOpAuthDelegate
WeaveNodeOpAuthDelegate * GetOpAuthDelegate( void ) const
WeaveCertProvEngine オブジェクトで現在構成されている運用認証委任オブジェクトへのポインタを返します。
GetReqType
uint8_t GetReqType( void ) const
現在のリクエスト タイプを取得します。
init
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
証明書取得リクエスト メッセージの送信に備えて、WeaveCertProvEngine オブジェクトを初期化します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
ProcessGetCertificateResponse
WEAVE_ERROR ProcessGetCertificateResponse( PacketBuffer *msgBuf )
GetCertificateResponse メッセージを処理します。
このメソッドは、Weave の TLV 形式でエンコードされた Weave GetCertificateResponse 構造を処理します。
GetCertificateResponse メッセージの処理が正常に完了すると、このメソッドは ResponseReceived API イベントを介してアプリケーションに呼び出しを行い、結果を渡します。
GetCertificateResponse メッセージの処理が失敗した場合、このメソッドは CommunicationError API イベントを介してアプリケーションを呼び出してエラーを報告します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
WeaveCertProvEngine オブジェクトに API イベント コールバック関数を設定します。
SetMfrAttestDelegate
void SetMfrAttestDelegate( WeaveNodeMfrAttestDelegate *mfrAttestDelegate )
WeaveCertProvEngine オブジェクトでメーカーの証明書デリゲート オブジェクトを設定します。
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
WeaveCertProvEngine オブジェクトに運用認証の委譲オブジェクトを設定します。
シャットダウン
void Shutdown( void )
以前に初期化した WeaveCertProvEngine オブジェクトをシャットダウンします。
このメソッドは、以前に Init() メソッドを呼び出している場合にのみ呼び出すことができます。
StartCertificateProvisioning
WEAVE_ERROR StartCertificateProvisioning( uint8_t reqType, bool doMfrAttest )
[Certificate Provisioning Protocol] を起動します。
このメソッドは、CA サービスに GetCertificateRequest メッセージを送信するプロセスを開始します。対応する GetCertificateResponse メッセージを受信すると、ResponseReceived API イベントを介してアプリケーションに配信されます。
このメソッドが呼び出されたときに Binding オブジェクトが Ready 状態でない場合、Binding::RequestPrepare() メソッドにリクエストが実行され、オンデマンドの準備が開始されます。リクエスト オペレーションは、このプロセスが完了するまで待機します。前のリクエストが処理中の場合に StartCertificateProvisioning() を呼び出しても無視されます。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )