Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

nl::매트::프로필::보안::인증 프로비저닝::WeaveCertProvEngine

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

Weave 인증서 프로비저닝 프로토콜 객체의 핵심 로직을 구현합니다.

요약

생성자 및 소멸자

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::프로필::보안::CertProvisioning::WeaveCertProvEngine::InEventParam

Weave Certificate Provisioning API 이벤트에 대한 입력 매개변수입니다.

nl::Weave::프로필::보안::CertProvisioning::WeaveCertProvEngine::OutEventParam

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 이벤트에서 호출되는 애플리케이션 콜백입니다.

세부정보
매개변수
[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 메시지가 전송되었으며 엔진 객체가 응답을 기다리고 있습니다.

공개 속성

앱 상태

void * AppState

애플리케이션별 데이터에 대한 포인터입니다.

공개 함수

중단 인증서 프로비저닝

void AbortCertificateProvisioning(
  void
)

진행 중인 GetCertificate 교환을 중지합니다.

GenerateGetCertificateRequest

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

GetCertificateRequest 메시지를 생성합니다.

이 메서드는 Weave TLV 형식으로 인코딩된 Weave GetCertificateRequest 구조를 생성합니다.

GetCertificateRequest 메시지를 작성할 때 이 메서드는 WeaveNodeOpAuthDelegateWeaveNodeMfrAttestDelegate 함수와 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
피어 노드와의 통신을 설정하는 데 사용할 결합 객체입니다.
[in] opAuthDelegate
노드의 운영 자격 증명을 사용하여 구성하고 서명하는 데 사용할 운영 인증 위임 객체에 대한 포인터입니다.
[in] mfrAttestDelegate
노드의 프로비저닝 사용자 인증 정보를 사용하여 요청을 구성하고 서명하는 데 사용될 제조업체 증명 위임 객체에 대한 포인터입니다.
[in] eventCallback
애플리케이션에 API 이벤트를 전달하기 위해 WeaveCertProvEngine 객체에서 호출할 함수에 대한 포인터입니다.
[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
)

인증서 프로비저닝 프로토콜을 시작합니다.

이 메서드는 CA 서비스에 GetCertificateRequest 메시지를 전송하는 프로세스를 시작합니다. 상응하는 GetCertificateResponse 메시지가 수신되면 응답 시 API 이벤트를 통해 애플리케이션으로 전송됩니다.

이 메서드가 호출될 때 Binding 객체가 Ready 상태가 아닌 경우 Binding::RequestPrepare() 메서드에 요청하여 주문형 준비를 시작합니다. 요청 프로세스가 완료될 때까지 요청 작업이 대기합니다. 이전 요청이 처리 중일 때 StartCertificateProvisioning()을 호출하면 무시됩니다.

세부정보
매개변수
[in] reqType
인증서 요청 유형을 가져옵니다.
[in] doMfrAttest
프로토콜에 제조업체 증명 데이터가 포함되어야 하는지 여부를 나타내는 부울 플래그입니다.
반환 값
WEAVE_NO_ERROR
StartCertificateProvisioning()이 성공적으로 처리된 경우

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)