nl:: örgü:: WeaveGüvenlik Yöneticisi

Özet

Yapıcılar ve Yıkıcılar

WeaveSecurityManager (void)

Genel 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ünün türü tam işleme işlevi.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Anahtar dışa aktarma protokolü hata işleme işlevi 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 Sıralama

Genel ö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 hata geri arama 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ü geri arama işlevini tamamlar.
mStartKeyExport_OnError
Anahtar dışa aktarma protokolü hatası geri arama işlevi.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Kamu işlevleri

CancelSessionEstablishment (void *reqState)
Devam eden bir oturum kurulumunu iptal edin.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
Belirtilen Örgü 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
Bir mesaj şifreleme anahtarı rezervasyonu yayınlayın.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
Bir mesaj şifreleme anahtarına rezervasyon yapın.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Anahtar 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 bir 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 TAKE oturumu kurmak için çağrılır.

Genel 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şten anahtar hata mesajı yanıtına neden oldu.
[in] encType
KeyID ile ilişkili Şifreleme türü.
[in] messageId
Örgü mesajının tanımlayıcısı, eşten anahtar hata yanıtıyla sonuçlandı.
[in] peerNodeId
Anahtar hata mesajı gönderen Örgü 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ünün türü tam işleme işlevi.

Ayrıntılar
parametreler
[in] sm
Bir işaretçi WeaveSecurityManager nesne.
[in] con
Bir işaretçi WeaveConnection nesne.
[in] reqState
Anahtar dışa aktarma isteğinde bulunan durumuna yönelik bir 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 başvuru.

KeyExportErrorFunct

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

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

Ayrıntılar
parametreler
[in] sm
Bir işaretçi WeaveSecurityManager nesne.
[in] con
Bir işaretçi WeaveConnection nesne.
[in] reqState
Anahtar dışa aktarma isteğinde bulunan durumuna yönelik bir 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ınırsa StatusReport nesnesine bir işaretçi.

SessionErrorFunct

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

OturumKurulanİşlev

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

Durum

 State

Genel özellikler

CASEBilinenECDHKey

bool CASEUseKnownECDHKey

ExchangeManager

WeaveExchangeManager * ExchangeManager

KumaşDurumu

WeaveFabricState * FabricState

IdleSessionZaman aşımı

uint32_t IdleSessionTimeout

BaşlatıcıAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

Başlatıcıİzin VerildiCASECeğriler

uint8_t InitiatorAllowedCASECurves

BaşlatıcıAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

BaşlatıcıCASEConfig

uint32_t InitiatorCASEConfig

BaşlatıcıCASECurveId

uint32_t InitiatorCASECurveId

BaşlatıcıKeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

Anahtar hata geri arama işlevi.

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

OnSessionError

SessionErrorFunct OnSessionError

OnSessionKuruldu

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

Yanıtlayıcıİzin VerildiCASECeğriler

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

OturumKuruluşZaman Aşımı

uint32_t SessionEstablishTimeout

Durum

uint8_t State

mCASEMotor

WeaveCASEEngine * mCASEEngine

mKeyİhracat

WeaveKeyExport * mKeyExport

mPASEMotor

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Anahtar dışa aktarma protokolü geri arama işlevini tamamlar.

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 arama işlevi.

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

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEMotor

WeaveTAKEEngine * mTAKEEngine

Kamu işlevleri

İptalOturumKurulumu

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Devam eden bir oturum kurulumunu iptal edin.

Ayrıntılar
parametreler
[in] reqState
Oturum başlatıldığında uygulama tarafından sağlanan değerle eşleşen bir işaretçi değeri.
Dönüş Değerleri
WEAVE_NO_ERROR
Eşleşen bir devam eden oturum kurulumu bulunur ve iptal edilirse.
WEAVE_ERROR_INCORRECT_STATE
Devam eden bir oturum kurulumu yoksa veya devam eden oturum, sağlanan istek durumu işaretçisiyle eşleşmediyse.

İçinde

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

AnahtarHata

bool IsKeyError(
  WEAVE_ERROR err
)

Belirtilen Örgü hata kodunun temel hata kodlarından biri olup olmadığını kontrol eder.

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

Ayrıntılar
parametreler
[in] err
Bir Örgü hata kodu.
Dönüş Değerleri
true
Belirtilen Örgü hata kodu bir anahtar hatadır.
false
Aksi takdirde.

OnEncryptedMsgRcvd

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

YayınAnahtarı

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Bir mesaj şifreleme anahtarı rezervasyonu yayınlayın.

Daha önce bir mesaj şifreleme anahtarına yerleştirilmiş olan bir rezervasyonu serbest bırakın.

Belirli bir anahtar yerleştirilir her rezervasyon için ReleaseKey () metodu fazla çağrılması gerekir.

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

Ayrıntılar
parametreler
[in] peerNodeId
Anahtarın paylaştığı eşin Örgü düğüm kimliği.
[in] keyId
Rezervasyonu serbest bırakılması gereken anahtarın kimliği.

RezervAnahtarı

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Bir mesaj şifreleme anahtarına rezervasyon yapın.

Anahtar rezervasyonları, belirli bir anahtarın aktif olarak kullanımda olduğunu ve saklanması gerektiğini belirtmek için kullanılır. Bir anahtara rezervasyon yerleştirmenin, KeyError mesajının alınması gibi açık bir eylemle anahtarın kaldırılmayacağını garanti etmediğini unutmayın.

Belirli bir anahtar yerleştirilir her rezervasyon için, karşılık gelen bir çağrı ReleaseKey () yapılmalıdır.

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

Ayrıntılar
parametreler
[in] peerNodeId
Anahtarın paylaştığı eşin Örgü 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
)

Anahtar hata mesajı gönder.

Bu fonksiyon, anahtar hatası nedeniyle Örgü mesajının kodunun çözülmesi başarısız olduğunda çağrılır.

Ayrıntılar
parametreler
[in] rcvdMsgInfo
Alınan Weave mesajı için mesaj bilgisine bir işaretçi.
[in] rcvdMsgPacketInfo
Alınan Weave mesajının IPPacketInfo nesnesine bir işaretçi.
[in] con
Bir işaretçi WeaveConnection nesne.
[in] keyErr
Anahtar hata kodunu örün.
Dönüş Değerleri
WEAVE_ERROR_NO_MEMORY
Yeni değişim bağlamı veya yeni mesaj arabelleği için bellek ayrılamadıysa.
WEAVE_ERROR_BUFFER_TOO_SMALL
Tampon çok küçükse
WEAVE_NO_ERROR
Yöntem başarılı olursa.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetAnahtarİhracatDelege

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Kapat

WEAVE_ERROR Shutdown(
  void
)

BaşlatCASESession

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 bir CASE oturumu oluşturmak veya mevcut CASE oturumunu bulmak için çağrılır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[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 yol. Bu, CASE auth modlarından biri olmalıdır.
[in] reqState
İstekte bulunan durumuna yönelik bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] authDelegate
CASE kimlik doğrulama temsilci nesnesine yönelik bir işaretçi.
[in] terminatingNodeId
Oturumu sonlandıran düğümün düğüm tanımlayıcısı. Bu giriş, paylaşılan güvenli oturumun istendiğini belirten kNodeIdNotSpecified öğesinden farklı olduğunda.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.

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
Bir işaretçi WeaveConnection nesne.
[in] requestedAuthMode
Eşin kimliğinin doğrulanması için istenen yol. Bu, PASE auth modlarından biri olmalıdır.
[in] reqState
İstekte bulunan durumuna yönelik bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] pw
PASE gizli parolasına yönelik bir işaretçi.
[in] pwLen
PASE gizli parolasının uzunluğu.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.

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 TAKE oturumu kurmak için çağrılır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] requestedAuthMode
Eşin kimliğinin doğrulanması için istenen yol. Bu, AL kimlik doğrulama modlarından biri olmalıdır.
[in] reqState
İstekte bulunan durumuna yönelik bir işaretçi.
[in] onComplete
İstenen güvenli oturum kurulduğunda çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] onError
İstenen oturum kurulumu başarısız olursa çağrılacak olan geri arama işlevine yönelik bir işaretçi.
[in] encryptAuthPhase
Protokol kimlik doğrulama aşamasının şifrelenmesi gerekip gerekmediğini gösteren bir boole bayrağı.
[in] encryptCommPhase
Protokol iletişim aşamasının şifrelenmesi gerekip gerekmediğini gösteren bir boole bayrağı.
[in] timeLimitedIK
Tanımlama Anahtarının (IK) zamanla sınırlı olup olmadığını gösteren bir boole bayrağı.
[in] sendChallengerId
Mesaja meydan okuyan kimliğinin dahil edilip edilmeyeceğini belirten bir boole bayrağı. Dahil edilmezse, Örgü düğüm kimliği değeri, bir meydan okuyucu kimliği olarak kullanılır.
[in] authDelegate
TAKE meydan okuyucu kimlik doğrulama temsilci nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.

WeaveGüvenlik Yöneticisi

 WeaveSecurityManager(
  void
)