nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate

Ini adalah class abstrak.

#include <src/lib/profiles/security/WeaveKeyExport.h>

Class delegasi abstrak yang dipanggil oleh mesin KeyExport untuk melakukan berbagai tindakan yang terkait dengan autentikasi selama ekspor kunci.

Ringkasan

Inheritance

Subclass yang Dikenal Langsung: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Fungsi publik

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Bersiap untuk memvalidasi sertifikat rekan.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Melepaskan resource yang terkait dengan validasi sertifikat pembanding.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Buat tanda tangan untuk pesan ekspor kunci.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Menyetel sertifikat ekspor kunci untuk node lokal.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Memproses hasil validasi sertifikat pembanding.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Lepaskan kumpulan sertifikat node.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Memverifikasi keamanan pesan ekspor kunci yang tidak ditandatangani.

Fungsi publik

BeginCertValidation

virtual WEAVE_ERROR BeginCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Bersiap untuk memvalidasi sertifikat rekan.

Dipanggil pada awal validasi sertifikat. Metode ini bertanggung jawab untuk menyiapkan set sertifikat yang disediakan dan konteks validasi untuk digunakan dalam memvalidasi sertifikat node peer. Implementasi harus menginisialisasi objek WeaveCertificateSet yang disediakan dengan resource yang memadai untuk menangani validasi sertifikat yang akan datang. Implementasi tersebut juga harus memuat root atau CA certificate tepercaya yang diperlukan ke dalam kumpulan sertifikat.

Konteks validasi yang diberikan akan diinisialisasi dengan serangkaian kriteria validasi default, yang dapat diubah implementasinya sesuai kebutuhan. Implementasi tersebut harus menetapkan kolom EffectiveTime, atau menyetel tanda validasi yang sesuai untuk menyembunyikan validasi masa aktif sertifikat.

Implementasi ini diperlukan untuk mempertahankan setiap resource yang dialokasikan selama BeginCertValidation() sampai EndCertValidation() yang sesuai dipanggil. Implementasi dijamin bahwa EndCertValidation() akan dipanggil tepat satu kali untuk setiap panggilan yang berhasil ke BeginCertValidation().

EndCertValidation

virtual WEAVE_ERROR EndCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Melepaskan resource yang terkait dengan validasi sertifikat pembanding.

Dipanggil saat validasi sertifikat peer dan verifikasi permintaan selesai.

GenerateNodeSignature

virtual WEAVE_ERROR GenerateNodeSignature(
  WeaveKeyExport *keyExport,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer
)=0

Buat tanda tangan untuk pesan ekspor kunci.

Metode ini bertanggung jawab untuk menghitung tanda tangan nilai hash yang diberikan menggunakan kunci pribadi node lokal dan menulis tanda tangan ke penulis TLV yang disediakan sebagai struktur TLV WeaveSignature.

GetNodeCertSet

virtual WEAVE_ERROR GetNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Menyetel sertifikat ekspor kunci untuk node lokal.

Dipanggil saat mesin ekspor kunci bersiap untuk menandatangani pesan ekspor kunci. Metode ini bertanggung jawab untuk menginisialisasi set sertifikat dan memuat semua sertifikat yang akan disertakan atau dirujuk dalam tanda tangan pesan. Sertifikat terakhir yang dimuat harus berupa sertifikat penandatanganan.

HandleCertValidationResult

virtual WEAVE_ERROR HandleCertValidationResult(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  uint32_t requestedKeyId
)=0

Memproses hasil validasi sertifikat pembanding.

Dipanggil saat validasi sertifikat node peer telah selesai. Metode ini hanya dipanggil jika validasi sertifikat berhasil diselesaikan. Implementasi dapat menggunakan panggilan ini untuk memeriksa hasil validasi, dan mungkin mengganti hasil dengan error.

Untuk node yang merespons, metode ini diharapkan bisa memverifikasi otoritas pemohon untuk mengekspor kunci yang diminta.

Untuk node yang memulai, metode ini diharapkan akan memverifikasi bahwa sertifikat yang divalidasi dengan benar mengidentifikasi peer yang dikirimi permintaan ekspor kunci.

ReleaseNodeCertSet

virtual WEAVE_ERROR ReleaseNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Lepaskan kumpulan sertifikat node.

Dipanggil saat mesin ekspor kunci dilakukan dengan kumpulan sertifikat yang ditampilkan oleh GetNodeCertSet().

ValidateUnsignedKeyExportMessage

virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage(
  WeaveKeyExport *keyExport,
  uint32_t requestedKeyId
)=0

Memverifikasi keamanan pesan ekspor kunci yang tidak ditandatangani.

Dipanggil saat node menerima pesan ekspor kunci yang tidak ditandatangani. Metode ini diharapkan dapat memverifikasi keamanan pesan ekspor kunci yang tidak ditandatangani berdasarkan konteks komunikasinya, misalnya melalui atribut sesi keamanan yang digunakan untuk mengirim pesan.

Untuk node respons, metode ini diharapkan dapat memverifikasi otoritas inisiator untuk mengekspor kunci yang diminta.

Untuk node yang memulai, metode ini diharapkan akan memverifikasi pesan yang secara sah berasal dari peer yang menjadi tujuan pengiriman permintaan ekspor kunci.