Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: WeaveSecurityManager

요약

생성자와 소멸자

WeaveSecurityManager (void)

공개 유형

KeyErrorMsgRcvdFunct )(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
키 오류 메시지 처리 기능의 유형입니다.
KeyExportCompleteFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
키 내보내기 프로토콜 전체 처리 기능의 유형입니다.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
키 내보내기 프로토콜 오류 처리 기능의 유형입니다.
SessionErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport) typedef
void(*
SessionEstablishedFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType) typedef
void(*
State 열거 형

공용 속성

CASEUseKnownECDHKey
bool
ExchangeManager
FabricState
IdleSessionTimeout
uint32_t
InitiatorAllowedCASEConfigs
uint8_t
InitiatorAllowedCASECurves
uint8_t
InitiatorAllowedKeyExportConfigs
uint8_t
InitiatorCASEConfig
uint32_t
InitiatorCASECurveId
uint32_t
InitiatorKeyExportConfig
uint8_t
OnKeyErrorMsgRcvd
주요 오류 콜백 함수입니다.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
키 내보내기 프로토콜 전체 콜백 함수입니다.
mStartKeyExport_OnError
키 내보내기 프로토콜 오류 콜백 함수입니다.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

공공 기능

CancelSessionEstablishment (void *reqState)
진행중인 세션 설정을 취소합니다.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
지정된 Weave 오류 코드가 주요 오류 코드 중 하나인지 확인합니다.
OnEncryptedMsgRcvd (uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey (uint64_t peerNodeId, uint16_t keyId)
void
메시지 암호화 키 예약을 해제합니다.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
메시지 암호화 키를 예약하십시오.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
키 오류 메시지를 보냅니다.
SetCASEAuthDelegate ( WeaveCASEAuthDelegate *delegate)
void
SetKeyExportDelegate ( WeaveKeyExportDelegate *delegate)
void
SetTAKEAuthDelegate ( WeaveTAKEChallengerAuthDelegate *delegate)
void
SetTAKETokenAuthDelegate ( WeaveTAKETokenAuthDelegate *delegate)
void
Shutdown (void)
StartCASESession ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, WeaveCASEAuthDelegate *authDelegate, uint64_t terminatingNodeId)
이 메서드는 새 CASE 세션을 설정하거나 기존 CASE 세션을 찾기 위해 호출됩니다.
StartKeyExport ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, uint32_t keyId, bool signMessage, void *reqState, KeyExportCompleteFunct onComplete, KeyExportErrorFunct onError, WeaveKeyExportDelegate *keyExportDelegate)
StartPASESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, const uint8_t *pw, uint16_t pwLen)
이 메서드는 보안 PASE 세션을 설정하기 위해 호출됩니다.
StartTAKESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
이 메서드는 보안 TAKE 세션을 설정하기 위해 호출됩니다.

공개 유형

KeyErrorMsgRcvdFunct

void(* KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr)

키 오류 메시지 처리 기능의 유형입니다.

세부
매개 변수
[in] keyId
암호화 키로 인해 피어에서 키 오류 메시지 응답이 발생했습니다.
[in] encType
-a Keyid 키 ID와 관련된 암호화 유형.
[in] messageId
Weave 메시지의 식별자로 인해 피어에서 키 오류 응답이 발생했습니다.
[in] peerNodeId
키 오류 메시지를 보낸 Weave 노드의 식별자입니다.
[in] keyErr
피어에서받은 오류 코드입니다.

KeyExportCompleteFunct

void(* KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)

키 내보내기 프로토콜 전체 처리 기능의 유형입니다.

세부
매개 변수
[in] sm
포인터 WeaveSecurityManager의 객체입니다.
[in] con
포인터 WeaveConnection의 객체입니다.
[in] reqState
키 내보내기 요청자 상태에 대한 포인터입니다.
[in] keyId
내 보낸 키 ID입니다.
[in] exportedKey
내 보낸 비밀 키에 대한 포인터입니다.
[in] exportedKeyLen
내 보낸 비밀 키 길이에 대한 참조입니다.

KeyExportErrorFunct

void(* KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport)

키 내보내기 프로토콜 오류 처리 기능의 유형입니다.

세부
매개 변수
[in] sm
포인터 WeaveSecurityManager의 객체입니다.
[in] con
포인터 WeaveConnection의 객체입니다.
[in] reqState
키 내보내기 요청자 상태에 대한 포인터입니다.
[in] localErr
키 내보내기 프로토콜 중에 WEAVE_ERROR가 발생했습니다.
[in] statusReport
피어에서 오류 상태가 수신 된 경우 StatusReport 개체에 대한 포인터입니다.

SessionErrorFunct

void(* SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport)

SessionEstablishedFunct

void(* SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)

상태

 State

공용 속성

CASEUseKnownECDHKey

bool CASEUseKnownECDHKey

ExchangeManager

WeaveExchangeManager * ExchangeManager

FabricState

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

InitiatorAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

InitiatorAllowedCASECurves

uint8_t InitiatorAllowedCASECurves

InitiatorAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

InitiatorCASEConfig

uint32_t InitiatorCASEConfig

InitiatorCASECurveId

uint32_t InitiatorCASECurveId

InitiatorKeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

주요 오류 콜백 함수입니다.

이 함수는 키 오류 메시지가 수신 될 때 호출됩니다.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

상태

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

키 내보내기 프로토콜 전체 콜백 함수입니다.

이 함수는 비밀 키 내보내기 프로세스가 완료되면 호출됩니다.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

키 내보내기 프로토콜 오류 콜백 함수입니다.

이 함수는 키 내보내기 프로세스 중에 오류가 발생하면 호출됩니다.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

공공 기능

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

진행중인 세션 설정을 취소합니다.

세부
매개 변수
[in] reqState
세션이 시작될 때 애플리케이션에서 제공 한 값과 일치하는 포인터 값입니다.
반환 값
WEAVE_NO_ERROR
일치하는 진행중인 세션 설정이 발견되고 취소 된 경우.
WEAVE_ERROR_INCORRECT_STATE
진행중인 세션 설정이 없거나 진행중인 세션이 제공된 요청 상태 포인터와 일치하지 않는 경우.

초기화

WEAVE_ERROR Init(
  WeaveExchangeManager & aExchangeMgr,
  System::Layer & aSystemLayer
)

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

지정된 Weave 오류 코드가 주요 오류 코드 중 하나인지 확인합니다.

이 함수는 디코딩 중에 올바른 키를 찾지 못한 메시지의 개시 자에게 키 오류 메시지를 보낼지 여부를 결정하기 위해 호출됩니다.

세부
매개 변수
[in] err
Weave 오류 코드.
반환 값
true
지정된 경우 Weave 오류 코드는 핵심 오류입니다.
false
그렇지 않으면.

OnEncryptedMsgRcvd

void OnEncryptedMsgRcvd(
  uint16_t sessionKeyId,
  uint64_t peerNodeId,
  uint8_t encType
)

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

메시지 암호화 키 예약을 해제합니다.

이전에 메시지 암호화 키에 배치 된 예약을 해제합니다.

특정 키에 배치 모든 예약의 경우, ReleaseKey () 메서드는 두 번 이상 호출 할 수 있어야합니다.

이 메소드는 None을 포함한 모든 형태의 키 ID를 허용합니다. 실제 키의 이름을 지정하지 않는 키 ID는 무시됩니다.

세부
매개 변수
[in] peerNodeId
키가 공유 된 피어의 Weave 노드 ID입니다.
[in] keyId
예약을 해제해야하는 키의 ID입니다.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

메시지 암호화 키를 예약합니다.

키 예약은 특정 키가 사용 중이며 유지되어야 함을 알리는 데 사용됩니다. 키를 예약한다고해서 KeyError 메시지 수신과 같은 명시적인 작업에 의해 키가 제거되지 않는다는 보장은 없습니다.

특정 키에 배치 된 모든 예약에 대응하는 통화 ReleaseKey ()가 이루어져야한다.

이 메소드는 None을 포함한 모든 형태의 키 ID를 허용합니다. 실제 키의 이름을 지정하지 않는 키 ID는 무시됩니다.

세부
매개 변수
[in] peerNodeId
키가 공유 된 피어의 Weave 노드 ID입니다.
[in] keyId
예약 할 키의 ID입니다.

SendKeyErrorMsg

WEAVE_ERROR SendKeyErrorMsg(
  WeaveMessageInfo *rcvdMsgInfo,
  const IPPacketInfo *rcvdMsgPacketInfo,
  WeaveConnection *con,
  WEAVE_ERROR keyErr
)

키 오류 메시지를 보냅니다.

이 함수는 수신 된 Weave 메시지 디코딩이 키 오류로 인해 실패 할 때 호출됩니다.

세부
매개 변수
[in] rcvdMsgInfo
수신 된 Weave 메시지에 대한 메시지 정보에 대한 포인터입니다.
[in] rcvdMsgPacketInfo
수신 된 Weave 메시지의 IPPacketInfo 개체에 대한 포인터입니다.
[in] con
받는 포인터 WeaveConnection의 객체입니다.
[in] keyErr
Weave 키 오류 코드.
반환 값
WEAVE_ERROR_NO_MEMORY
새 교환 컨텍스트 또는 새 메시지 버퍼에 메모리를 할당 할 수없는 경우.
WEAVE_ERROR_BUFFER_TOO_SMALL
버퍼가 너무 작은 경우
WEAVE_NO_ERROR
방법이 성공한 경우.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

일시 휴업

WEAVE_ERROR Shutdown(
  void
)

StartCASESession

WEAVE_ERROR StartCASESession(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  WeaveCASEAuthDelegate *authDelegate,
  uint64_t terminatingNodeId
)

이 메서드는 새 CASE 세션을 설정하거나 기존 CASE 세션을 찾기 위해 호출됩니다.

세부
매개 변수
[in] con
받는 포인터 WeaveConnection의 객체입니다.
[in] peerNodeId
피어의 노드 식별자입니다.
[in] peerAddr
피어 노드의 IP 주소입니다.
[in] peerPort
피어 노드의 포트입니다.
[in] requestedAuthMode
피어가 인증되어야하는 원하는 수단입니다. CASE 인증 모드 중 하나 여야합니다.
[in] reqState
요청자 상태에 대한 포인터.
[in] onComplete
요청 된 보안 세션이 설정되면 호출되는 콜백 함수에 대한 포인터.
[in] onError
요청 된 세션 설정이 실패 할 경우 호출되는 콜백 함수에 대한 포인터.
[in] authDelegate
CASE 인증 위임 개체에 대한 포인터입니다.
[in] terminatingNodeId
세션 종료 노드의 노드 식별자입니다. 이 입력이 공유 보안 세션이 요청되었음을 나타내는 kNodeIdNotSpecified와 다른 경우.
반환 값
WEAVE_NO_ERROR
성공에.

StartKeyExport

WEAVE_ERROR StartKeyExport(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  uint32_t keyId,
  bool signMessage,
  void *reqState,
  KeyExportCompleteFunct onComplete,
  KeyExportErrorFunct onError,
  WeaveKeyExportDelegate *keyExportDelegate
)

StartPASESession

WEAVE_ERROR StartPASESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  const uint8_t *pw,
  uint16_t pwLen
)

이 메서드는 보안 PASE 세션을 설정하기 위해 호출됩니다.

세부
매개 변수
[in] con
받는 포인터 WeaveConnection의 객체입니다.
[in] requestedAuthMode
피어가 인증되어야하는 원하는 수단입니다. PASE 인증 모드 중 하나 여야합니다.
[in] reqState
요청자 상태에 대한 포인터.
[in] onComplete
요청 된 보안 세션이 설정되면 호출되는 콜백 함수에 대한 포인터.
[in] onError
요청 된 세션 설정이 실패 할 경우 호출되는 콜백 함수에 대한 포인터.
[in] pw
PASE 비밀 암호에 대한 포인터.
[in] pwLen
PASE 비밀 암호의 길이입니다.
반환 값
WEAVE_NO_ERROR
성공에.

StartTAKESession

WEAVE_ERROR StartTAKESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  bool encryptAuthPhase,
  bool encryptCommPhase,
  bool timeLimitedIK,
  bool sendChallengerId,
  WeaveTAKEChallengerAuthDelegate *authDelegate
)

이 메서드는 보안 TAKE 세션을 설정하기 위해 호출됩니다.

세부
매개 변수
[in] con
받는 포인터 WeaveConnection의 객체입니다.
[in] requestedAuthMode
피어가 인증되어야하는 원하는 수단입니다. TAKE 인증 모드 중 하나 여야합니다.
[in] reqState
요청자 상태에 대한 포인터.
[in] onComplete
요청 된 보안 세션이 설정되면 호출되는 콜백 함수에 대한 포인터.
[in] onError
요청 된 세션 설정이 실패 할 경우 호출되는 콜백 함수에 대한 포인터.
[in] encryptAuthPhase
프로토콜 인증 단계를 암호화해야하는지 여부를 나타내는 부울 플래그입니다.
[in] encryptCommPhase
프로토콜 통신 단계를 암호화해야하는지 여부를 나타내는 부울 플래그입니다.
[in] timeLimitedIK
IK (식별 키)가 시간 제한되는지 여부를 나타내는 부울 플래그입니다.
[in] sendChallengerId
챌린저 식별이 메시지에 포함되어야하는지 여부를 나타내는 부울 플래그입니다. 포함되지 않은 경우 Weave 노드 ID 값이 챌린저 ID로 사용됩니다.
[in] authDelegate
TAKE Challenger 인증 위임 개체에 대한 포인터입니다.
반환 값
WEAVE_NO_ERROR
성공에.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)