nl:: Weave:: WeaveSecurityManager
요약
생성자 및 소멸자 |
|
---|---|
WeaveSecurityManager(void)
|
공개 유형 |
|
---|---|
KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr)
|
typedefvoid(*
주요 오류 메시지 처리 함수의 유형입니다. |
KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)
|
typedefvoid(*
키 내보내기 프로토콜 전체 처리 기능의 유형입니다. |
KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport)
|
typedefvoid(*
키 내보내기 프로토콜 오류 처리 기능의 유형입니다. |
SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport)
|
typedefvoid(*
|
SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
|
typedefvoid(*
|
State
|
enum |
공개 속성 |
|
---|---|
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)
주요 오류 메시지 처리 함수의 유형입니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
KeyExportCompleteFunct
void(* KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)
키 내보내기 프로토콜 전체 처리 기능의 유형입니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
KeyExportErrorFunct
void(* KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, 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 )
진행 중인 세션 설정을 취소합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer )
IsKeyError
bool IsKeyError( WEAVE_ERROR err )
지정된 Weave 오류 코드가 키 오류 코드 중 하나인지 확인합니다.
이 함수는 디코딩 중에 올바른 키를 찾지 못한 메시지의 시작자에게 키 오류 메시지를 보내야 하는지 여부를 결정하기 위해 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
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는 무시됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
ReserveKey
void ReserveKey( uint64_t peerNodeId, uint16_t keyId )
메시지 암호화 키를 예약합니다.
키 예약은 특정 키가 사용 중이며 보관해야 함을 알리는 데 사용됩니다. 키에 예약을 배치한다고 해서 KeyError 메시지 수신과 같은 명시적 작업으로 인해 키가 삭제되지 않는 것은 아닙니다.
특정 키에 배치된 모든 예약에 대해 상응하는 ReleaseKey()를 호출해야 합니다.
이 메서드는 None을 포함하여 모든 형태의 키 ID를 허용합니다. 실제 키의 이름을 지정하지 않는 키 ID는 무시됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
SendKeyErrorMsg
WEAVE_ERROR SendKeyErrorMsg( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr )
주요 오류 메시지를 전송합니다.
이 함수는 키 오류로 인해 수신된 Weave 메시지 디코딩이 실패할 때 호출됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
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 세션을 찾기 위해 호출됩니다.
세부정보 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||||
반환 값 |
|
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 세션을 설정하기 위해 호출됩니다.
세부정보 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||
반환 값 |
|
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 세션을 설정하기 위해 호출됩니다.
세부정보 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||||
반환 값 |
|
WeaveSecurityManager
WeaveSecurityManager( void )