nl:: 매트:: 프로필:: 보안:: 인증 프로비저닝:: 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)
|
인증서 프로비저닝 프로토콜을 시작합니다.
|
구조체 |
|
---|---|
nl:: |
Weave Certificate Provisioning API 이벤트에 대한 입력 매개변수입니다. |
nl:: |
Weave Certificate Provisioning API 이벤트에 매개변수를 출력합니다. |
공개 유형
@246
@246
속성 | |
---|---|
kReqType_GetInitialOpDeviceCert
|
인증서 가져오기 요청 유형은 초기 운영 인증서를 가져오는 것입니다. |
kReqType_RotateOpDeviceCert
|
인증서 가져오기 요청 유형은 현재 운영 인증서를 순환하는 것입니다. |
이벤트 콜백
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 메시지가 전송되었으며 엔진 객체가 응답을 기다리고 있습니다. |
공개 속성
앱 상태
void * AppState
애플리케이션별 데이터에 대한 포인터입니다.
공개 함수
중단 인증서 프로비저닝
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 이벤트를 통해 애플리케이션에 요청하여 페이로드를 준비합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
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 )
인증서 프로비저닝 프로토콜을 시작합니다.
이 메서드는 CA 서비스에 GetCertificateRequest 메시지를 전송하는 프로세스를 시작합니다. 상응하는 GetCertificateResponse 메시지가 수신되면 응답 시 API 이벤트를 통해 애플리케이션으로 전송됩니다.
이 메서드가 호출될 때 Binding 객체가 Ready 상태가 아닌 경우 Binding::RequestPrepare() 메서드에 요청하여 주문형 준비를 시작합니다. 요청 프로세스가 완료될 때까지 요청 작업이 대기합니다. 이전 요청이 처리 중일 때 StartCertificateProvisioning()을 호출하면 무시됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )