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 terkait autentikasi selama ekspor kunci.

Ringkasan

Inheritance

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

Fungsi publik

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Bersiap untuk memvalidasi sertifikat pembanding.
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
Mengatur 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
Rilis kumpulan sertifikat node.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Verifikasi 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 pembanding.

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

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

Implementasi diperlukan untuk mempertahankan resource yang dialokasikan selama BeginCertValidation() hingga EndCertValidation() yang terkait dipanggil. Implementasi dijamin bahwa EndCertValidation() akan dipanggil tepat sekali 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 pembanding 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

Mengatur sertifikat ekspor kunci untuk node lokal.

Dipanggil saat mesin ekspor kunci bersiap menandatangani pesan ekspor kunci. Metode ini bertanggung jawab untuk menginisialisasi kumpulan 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 hasilnya dengan error.

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

Untuk node yang memulai, metode ini diharapkan dapat memverifikasi bahwa sertifikat yang divalidasi secara tepat mengidentifikasi peer yang dikirimi permintaan ekspor kunci.

ReleaseNodeCertSet

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

Rilis kumpulan sertifikat node.

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

ValidateUnsignedKeyExportMessage

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

Verifikasi keamanan pesan ekspor kunci yang tidak ditandatangani.

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

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

Untuk node yang memulai, metode ini diharapkan untuk memverifikasi pesan yang secara sah berasal dari peer yang dikirimi permintaan ekspor kunci.