Предоставляет общий интерфейс и разделяемый указатель для асимметричных открытых ключей.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 49ae23e669f8ПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Предоставляет общий интерфейс и разделяемый указатель для асимметричных открытых ключей.
Интерфейс ara::crypto::cryp::PublicKey представляет собой общий объект асимметричного открытого ключа в модуле crypto и наследуется от CryptoObject. Для ссылок и передачи класс предоставляет псевдоним типа Sptr как std::shared_ptr<PublicKey>, подключаемый через заголовочный файл "ara/crypto/cryp/cryobj/public_key.h"[SWS_CRYPT_22701]. Интерпретация: приложения, вероятно, передают экземпляры PublicKey::Sptr[SWS_CRYPT_22701] криптографическим контекстным классам для асимметричной верификации или шифрования. Вопрос (открытый) Время жизни и освобождение открытого ключа при этом полностью управляются счетчиком ссылок разделяемого смарт-указателя.
Контекст
Класс ara::crypto::cryp::PublicKey определяет общий интерфейс для асимметричных открытых ключей (General Asymmetric Public Key interface) внутри модуля crypto платформы AUTOSAR Adaptive Platform. В соответствии со своим синтаксическим объявлением класс публично наследует от CryptoObject. В этой роли он выступает в качестве базового типа и единого интерфейсного контракта для всех структур асимметричных открытых ключей, используемых в криптографических операциях. В качестве открытого ключа объект этого класса представляет математически открытую часть пары асимметричных ключей, предназначенную для целей верификации или шифрования и не содержащую конфиденциальных параметров закрытого ключа. Доступ к определению интерфейса осуществляется через заголовочный файл #include "ara/crypto/cryp/cryobj/public_key.h" согласно [SWS_CRYPT_22701]. Интерпретация: поскольку PublicKey напрямую унаследован от CryptoObject, интерфейс, вероятно, разделяет общие свойства и соглашения для криптографических объектов платформы, одновременно предоставляя специфическую абстракцию асимметричного ключа. Вопрос Q-83979c7ba039e328 (открытый)
Жизненный цикл
Для управления экземплярами и их передачи класс предоставляет псевдоним типа Sptr, определенный как std::shared_ptr<PublicKey>[SWS_CRYPT_22701]. Таким образом, отношения владения открытым ключом основаны на совместном владении (Shared Ownership). Это позволяет различным системным компонентам и вызывающим сторонам параллельно ссылаться на один и тот же экземпляр ключа без обязательного определения эксклюзивного владельца. Жизненный цикл конкретного экземпляра ключа управляется счетчиком ссылок стандартного смарт-указателя. Как только последняя ссылка освобождается и счетчик достигает нуля, происходит контролируемое уничтожение объекта. Интерпретация: явное предоставление псевдонима Sptr[SWS_CRYPT_22701], вероятно, указывает на то, что экземпляры PublicKey обычно создаются через фабрики или подпрограммы загрузки криптографического модуля и передаются пользователям напрямую в виде Shared Pointer, вместо управления ими в виде сырых указателей или объектов-значений. Вопрос Q-0cdb961ab357bc3b (открытый) В отношении параллелизма адресация через std::shared_ptr допускает передачу указателя между потоками, при этом параллельные модификации для чистого открытого ключа обычно не требуются, поскольку он в первую очередь служит неизменяемым ссылочным параметром.
Путь использования
Типичный путь использования ara::crypto::cryp::PublicKey начинается с подключения соответствующего заголовочного файла "ara/crypto/cryp/cryobj/public_key.h"[SWS_CRYPT_22701]. Затем приложение получает ссылку на объект ключа в виде типизированного смарт-указателя ara::crypto::cryp::PublicKey::Sptr[SWS_CRYPT_22701]. Этот указатель представляет собой готовый к использованию объект асимметричного ключа. Интерпретация: полученный экземпляр Sptr[SWS_CRYPT_22701] на последующих шагах, вероятно, передается классам криптографического контекста, например, для проверки цифровых подписей или асимметричного шифрования данных. Вопрос Q-b4800044ca9f058a (открытый) После завершения криптографических операций верификации или вычислений объект ключа либо остается в совместном владении для будущих проверок, либо автоматически освобождается, как только локальная область видимости Sptr покидается. Благодаря инкапсуляции в виде абстрактного интерфейса вызывающим сторонам не требуется знать внутренние детали алгоритма ключа, они взаимодействуют через единый интерфейс PublicKey.
Настоящее руководство основано на спецификации AUTOSAR Adaptive R25-11 и было создано автоматически.
UML-диаграмма классов
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал