нл:: Переплетение:: Профили:: Безопасность:: КлючЭкспорт:: WeaveKeyExportDelegate

Это абстрактный класс.

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

Абстрактный класс делегата, вызываемый механизмом KeyExport для выполнения различных действий, связанных с аутентификацией во время экспорта ключей.

Краткое содержание

Наследование

Прямые известные подклассы: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Общественные функции

BeginCertValidation ( WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Подготовьтесь к проверке сертификата узла.
EndCertValidation ( WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Освободите ресурсы, связанные с проверкой однорангового сертификата.
GenerateNodeSignature ( WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Создайте подпись для ключевого сообщения экспорта.
GetNodeCertSet ( WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Получите набор сертификатов экспорта ключей для локального узла.
HandleCertValidationResult ( WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Обработать результаты проверки сертификата узла.
ReleaseNodeCertSet ( WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Освободите набор сертификатов узла.
ValidateUnsignedKeyExportMessage ( WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Проверьте безопасность сообщения экспорта неподписанного ключа.

Общественные функции

Бегинсертвалидация

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

Подготовьтесь к проверке сертификата узла.

Вызывается в начале проверки сертификата. Этот метод отвечает за подготовку предоставленного набора сертификатов и контекста проверки для использования при проверке сертификата однорангового узла. Реализации должны инициализировать предоставленный объект WeaveCertificateSet с достаточными ресурсами для обработки предстоящей проверки сертификата. Реализация также должна загрузить в набор сертификатов все необходимые доверенные корневые сертификаты или сертификаты CA.

Предоставленный контекст проверки будет инициализирован набором критериев проверки по умолчанию, которые реализация может изменить по мере необходимости. Реализация должна либо установить поле «Эффективное время», либо установить соответствующие флаги проверки, чтобы подавить проверку срока действия сертификата.

Реализация необходима для поддержания любых ресурсов, выделенных во время BeginCertValidation(), до тех пор, пока не будет вызван соответствующий EndCertValidation() . Реализации гарантируют, что EndCertValidation() будет вызываться ровно один раз для каждого успешного вызова BeginCertValidation() .

EndCertValidation

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

Освободите ресурсы, связанные с проверкой однорангового сертификата.

Вызывается, когда проверка однорангового сертификата и проверка запроса завершены.

Генератнодеподпись

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

Создайте подпись для ключевого сообщения экспорта.

Этот метод отвечает за вычисление подписи данного значения хеш-функции с использованием закрытого ключа локального узла и запись подписи в предоставленный модуль записи TLV в виде структуры WeaveSignature TLV .

GetNodeCertSet

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

Получите набор сертификатов экспорта ключей для локального узла.

Вызывается, когда механизм экспорта ключей готовится подписать сообщение экспорта ключей. Этот метод отвечает за инициализацию набора сертификатов и загрузку всех сертификатов, которые будут включены или указаны в подписи сообщения. Последний загруженный сертификат должен быть сертификатом подписи.

HandleCertValidationResult

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

Обработать результаты проверки сертификата узла.

Вызывается после завершения проверки сертификата однорангового узла. Этот метод вызывается только в случае успешного завершения проверки сертификата. Реализации могут использовать этот вызов для проверки результатов проверки и, возможно, переопределить результат с ошибкой.

Ожидается, что для отвечающего узла этот метод проверит полномочия запрашивающей стороны на экспорт запрошенного ключа.

Ожидается, что для инициирующего узла метод проверит, что проверенный сертификат правильно идентифицирует одноранговый узел, которому был отправлен запрос на экспорт ключа.

Релизнодецертсет

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

Освободите набор сертификатов узла.

Вызывается, когда механизм экспорта ключей завершает работу с набором сертификатов, возвращаемым GetNodeCertSet() .

ValidateUnsignedKeyExportMessage

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

Проверьте безопасность сообщения экспорта неподписанного ключа.

Вызывается, когда узел получает сообщение экспорта ключа, которое не подписано. Ожидается, что метод проверит безопасность сообщения экспорта беззнакового ключа на основе контекста его связи, например, через атрибуты сеанса безопасности, используемого для отправки сообщения.

Ожидается, что для отвечающего узла метод проверит полномочия инициатора на экспорт запрошенного ключа.

Ожидается, что для инициирующего узла метод проверит законность сообщения, исходящего от узла, которому был отправлен запрос на экспорт ключа.