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 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 موجود فراخوانی می شود.
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
نوع رمزگذاری مرتبط با keyId .
[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
شناسه کلید صادر شده
[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

Exchange Manager

WeaveExchangeManager * ExchangeManager

Fabric State

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 را می پذیرد. شناسه های کلیدی که کلیدهای واقعی را نام نمی برند نادیده گرفته می شوند.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره بافت همتا که کلید با آن به اشتراک گذاشته شده است.
[in] keyId
شناسه کلیدی که رزرو آن باید آزاد شود.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

روی یک کلید رمزگذاری پیام رزرو کنید.

رزرو کلید برای نشان دادن اینکه یک کلید خاص به طور فعال در حال استفاده است و باید حفظ شود استفاده می شود. توجه داشته باشید که قرار دادن رزرو روی یک کلید تضمین نمی کند که کلید با یک اقدام صریح مانند دریافت پیام KeyError حذف نخواهد شد.

برای هر رزروی که روی یک کلید خاص قرار می‌گیرد، باید یک فراخوانی مربوط به ReleaseKey () برقرار شود.

این روش هر شکلی از شناسه کلید از جمله None را می پذیرد. شناسه های کلیدی که کلیدهای واقعی را نام نمی برند نادیده گرفته می شوند.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره بافت همتا که کلید با آن به اشتراک گذاشته شده است.
[in] keyId
شناسه کلیدی که باید رزرو شود.

SendKeyErrorMsg

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

ارسال پیام خطای کلیدی

این تابع زمانی فراخوانی می شود که رمزگشایی پیام Weave دریافتی به دلیل خطای کلید با شکست مواجه شود.

جزئیات
مولفه های
[in] rcvdMsgInfo
اشاره گر به اطلاعات پیام برای پیام Weave دریافتی.
[in] rcvdMsgPacketInfo
یک اشاره گر به شی IPPacketInfo پیام Weave دریافتی.
[in] con
اشاره گر به شی WeaveConnection .
[in] keyErr
کد خطای کلید بافت.
ارزش های بازگشتی
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 موجود فراخوانی می شود.

جزئیات
مولفه های
[in] con
اشاره گر به شی WeaveConnection .
[in] peerNodeId
شناسه گره همتا.
[in] peerAddr
آدرس IP گره همتا.
[in] peerPort
پورت گره همتا.
[in] requestedAuthMode
ابزار مورد نظری که با آن همتا باید احراز هویت شود. این باید یکی از حالت های CASE auth باشد.
[in] reqState
اشاره گر به حالت درخواست کننده
[in] onComplete
یک اشاره گر به تابع پاسخ به تماس، که پس از برقراری جلسه امن درخواستی فراخوانی می شود.
[in] onError
یک اشاره گر به تابع callback، که در صورت عدم موفقیت در برقراری جلسه درخواستی فراخوانی می شود.
[in] authDelegate
یک اشاره گر به شیء نمایندگی CASE authentication.
[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
)

StartPASESsion

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
یک اشاره گر به تابع callback، که در صورت عدم موفقیت در برقراری جلسه درخواستی فراخوانی می شود.
[in] pw
اشاره گر به رمز عبور مخفی PASE.
[in] pwLen
طول رمز عبور مخفی PASE.
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت

شروعTAKESsesion

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
یک اشاره گر به تابع callback، که در صورت عدم موفقیت در برقراری جلسه درخواستی فراخوانی می شود.
[in] encryptAuthPhase
یک پرچم بولین که نشان می دهد آیا مرحله احراز هویت پروتکل باید رمزگذاری شود یا خیر.
[in] encryptCommPhase
یک پرچم بولین که نشان می دهد آیا فاز ارتباطی پروتکل باید رمزگذاری شود یا خیر.
[in] timeLimitedIK
یک پرچم بولی که نشان می دهد آیا کلید شناسایی (IK) محدود به زمان است یا خیر.
[in] sendChallengerId
یک پرچم بولین که نشان می دهد آیا شناسایی چالشگر باید در پیام گنجانده شود یا خیر. اگر شامل نمی شود، از مقدار شناسه گره بافت به عنوان شناسه چالش استفاده می شود.
[in] authDelegate
یک اشاره گر به شی نماینده تأیید هویت چالشگر TAKE.
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت

WeaveSecurityManager

 WeaveSecurityManager(
  void
)