nl::Weave::WeaveSecurityManager

Ringkasan

Konstruktor dan Destruktor

WeaveSecurityManager(void)

Jenis publik

KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
Jenis fungsi penanganan pesan error utama.
KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Jenis fungsi penanganan protokol ekspor kunci.
KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Jenis fungsi penanganan error protokol ekspor kunci.
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

Atribut publik

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
Fungsi callback error kunci.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
Fungsi callback lengkap protokol ekspor kunci.
mStartKeyExport_OnError
Fungsi callback error protokol ekspor kunci.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Fungsi publik

CancelSessionEstablishment(void *reqState)
Membatalkan pembentukan sesi yang sedang berlangsung.
Init(WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError(WEAVE_ERROR err)
bool
Memeriksa apakah kode error Weave yang ditentukan adalah salah satu kode error utama.
OnEncryptedMsgRcvd(uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey(uint64_t peerNodeId, uint16_t keyId)
void
Melepaskan reservasi kunci enkripsi pesan.
ReserveKey(uint64_t peerNodeId, uint16_t keyId)
void
Melakukan reservasi pada kunci enkripsi pesan.
SendKeyErrorMsg(WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Kirim pesan error kunci.
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)
Metode ini dipanggil untuk membuat sesi CASE baru atau menemukan yang sudah ada.
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)
Metode ini dipanggil untuk membuat sesi TEMPEL yang aman.
StartTAKESession(WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Metode ini dipanggil untuk membuat sesi take yang aman.

Jenis publik

KeyErrorMsgRcvdFunct

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

Jenis fungsi penanganan pesan error utama.

Detail
Parameter
[in] keyId
Kunci enkripsi menyebabkan respons pesan error utama dari peer.
[in] encType
Jenis enkripsi yang terkait dengan keyId.
[in] messageId
Pengenal pesan Weave menghasilkan respons error utama dari peer.
[in] peerNodeId
ID node Weave yang mengirim pesan error utama.
[in] keyErr
Kode error yang diterima dari peer.

KeyExportCompleteFunct

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

Jenis fungsi penanganan protokol ekspor kunci.

Detail
Parameter
[in] sm
Pointer ke objek WeaveSecurityManager.
[in] con
Pointer ke objek WeaveConnection.
[in] reqState
Pointer ke status pemohon ekspor kunci.
[in] keyId
ID kunci yang diekspor.
[in] exportedKey
Pointer ke kunci rahasia yang diekspor.
[in] exportedKeyLen
Referensi ke panjang kunci rahasia yang diekspor.

KeyExportErrorFunct

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

Jenis fungsi penanganan error protokol ekspor kunci.

Detail
Parameter
[in] sm
Pointer ke objek WeaveSecurityManager.
[in] con
Pointer ke objek WeaveConnection.
[in] reqState
Pointer ke status pemohon ekspor kunci.
[in] localErr
WEAVE_ERROR ditemukan selama protokol ekspor kunci.
[in] statusReport
Pointer ke objek StatusReport jika status error diterima dari peer.

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)

Negara Bagian

 State

Atribut publik

{i>CASEUseKnownECDHKey<i}

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

Fungsi callback error kunci.

Fungsi ini dipanggil saat pesan error utama diterima.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Negara Bagian

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Fungsi callback lengkap protokol ekspor kunci.

Fungsi ini dipanggil saat proses ekspor kunci rahasia selesai.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

Fungsi callback error protokol ekspor kunci.

Fungsi ini dipanggil saat terjadi error selama proses ekspor kunci.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Fungsi publik

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Membatalkan pembentukan sesi yang sedang berlangsung.

Detail
Parameter
[in] reqState
Nilai pointer yang cocok dengan nilai yang diberikan oleh aplikasi saat sesi dimulai.
Nilai Pengembalian
WEAVE_NO_ERROR
Jika tempat sesi yang sedang berlangsung ditemukan dan dibatalkan.
WEAVE_ERROR_INCORRECT_STATE
Jika tidak ada pembentukan sesi yang sedang berlangsung, atau sesi yang sedang berlangsung tidak cocok dengan pointer status permintaan yang disediakan.

Inisiasi

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

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Memeriksa apakah kode error Weave yang ditentukan adalah salah satu kode error utama.

Fungsi ini dipanggil untuk menentukan apakah pesan error utama harus dikirim ke inisiator pesan yang gagal menemukan kunci yang tepat selama decoding.

Detail
Parameter
[in] err
Kode error Weave.
Nilai Pengembalian
true
Jika ditentukan, kode error Weave adalah error kunci.
false
Sebaliknya.

OnEncryptedMsgRcvd

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

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Melepaskan reservasi kunci enkripsi pesan.

Melepaskan pemesanan yang sebelumnya ditempatkan di kunci enkripsi pesan.

Untuk setiap reservasi yang dilakukan pada kunci tertentu, metode ReleaseKey() harus dipanggil tidak lebih dari sekali.

Metode ini menerima semua bentuk ID kunci, termasuk Tidak ada. ID kunci yang tidak menyebutkan kunci sebenarnya akan diabaikan.

Detail
Parameter
[in] peerNodeId
ID node Weave pembanding yang digunakan bersama kunci.
[in] keyId
ID kunci yang reservasinya harus dilepaskan.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Melakukan reservasi pada kunci enkripsi pesan.

Pemesanan kunci digunakan untuk menandakan bahwa kunci tertentu sedang digunakan secara aktif dan harus dipertahankan. Perhatikan bahwa menempatkan reservasi pada kunci tidak menjamin bahwa kunci tidak akan dihapus oleh tindakan eksplisit seperti penerimaan pesan KeyError.

Untuk setiap reservasi yang dilakukan pada kunci tertentu, panggilan yang sesuai ke ReleaseKey() harus dilakukan.

Metode ini menerima semua bentuk ID kunci, termasuk Tidak ada. ID kunci yang tidak menyebutkan kunci sebenarnya akan diabaikan.

Detail
Parameter
[in] peerNodeId
ID node Weave pembanding yang digunakan bersama kunci.
[in] keyId
ID kunci yang akan dicadangkan.

SendKeyErrorMsg

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

Kirim pesan error kunci.

Fungsi ini dipanggil saat decoding pesan Weave yang diterima gagal karena error kunci.

Detail
Parameter
[in] rcvdMsgInfo
Pointer ke informasi pesan untuk pesan Weave yang diterima.
[in] rcvdMsgPacketInfo
Pointer ke objek IPPacketInfo dari pesan Weave yang diterima.
[in] con
Pointer ke objek WeaveConnection.
[in] keyErr
Kode error tombol Weave.
Nilai Pengembalian
WEAVE_ERROR_NO_MEMORY
Jika memori tidak dapat dialokasikan untuk konteks pertukaran baru atau buffering pesan baru.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika buffer terlalu kecil
WEAVE_NO_ERROR
Jika metode ini berhasil.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Nonaktif

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
)

Metode ini dipanggil untuk membuat sesi CASE baru atau menemukan yang sudah ada.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] peerNodeId
ID node pembanding.
[in] peerAddr
Alamat IP node peer.
[in] peerPort
Port node peer.
[in] requestedAuthMode
Cara yang diinginkan yang mengharuskan {i>peer<i} untuk diotentikasi. Ini harus berupa salah satu mode autentikasi CASE.
[in] reqState
Pointer ke status pemohon.
[in] onComplete
Pointer ke fungsi callback, yang akan dipanggil setelah sesi aman yang diminta dibuat.
[in] onError
Pointer ke fungsi callback, yang akan dipanggil jika pembentukan sesi yang diminta gagal.
[in] authDelegate
Pointer ke objek delegasi autentikasi CASE.
[in] terminatingNodeId
ID node node penghentian sesi. Jika input ini berbeda dari kNodeIdNotSpecified yang menunjukkan bahwa sesi aman bersama telah diminta.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.

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
)

Metode ini dipanggil untuk membuat sesi TEMPEL yang aman.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] requestedAuthMode
Cara yang diinginkan yang mengharuskan {i>peer<i} untuk diotentikasi. Ini harus merupakan salah satu mode autentikasi TEMPEL.
[in] reqState
Pointer ke status pemohon.
[in] onComplete
Pointer ke fungsi callback, yang akan dipanggil setelah sesi aman yang diminta dibuat.
[in] onError
Pointer ke fungsi callback, yang akan dipanggil jika pembentukan sesi yang diminta gagal.
[in] pw
Pointer ke sandi rahasia PASE.
[in] pwLen
Panjang sandi rahasia PASE.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.

StartTAKESession

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

Metode ini dipanggil untuk membuat sesi take yang aman.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] requestedAuthMode
Cara yang diinginkan yang mengharuskan {i>peer<i} untuk diotentikasi. Mode ini harus berupa salah satu mode autentikasi take.
[in] reqState
Pointer ke status pemohon.
[in] onComplete
Pointer ke fungsi callback, yang akan dipanggil setelah sesi aman yang diminta dibuat.
[in] onError
Pointer ke fungsi callback, yang akan dipanggil jika pembentukan sesi yang diminta gagal.
[in] encryptAuthPhase
Tanda boolean yang menunjukkan apakah fase autentikasi protokol harus dienkripsi.
[in] encryptCommPhase
Tanda boolean yang menunjukkan apakah fase komunikasi protokol harus dienkripsi.
[in] timeLimitedIK
Tanda boolean yang menunjukkan apakah Kunci Identifikasi (IK) memiliki batas waktu.
[in] sendChallengerId
Tanda boolean yang menunjukkan apakah identifikasi penantang harus disertakan dalam pesan. Jika tidak disertakan, nilai ID node Weave akan digunakan sebagai ID penantang.
[in] authDelegate
Pointer ke objek delegasi autentikasi penantang take.
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)