DEENESPTFRRUARHIKOZHNL

класс ara::crypto::cryp::SymmetricKey

[SWS_CRYPT_23800] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02403

class SymmetricKey :          public CryptoObject {...};

Symmetric Key interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)CryptoObject

Руководство пользователяСОЗДАНО ИИ

Инкапсулирует симметричные криптографические ключи и управляет временем их жизни с помощью разделяемых смарт-указателей.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f71a58d7ce35 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Инкапсулирует симметричные криптографические ключи и управляет временем их жизни с помощью разделяемых смарт-указателей.

Интерфейс ara::crypto::cryp::SymmetricKey служит в AUTOSAR Adaptive абстракцией для симметричных криптографических ключей и наследует базовые свойства от CryptoObject. Приложения и криптографические контексты управляют экземплярами ключей преимущественно через стандартизированный тип смарт-указателя Sptr (std::shared_ptr<SymmetricKey>) согласно заголовочному файлу ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801]. Интерпретация: создание экземпляров, вероятно, осуществляется через специализированные подпрограммы генерации системы управления ключами, при этом ключ передается для конфигурации шифров или MAC. Вопрос Q-f76fecc360d2d3a5 (открытый) В качестве определяющего граничного условия подсчет ссылок Shared Pointer задает время жизни, так что инкапсулированный объект ключа уничтожается только после освобождения последней ссылки [SWS_CRYPT_23801].

Контекст

Класс ara::crypto::cryp::SymmetricKey в AUTOSAR Adaptive Platform (Release R25-11, модуль crypto) образует центральный интерфейс для представления симметричных криптографических ключей. Как базовый компонент подсистемы криптографии этот интерфейс инкапсулирует все свойства, необходимые для симметричных криптографических методов. Класс напрямую унаследован от CryptoObject (class SymmetricKey : public CryptoObject) и тем самым встраивается в единую иерархию объектов для криптографических сущностей Adaptive Platform. Интерфейс объявляется в заголовочном файле ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801].

В качестве партнеров по взаимодействию обычно выступают криптографические контексты выполнения, а также сущности управления ключами. Интерфейс функционирует как связующее звено между созданием или предоставлением ключевого материала и его оперативным применением. Интерпретация: симметричные ключи, вероятно, находят применение в первую очередь в симметричных методах шифрования (например, в блочных или потоковых шифрах), а также в кодах аутентификации сообщений (MAC) для обеспечения конфиденциальности и целостности данных на уровне транспортного средства. Вопрос (открытый) Инкапсуляция в виде CryptoObject гарантирует, что ключевой материал остается отделенным от конкретного криптографического преобразования.

Жизненный цикл

Жизненный цикл экземпляров ara::crypto::cryp::SymmetricKey тесно связан с современными шаблонами управления памятью C++. Согласно [SWS_CRYPT_23801], класс предоставляет псевдоним типа Sptr, определенный как using Sptr = std::shared_ptr<SymmetricKey>;. Через этот разделяемый смарт-указатель жизненный цикл интерфейсного объекта управляется детерминированно с подсчетом ссылок.

Интерпретация: фактическое создание и инициализация экземпляров на практике, вероятно, происходят через специализированные генераторы ключей, подпрограммы загрузки или компоненты управления ключами криптографического стека, поскольку определение интерфейса не содержит открытых стандартных конструкторов для прямого создания экземпляров необработанных ключей. Вопрос Q-51acf16b99d9ad1b (открытый) Как только экземпляр ключа создан как Sptr, на него могут параллельно ссылаться несколько программных компонентов или криптографических контекстов на основе совместного владения [SWS_CRYPT_23801].

Освобождение базовых ресурсов происходит автоматически, как только последний активный Sptr уничтожается или сбрасывается. Интерпретация: наследование от CryptoObject позволяет предположить, что чувствительный ключевой материал в памяти защищен особым образом и безопасно очищается (Zeroization) при уничтожении объекта во избежание считывания по истечении времени жизни. Вопрос (открытый) Использование std::shared_ptr также гарантирует потокобезопасность при управлении счетчиками ссылок, тогда как доступ к самому объекту ключа, на который указывает ссылка, подчиняется стандартным правилам синхронизации для совместно используемых ресурсов.

Путь использования

Штатное использование ara::crypto::cryp::SymmetricKey в Adaptive-приложении следует структурированному процессу, опирающемуся на определенный смарт-указатель [SWS_CRYPT_23801]:

  • Подключение заголовочного файла: сначала использующий программный компонент подключает заголовочный файл #include "ara/crypto/cryp/cryobj/symmetric_key.h" для получения доступа к определению типа и псевдониму Sptr [SWS_CRYPT_23801].
  • Получение ключа: приложение получает интерфейс в виде ara::crypto::cryp::SymmetricKey::Sptr [SWS_CRYPT_23801], например, из предшествующего процесса предоставления ключа.
  • Проверка валидности: перед оперативным использованием вызывающая сторона проверяет, что полученный Sptr не равен nullptr и указывает на интактный CryptoObject.
  • Назначение криптоконтекстам: указатель на ключ передается ответственному криптографическому контексту для его настройки на предстоящие операции шифрования, расшифрования или проверки целостности.
  • Освобождение: после завершения преобразований или при выходе из контекста приложения указатель сбрасывается; уничтожение ключа происходит путем автоматического удаления последнего Sptr [SWS_CRYPT_23801].

Этот путеводитель основан на спецификации AUTOSAR Adaptive Platform Release R25-11. Утверждения опираются на упомянутые элементы спецификации, а также на обозначенные соответствующим образом интерпретации.

UML-диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

Псевдонимы типов

Sptr псевдоним типа

Shared smart pointer of the interface.

Документация псевдонимов типов

псевдоним типа Sptr [SWS_CRYPT_23801] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricKey>;

Shared smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Scopeclass ara::crypto::cryp::SymmetricKey
SymbolSptr

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_23801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23801@rel:R25-11#e16f21d2
Content hash
e16f21d2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23801
Status: valid/unmigrated Version: rel:R25-11#882653b8 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_23801@rel:R25-11#882653b8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d033faab2026-09-30
  • R19-11rel:R19-11#a0669f0d2026-10-14
  • R20-11rel:R20-11#c490e0a52026-10-14
  • R21-11rel:R21-11#c490e0a52026-10-14
  • R22-11rel:R22-11#b634ae6e2026-10-14
  • R23-11rel:R23-11#cb129b992026-10-14
  • R24-11rel:R24-11#cb129b992026-10-14
  • R25-11rel:R25-11#882653b82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill