nl::Weave::WeaveSecurityManager

Özet

Oluşturucular ve Yıkıcılar

WeaveSecurityManager(void)

Herkese açık türler

KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
Anahtar hata mesajı işleme işlevinin türü.
KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Anahtar dışa aktarma protokolü tam işleme işlevinin türü.
KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Anahtar dışa aktarma protokolü hata işleme işlevinin türü.
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

Herkese açık özellikler

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
Anahtar hatası geri çağırma işlevi.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
Anahtar dışa aktarma protokolü eksiksiz geri çağırma işlevi.
mStartKeyExport_OnError
Anahtar dışa aktarma protokolü hatası geri çağırma işlevi.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Kamu işlevleri

CancelSessionEstablishment(void *reqState)
Devam eden oturum oluşturma işlemini iptal edin.
Init(WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError(WEAVE_ERROR err)
bool
Belirtilen Weave hata kodunun temel hata kodlarından biri olup olmadığını kontrol eder.
OnEncryptedMsgRcvd(uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey(uint64_t peerNodeId, uint16_t keyId)
void
İleti şifreleme anahtarı rezervasyonu iptal etme.
ReserveKey(uint64_t peerNodeId, uint16_t keyId)
void
Mesaj şifreleme anahtarına rezervasyon yaptırın.
SendKeyErrorMsg(WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Tuş hata mesajı gönder.
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)
Bu yöntem, yeni CASE oturumu oluşturmak veya mevcut CASE oturumunu bulmak için çağrılır.
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)
Bu yöntem güvenli PASE oturumu oluşturmak için çağrılır.
StartTAKESession(WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Bu yöntem güvenli Çekme oturumu oluşturmak için çağrılır.

Herkese açık türler

KeyErrorMsgRcvdFunct

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

Anahtar hata mesajı işleme işlevinin türü.

Ayrıntılar
Parametreler
[in] keyId
Şifreleme anahtarı, eşin anahtar hata mesajı yanıtına neden oldu.
[in] encType
keyId ile ilişkili şifreleme türü.
[in] messageId
Weave mesajının tanımlayıcısı, eşin anahtar hata yanıtını oluşturdu.
[in] peerNodeId
Temel hata mesajı gönderen Weave düğümünün tanımlayıcısı.
[in] keyErr
Eşten alınan hata kodu.

KeyExportCompleteFunct

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

Anahtar dışa aktarma protokolü tam işleme işlevinin türü.

Ayrıntılar
Parametreler
[in] sm
WeaveSecurityManager nesnesine yönelik işaretçi.
[in] con
WeaveConnection nesnesine yönelik işaretçi.
[in] reqState
Anahtar dışa aktarma isteğinde bulunan kişinin durumunu gösteren işaretçi.
[in] keyId
Dışa aktarılan anahtar kimliği.
[in] exportedKey
Dışa aktarılan gizli anahtarın işaretçisi.
[in] exportedKeyLen
Dışa aktarılan gizli anahtar uzunluğuna bir referans.

KeyExportErrorFunct

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

Anahtar dışa aktarma protokolü hata işleme işlevinin türü.

Ayrıntılar
Parametreler
[in] sm
WeaveSecurityManager nesnesine yönelik işaretçi.
[in] con
WeaveConnection nesnesine yönelik işaretçi.
[in] reqState
Anahtar dışa aktarma isteğinde bulunan kişinin durumunu gösteren işaretçi.
[in] localErr
Anahtar dışa aktarma protokolü sırasında WEAVE_ERROR ile karşılaşıldı.
[in] statusReport
Eşten hata durumu alındıysa StatusReport nesnesine işaret eden

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)

Eyalet

 State

Herkese açık özellikler

CASEUseBilinenECDHAnahtarı

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

Anahtar hatası geri çağırma işlevi.

Bu işlev, bir anahtar hata mesajı alındığında çağrılır.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Eyalet

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Anahtar dışa aktarma protokolü eksiksiz geri çağırma işlevi.

Bu işlev, gizli anahtar dışa aktarma işlemi tamamlandığında çağrılır.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

Anahtar dışa aktarma protokolü hatası geri çağırma işlevi.

Bu işlev, anahtar dışa aktarma işlemi sırasında bir hatayla karşılaşıldığında çağrılır.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Kamu işlevleri

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Devam eden oturum oluşturma işlemini iptal edin.

Ayrıntılar
Parametreler
[in] reqState
Oturum başlatıldığında uygulamanın sağladığı değerle eşleşen bir işaretçi değeridir.
Döndürülen Değerler
WEAVE_NO_ERROR
Eşleşen ve devam eden bir oturumun bulunup bulunmadığı ve iptal edilip edilmediği.
WEAVE_ERROR_INCORRECT_STATE
Devam eden bir oturum kurulumu yoksa veya devam eden oturum, sağlanan istek durumu işaretçisiyle eşleşmediyse.

Başlat

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

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Belirtilen Weave hata kodunun temel hata kodlarından biri olup olmadığını kontrol eder.

Bu işlev, kod çözme sırasında doğru anahtarı bulamayan mesajı başlatan anahtar hata mesajının gönderilip gönderilmeyeceğini belirlemek için çağrılır.

Ayrıntılar
Parametreler
[in] err
Weave hata kodu.
Döndürülen Değerler
true
Belirtilirse Weave hata kodu önemli bir hatadır.
false
Aksi takdirde.

OnEncryptedMsgRcvd

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

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

İleti şifreleme anahtarı rezervasyonu iptal etme.

Daha önce bir ileti şifreleme anahtarına yerleştirilen rezervasyonları iptal edin.

Belirli bir anahtara yerleştirilen her rezervasyon için ReleaseKey() yöntemi en fazla bir kez çağrılmalıdır.

Bu yöntem, Hiçbiri dahil olmak üzere herhangi bir anahtar kimliği biçimini kabul eder. Gerçek anahtarları adlandırmayan anahtar kimlikleri yoksayılır.

Ayrıntılar
Parametreler
[in] peerNodeId
Anahtarın paylaşıldığı eşin Weave düğüm kimliği.
[in] keyId
Rezervasyonu iptal edilmesi gereken anahtarın kimliği.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Mesaj şifreleme anahtarına rezervasyon yaptırın.

Anahtar rezervasyonları, belirli bir anahtarın aktif olarak kullanıldığını ve saklanması gerektiğini belirtmek için kullanılır. Anahtara rezervasyon yerleştirmenin, bir KeyError mesajının alınması gibi açık bir işlem sonucunda anahtarın kaldırılmayacağını garanti etmediğini unutmayın.

Belirli bir anahtara yerleştirilen her rezervasyon için ReleaseKey() öğesine karşılık gelen bir çağrı yapılmalıdır.

Bu yöntem, Hiçbiri dahil olmak üzere herhangi bir anahtar kimliği biçimini kabul eder. Gerçek anahtarları adlandırmayan anahtar kimlikleri yoksayılır.

Ayrıntılar
Parametreler
[in] peerNodeId
Anahtarın paylaşıldığı eşin Weave düğüm kimliği.
[in] keyId
Ayrılacak anahtarın kimliği.

SendKeyErrorMsg

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

Tuş hata mesajı gönder.

Bu işlev, anahtar hatası nedeniyle alınan Weave mesaj kodunu çözme işlemi başarısız olduğunda çağrılır.

Ayrıntılar
Parametreler
[in] rcvdMsgInfo
Alınan Weave mesajının ileti bilgisinin işaretçisi.
[in] rcvdMsgPacketInfo
Alınan Weave mesajının IPPacketInfo nesnesine işaret eden bir işaretçi.
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] keyErr
Weave key hata kodu.
Döndürülen Değerler
WEAVE_ERROR_NO_MEMORY
Yeni exchange bağlamı veya yeni mesaj arabelleği için bellek tahsis edilemedi.
WEAVE_ERROR_BUFFER_TOO_SMALL
Tampon çok küçükse
WEAVE_NO_ERROR
Yöntem başarılı olup olmadığı.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Kapat

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
)

Bu yöntem, yeni CASE oturumu oluşturmak veya mevcut CASE oturumunu bulmak için çağrılır.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
[in] peerAddr
Eş düğümün IP adresi.
[in] peerPort
Eş düğümün bağlantı noktası.
[in] requestedAuthMode
Eşin kimliğinin doğrulanması için istenen yöntem. Bu, CASE kimlik doğrulama modlarından biri olmalıdır.
[in] reqState
İstekte bulunanın durumunu gösteren bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda geri çağırma işlevine yönelik işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri çağırma işlevine yönelik bir işaretçi.
[in] authDelegate
CASE kimlik doğrulaması yetki nesnesine işaret eden işaret.
[in] terminatingNodeId
Oturum sonlandıran düğümün düğüm tanımlayıcısı. Bu giriş, paylaşılan güvenli oturumun istendiğini belirten kNodeIdNotSpecified değerinden farklı olduğunda.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.

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
)

Bu yöntem güvenli PASE oturumu oluşturmak için çağrılır.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] requestedAuthMode
Eşin kimliğinin doğrulanması için istenen yöntem. Bu, PASE yetkilendirme modlarından biri olmalıdır.
[in] reqState
İstekte bulunanın durumunu gösteren bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda geri çağırma işlevine yönelik işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri çağırma işlevine yönelik bir işaretçi.
[in] pw
PASE gizli şifresinin işaretçisi.
[in] pwLen
PASE gizli şifresinin uzunluğu.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.

StartTAKESession

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

Bu yöntem güvenli Çekme oturumu oluşturmak için çağrılır.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] requestedAuthMode
Eşin kimliğinin doğrulanması için istenen yöntem. Bu, GET kimlik doğrulama modlarından biri olmalıdır.
[in] reqState
İstekte bulunanın durumunu gösteren bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda geri çağırma işlevine yönelik işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri çağırma işlevine yönelik bir işaretçi.
[in] encryptAuthPhase
Protokol kimlik doğrulama aşamasının şifrelenmiş olup olmayacağını belirten bir boole flag'i.
[in] encryptCommPhase
Protokol iletişim aşamasının şifrelenmiş olup olmayacağını belirten bir boole flag'i.
[in] timeLimitedIK
Kimlik Anahtarı'nın (IK) süre sınırlı olup olmadığını gösteren bir boole flag'i.
[in] sendChallengerId
Mesaja sorgulayıcı kimliğinin dahil edilip edilmeyeceğini gösteren boole flag'i. Aksi takdirde, Weave düğüm kimliği değeri, sorgulamacı kimliği olarak kullanılır.
[in] authDelegate
Sınav katılımcısı kimlik doğrulaması yetki nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)