nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate

이것이 추상 클래스입니다.

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

KeyExport 엔진에 의해 호출되는 추상 위임 클래스로, 키를 내보내는 동안 인증과 관련된 다양한 작업을 실행합니다.

요약

상속

직접 알려진 서브클래스: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

공개 함수

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
피어 인증서의 검증을 준비합니다.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
피어 인증서 유효성 검사와 관련된 리소스를 해제합니다.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
키 내보내기 메시지의 서명을 생성합니다.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
로컬 노드의 키 내보내기 인증서 세트를 가져옵니다.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
피어 인증서를 검증한 결과를 처리합니다.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
노드의 인증서 세트를 해제합니다.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
서명되지 않은 키 내보내기 메시지의 보안을 확인합니다.

공개 함수

BeginCertValidation

virtual WEAVE_ERROR BeginCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

피어 인증서의 검증을 준비합니다.

인증서 유효성 검사가 시작될 때 호출됩니다. 이 메서드는 피어 노드의 인증서를 검증하는 데 사용할 제공된 인증서 세트와 유효성 검사 컨텍스트를 준비합니다. 구현 시 예정된 인증서 유효성 검사를 처리하기에 충분한 리소스로 제공된 WeaveCertificateSet 객체를 초기화해야 합니다. 또한 구현은 필요한 모든 신뢰할 수 있는 루트 또는 CA 인증서를 인증서 세트에 로드해야 합니다.

제공된 유효성 검사 컨텍스트는 기본 유효성 검사 기준 집합으로 초기화되며 필요에 따라 구현이 변경될 수 있습니다. 구현에서는 effectiveTime 필드를 설정하거나 적절한 유효성 검사 플래그를 설정하여 인증서 수명 검증을 억제해야 합니다.

구현은 해당하는 EndCertValidation()이 호출될 때까지 BeginCertValidation() 중에 할당된 리소스를 유지해야 합니다. EndCertValidation()BeginCertValidation()을 성공적으로 호출할 때마다 정확히 한 번 호출됩니다.

EndCertValidation

virtual WEAVE_ERROR EndCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

피어 인증서 유효성 검사와 관련된 리소스를 해제합니다.

피어 인증서 유효성 검사 및 요청 확인이 완료되면 호출됩니다.

GenerateNodeSignature

virtual WEAVE_ERROR GenerateNodeSignature(
  WeaveKeyExport *keyExport,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer
)=0

키 내보내기 메시지의 서명을 생성합니다.

이 메서드는 로컬 노드의 비공개 키를 사용하여 지정된 해시 값의 서명을 계산하고 제공된 TLV 작성기에 서명을 WeaveSignature TLV 구조로 작성합니다.

GetNodeCertSet

virtual WEAVE_ERROR GetNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

로컬 노드의 키 내보내기 인증서 세트를 가져옵니다.

키 내보내기 엔진이 키 내보내기 메시지 서명을 준비할 때 호출됩니다. 이 메서드는 인증서 세트를 초기화하고 메시지 서명에 포함되거나 참조될 모든 인증서를 로드합니다. 마지막으로 로드된 인증서가 서명 인증서여야 합니다.

HandleCertValidationResult

virtual WEAVE_ERROR HandleCertValidationResult(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  uint32_t requestedKeyId
)=0

피어 인증서를 검증한 결과를 처리합니다.

피어 노드의 인증서 유효성 검사가 완료되면 호출됩니다. 이 메서드는 인증서 유효성 검사가 성공적으로 완료된 경우에만 호출됩니다. 구현에서는 이 호출을 사용하여 유효성 검사 결과를 검사하고 결과를 오류로 재정의할 수 있습니다.

응답 노드의 경우, 메서드는 요청한 키를 내보낼 요청자의 권한을 확인해야 합니다.

시작 노드의 경우 이 메서드는 검증된 인증서가 키 내보내기 요청이 전송된 피어를 올바르게 식별하는지 확인해야 합니다.

ReleaseNodeCertSet

virtual WEAVE_ERROR ReleaseNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

노드의 인증서 세트를 해제합니다.

키 내보내기 엔진이 GetNodeCertSet()에서 반환된 인증서 집합으로 완료되면 호출됩니다.

ValidateUnsignedKeyExportMessage

virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage(
  WeaveKeyExport *keyExport,
  uint32_t requestedKeyId
)=0

서명되지 않은 키 내보내기 메시지의 보안을 확인합니다.

노드가 서명되지 않은 키 내보내기 메시지를 수신하면 호출됩니다. 이 메서드는 메시지 전송에 사용된 보안 세션의 속성 등을 통해 통신의 맥락을 바탕으로 서명되지 않은 키 내보내기 메시지의 보안을 확인해야 합니다.

응답 노드의 경우, 메서드는 요청된 키를 내보낼 수 있는 시작자의 권한을 확인해야 합니다.

시작 노드의 경우 이 메서드는 키 내보내기 요청이 전송된 피어에서 합법적으로 발신된 메시지가 있는지 확인해야 합니다.