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)
|
인증서 프로비저닝 프로토콜을 시작합니다.
|
구조체 |
|
---|---|
nl:: |
Weave Certificate Provisioning API 이벤트에 대한 입력 매개변수입니다. |
nl:: |
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 이벤트에서 호출되는 애플리케이션 콜백입니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
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 이벤트를 통해 애플리케이션에 요청하여 메시지의 페이로드를 준비합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
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 메시지가 수신되면 ResponseReceived API 이벤트를 통해 애플리케이션에 전송됩니다.
이 메서드가 호출될 때 Binding 객체가 준비 상태가 아니면 주문형 준비를 시작하기 위해 Binding::RequestPrepare() 메서드에 요청이 전송됩니다. 그러면 요청 작업이 이 프로세스가 완료될 때까지 대기합니다. 처리 중인 이전 요청이 있는 동안 StartCertificateProvisioning()을 호출하면 모두 무시됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )