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

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

Weave Certificate Provisioning プロトコル オブジェクトのコアロジックを実装します。

概要

コンストラクタとデストラクタ

WeaveCertProvEngine(void)

公開タイプ

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
この関数は、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

パブリック属性

AppState
void *
アプリケーション固有のデータを示すポインタ。

パブリック関数

AbortCertificateProvisioning(void)
void
進行中の GetCertificate 交換を停止します。
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
GetCertificateRequest メッセージを生成します。
GetBinding(void) const
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)
証明書のプロビジョニング プロトコルを開始します。

構造体

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

Weave Certificate Provisioning API イベントの入力パラメータ。

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

Weave Certificate Provisioning API イベントに出力パラメータを送信します。

公開タイプ

@246

 @246
プロパティ
kReqType_GetInitialOpDeviceCert

証明書の取得リクエスト タイプは、初期運用証明書を取得するためのものです。

kReqType_RotateOpDeviceCert

Get Certificate リクエスト タイプは、現在動作している証明書をローテーションすることです。

EventCallback

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

この関数は、Certificate Provisioning Engine API イベントで呼び出されるアプリケーションのコールバックです。

詳細
パラメータ
[in] appState
エンジン オブジェクトに関連付けられたアプリケーション定義の状態情報へのポインタ。
[in] eventType
イベントのコールバックによって渡されたイベント ID。
[in] inParam
イベント コールバックによって渡された入力イベント パラメータの参照。
[in] outParam
イベント コールバックによって渡される出力イベント パラメータの参照。

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 イベントを介してアプリケーションにリクエストを送信し、メッセージのペイロードを準備します。

詳細
パラメータ
[in] msgBuf
GetCertificateRequest メッセージを保持する PacketBuffer オブジェクトへのポインタ。
[in] reqType
証明書リクエストの種類を取得します。
[in] doMfrAttest
リクエストにメーカー構成証明データを含めるかどうかを示すブール値フラグ。
戻り値
WEAVE_NO_ERROR
GetCertificateRequest が正常に生成されたかどうか。

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 

現在のリクエスト タイプを取得します。

GetState

State GetState(
  void
) const 

WeaveCertProvEngine オブジェクトの現在の状態を取得します。

init

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

証明書取得リクエスト メッセージを送信する準備として、WeaveCertProvEngine オブジェクトを初期化します。

詳細
パラメータ
[in] binding
ピアノードとの通信を確立するために使用される Binding オブジェクト。
[in] opAuthDelegate
ノードの運用認証情報を使用して構成と署名に使用される運用認証委任オブジェクトへのポインタ。
[in] mfrAttestDelegate
メーカー証明書デリゲート オブジェクトへのポインタ。これは、メーカーによってプロビジョニングされたノードの認証情報を使用してリクエストの作成と署名に使用されます。
[in] eventCallback
WeaveCertProvEngine オブジェクトによって呼び出され、API イベントをアプリケーションに配信する関数へのポインタ。
[in] appState
API イベントが発生するたびにアプリケーションに返される、アプリケーション定義オブジェクトへのポインタ。

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

GetCertificateResponse メッセージを処理します。

このメソッドは、Weave TLV 形式でエンコードされた Weave GetCertificateResponse 構造を処理します。

GetCertificateResponse メッセージの処理が正常に完了すると、このメソッドは ResponseReceived API イベントを介してアプリケーションを呼び出し、結果を返します。

GetCertificateResponse メッセージの処理が失敗した場合、このメソッドは CommunicationError API イベントを介してアプリケーションを呼び出してエラーを報告します。

詳細
パラメータ
[in] msgBuf
GetCertificateResponse メッセージを保持する PacketBuffer オブジェクトへのポインタ。
戻り値
WEAVE_NO_ERROR
GetCertificateResponse メッセージが正常に処理されたかどうか。

SetBinding

void SetBinding(
  Binding *binding
)

WeaveCertProvEngine オブジェクトにバインディング オブジェクトを設定します。

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
)

証明書のプロビジョニング プロトコルを開始します。

このメソッドは、GetCertificateRequest メッセージを CA サービスに送信するプロセスを開始します。対応する GetCertificateResponse メッセージが受信されると、ResponseReceived API イベントを介してアプリに配信されます。

このメソッドが呼び出されたときに Binding オブジェクトが Ready 状態ではなかった場合、Binding::RequestPrepare() メソッドにリクエストが送信され、オンデマンド準備が開始されます。リクエスト オペレーションは、このプロセスが完了するまで待機します。処理中の以前のリクエストがある場合、StartCertificateProvisioning() の呼び出しは無視されます。

詳細
パラメータ
[in] reqType
証明書リクエストの種類を取得します。
[in] doMfrAttest
プロトコルにメーカー構成証明データを含める必要があるかどうかを示すブール値のフラグ。
戻り値
WEAVE_NO_ERROR
StartCertificateProvisioning() が正常に処理されたかどうか。

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)