DEENESPTFRRUARHIKOZHNL

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

[SWS_CRYPT_24000] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02208

class SymmetricKeyWrapperCtx :               public CryptoContext {...};

Context of a symmetric key wrap algorithm.

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

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

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

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

Контекст SymmetricKeyWrapperCtx служит для криптографической упаковки и распаковки ключей с помощью симметричных алгоритмов. Перед выполнением Wrap или UnwrapSymmetricKey контекст должен быть сконфигурирован через SetKey с использованием совместимого ключа шифрования ключей (KEK) [SWS_CRYPT_24018]. Все операции требуют соответствующих прав использования задействованных объектов ключей и сообщают об ошибках через ara::core::Result с семантикой отката [SWS_CRYPT_24014]. Интерфейс является безопасным относительно исключений и специфицирован как потокобезопасный для параллельной работы.

Контекст

Класс SymmetricKeyWrapperCtx определяет стандартизированный интерфейс для алгоритмов симметричного обертывания ключей (Key Wrapping) в рамках AUTOSAR Adaptive Platform. Его главная обязанность заключается в криптографической защите ключей при экспорте, а также в восстановлении упакованных ключей для внутреннего использования. При этом класс в первую очередь взаимодействует с ключами шифрования ключей (Key Encryption Keys, KEK), которые предоставляются либо как временный объект ключа типа SymmetricKey, либо персистентно через KeySlot [SWS_CRYPT_24018], [SWS_CRYPT_50034]. При упаковке контекст принимает обобщенный CryptoObject [SWS_CRYPT_24014], тогда как операция распаковки создает и возвращает новый, готовый к использованию объект SymmetricKey [SWS_CRYPT_24016].

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

Экземпляры SymmetricKeyWrapperCtx управляются через типизированный умный указатель Sptr (псевдоним для std::shared_ptr<SymmetricKeyWrapperCtx>) [SWS_CRYPT_24001]. Фактическое создание объектов, вероятно, выполняется через соответствующую фабрику провайдера, поскольку класс представляет собой абстрактный интерфейс с чисто виртуальными методами. Вопрос Q-7b9a1007da43ddcd (открытый) Все функции-члены интерфейса специфицированы как безопасные относительно исключений (exception safe) и потокобезопасные (thread-safe), что обеспечивает безопасное использование в параллельных программных компонентах [SWS_CRYPT_24014], [SWS_CRYPT_24016].

В жизненном цикле контекст проходит две основные фазы: непосредственно после инстанцирования он находится в неинициализированном состоянии. В этой фазе криптографические операции и вычисления размера буфера завершаются с ошибкой kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014]. Только после успешного вызова SetKey с совместимым KEK или KeySlot контекст переходит в рабочее состояние, в котором ключи можно безопасно упаковывать или распаковывать [SWS_CRYPT_24018], [SWS_CRYPT_50034].

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

Стандартный процесс упаковки ключа требует скоординированной последовательности конфигурации, проверки буфера и выполнения. Сначала приложение настраивает контекст через SetKey с желаемым объектом KEK [SWS_CRYPT_24018] или привязывает соответствующий KeySlot [SWS_CRYPT_50034]. На втором шаге приложение определяет через GetRequiredWrappedKeyBufferSize максимально необходимый размер выходного буфера для упаковываемого целевого объекта [SWS_CRYPT_50035]. После того как предоставлена область памяти соответствующего размера (ReadWriteMemRegion), выполняется вызов Wrap, который записывает сериализованные и зашифрованные данные ключа в буфер и возвращает точное количество байт [SWS_CRYPT_24014].

Symmetrischer Key-Wrapping-AblaufПриложениеSymmetricKeyWrapperCtxSetKey(kek)ara::core::Result<void>GetRequiredWrappedKeyBufferSize(key)ara::core::Result<std::size_t>Wrap(key, wrappedKey)ara::core::Result<std::size_t>

Диаграмма последовательности: типичная последовательность вызовов для симметричной упаковки ключей. Источники: [SWS_CRYPT_24018], [SWS_CRYPT_50035], [SWS_CRYPT_24014]

Для комплементарной операции распаковки приложение после конфигурации с помощью SetKey передает входной буфер с упакованными данными в UnwrapSymmetricKey [SWS_CRYPT_24016]. При этом для вновь создаваемого симметричного ключа должны быть явно заданы идентификатор целевого алгоритма (targetAlgId), а также разрешенные флаги использования (allowedUsage) [SWS_CRYPT_24016].

Сценарии ошибок

Методы класса сигнализируют об ошибках через тип возвращаемого значения ara::core::Result с семантикой отката. К ключевым сценариям ошибок относятся:

  • Отсутствие инициализации: если GetRequiredWrappedKeyBufferSize, Wrap или UnwrapSymmetricKey вызываются до успешного назначения ключа, они возвращают ara::crypto::CryptoErrc::kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014], [SWS_CRYPT_24016].
  • Нарушение прав использования: при установке KEK он должен иметь как минимум разрешение kAllowKeyWrapping или kAllowKeyUnwrapping, иначе SetKey завершается с ошибкой ara::crypto::CryptoErrc::kUsageViolation [SWS_CRYPT_24018]. В Wrap отсутствие kAllowKeyWrapping у KEK или отсутствие kAllowSecuredExport у упаковываемого объекта также приводит к kUsageViolation [SWS_CRYPT_24014]. При распаковке проверяется, разрешает ли KEK kAllowKeyUnwrapping [SWS_CRYPT_24016].
  • Несовместимости и ошибки буфера: если целевой буфер для Wrap слишком мал, возвращается ara::crypto::CryptoErrc::kInsufficientCapacity [SWS_CRYPT_24014]. Некорректные форматы ключей или несовместимые типы приводят к ara::crypto::CryptoErrc::kInvalidArgument [SWS_CRYPT_24014], [SWS_CRYPT_24016]. Если контекст поддерживает только слоты или только объекты ключей, SetKey сообщает об ошибке kUnsupported [SWS_CRYPT_24018], [SWS_CRYPT_50034].
  • Конфликты ресурсов и пустые слоты: если операция обращается к занятому ресурсу, возвращается ara::crypto::CryptoErrc::kBusyResource; если ссылаемый KeySlot пуст, это приводит к ara::crypto::CryptoErrc::kEmptyKeySlot [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Данное руководство создано ИИ и опирается исключительно на спецификацию AUTOSAR.

Карта членов

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

1

Диаграмма классов

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

G nara__crypto__cryp__SymmetricKeyWrapperCtx465 SymmetricKeyWrapperCtx + GetRequiredWrappedKeyBufferSize() + SetKey() + UnwrapSymmetricKey() + Wrap() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__SymmetricKeyWrapperCtx465->nara__crypto__cryp__CryptoContext85

Подробный вид

Выберите элемент в оглавлении.

Методы

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;
SetKey функция 2

Configure the context to use the provided key as key encryption key.

Перегрузки SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_24018
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50034
UnwrapSymmetricKey функция

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;
Wrap функция

Wrap the provided key using the previously set key encryption key.

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

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

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

Smart pointer of the interface.

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

функция GetRequiredWrappedKeyBufferSize [SWS_CRYPT_50035] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keykey to be wrapped

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50035@rel:R25-11#dab1faf2
Content hash
dab1faf2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50035
Status: valid/unmigrated Version: rel:R25-11#79bcf3cd Versionshistorie & Revisions (1 transition)
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_50035@rel:R25-11#79bcf3cd
Point-in-Time History:
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

функция SetKey [SWS_CRYPT_24018] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0;

Configure the context to use the provided key as key encryption key.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d0a83598653d Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Синхронная функция-член SetKey конфигурирует экземпляр ara::crypto::cryp::SymmetricKeyWrapperCtx таким образом, чтобы переданный объект SymmetricKey::Sptr использовался в качестве Key Encryption Key (KEK) для последующих операций с ключами [SWS_CRYPT_24018]. Функция специфицирована как чисто виртуальный метод с noexcept и возвращает пустое ara::core::Result<void> в случае успешного назначения [SWS_CRYPT_24018].

Обработка ошибок и откат

Если при конфигурации возникает ошибка, применяется обязательная семантика отката, так что состояние контекста остается неизменным [SWS_CRYPT_24018]. Возможные причины ошибок отражаются через коды ошибок из ara::crypto::CryptoErrc:

  • kIncompatibleObject: переданный объект ключа несовместим с симметричным контекстом [SWS_CRYPT_24018].
  • kUsageViolation: разрешенное использование ключа не включает ни kAllowKeyWrapping, ни kAllowKeyUnwrapping [SWS_CRYPT_24018].
  • kUnsupported: реализация контекста поддерживает установку ключа исключительно через KeySlot [SWS_CRYPT_24018].

Параллелизм и взаимодействие

Метод специфицирован как thread-safe и безопасный относительно исключений (exception safe) [SWS_CRYPT_24018]. Если ключи управляются через слоты или контекст поддерживает исключительно KeySlot, для того же контекста оболочки (wrapper) существует альтернативная перегрузка SetKey с KeySlot::Sptr [SWS_CRYPT_50034]. Она настраивает контекст на загрузку ключа, размещенного в слоте, в момент выполнения key wrapping [SWS_CRYPT_50034].

Данное указание по использованию основано на спецификации AUTOSAR Adaptive Platform Release R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keythe the key encryption key (KEK) object

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this symmetric key context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKey Wrapping or kAllowKeyUnwrapping
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24018
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24018@rel:R25-11#ef6396a4
Content hash
ef6396a4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24018
Status: valid/unmigrated Version: rel:R25-11#5ba8abd5 Versionshistorie & Revisions (1 transition, 7 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_24018@rel:R25-11#5ba8abd5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#07e640252026-09-30
  • R20-11rel:R20-11#dc67c1dc2026-10-14
  • R21-11rel:R21-11#34c85a1a2026-10-14
  • R22-11rel:R22-11#4ead34ac2026-10-14
  • R23-11rel:R23-11#9ca31f482026-10-14
  • R24-11rel:R24-11#bb17e6102026-10-14
  • R25-11rel:R25-11#5ba8abd52026-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

функция SetKey [SWS_CRYPT_50034] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the key wrapping is performed.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 30d79040bb46 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Виртуальный метод SetKey конфигурирует контекст ara::crypto::cryp::SymmetricKeyWrapperCtx таким образом, чтобы использовать ключ, сохранённый в предоставленном KeySlot, как только будет выполняться оборачивание ключа [SWS_CRYPT_50034]. Вызов ожидает в качестве параметра keySlot объект KeySlot::Sptr, содержащий симметричный ключ [SWS_CRYPT_50034]. Функция вызывается синхронно, объявлена с noexcept и возвращает ara::core::Result<void> [SWS_CRYPT_50034].

Обработка ошибок

В случае ошибки метод обеспечивает семантику отката (rollback) и возвращает один из следующих результатов ошибки [SWS_CRYPT_50034]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: переданный keySlot несовместим с этим контекстом [SWS_CRYPT_50034].
  • ara::crypto::CryptoErrc::kUnsupported: контекст поддерживает установку исключительно прямого SymmetricKey [SWS_CRYPT_50034].

Параллелизм

Операция является потокобезопасной (thread-safe) и обеспечивает гарантированную безопасность исключений (exception safe) [SWS_CRYPT_50034].

Взаимодействие

Интерфейс представляет собой внутри SymmetricKeyWrapperCtx слот-ориентированный аналог перегрузки SetKey с SymmetricKey::Sptr, которая привязывает ключ напрямую в качестве ключа шифрования ключей (Key Encryption Key, KEK) [SWS_CRYPT_24018]. Аналогичные функции конфигурации на основе слотов используются также в родственных криптографических контекстах, таких как KeyDerivationFunctionCtx [SWS_CRYPT_50010], KeyEncapsulatorPublicCtx [SWS_CRYPT_50012], VerifierPublicCtx [SWS_CRYPT_50018], MessageAuthnCodeCtx [SWS_CRYPT_50026] и SignerPrivateCtx [SWS_CRYPT_50036].

Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50034@rel:R25-11#bdf64a03
Content hash
bdf64a03
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50034
Status: valid/unmigrated Version: rel:R25-11#c06f6729 Versionshistorie & Revisions (1 transition)
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_50034@rel:R25-11#c06f6729
Point-in-Time History:
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

функция UnwrapSymmetricKey [SWS_CRYPT_24016] Upstream: RS_CRYPTO_02115

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: fe87df5f5eae Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод UnwrapSymmetricKey интерфейса ara::crypto::cryp::SymmetricKeyWrapperCtx расшифровывает упакованный ключ с использованием ранее установленного ключа шифрования ключей (KEK) и возвращает новый объект SymmetricKey [SWS_CRYPT_24016]. В качестве параметров синхронная функция принимает входной буфер с защищенными данными ключа (wrappedKey), идентификатор алгоритма для целевого ключа (targetAlgId), а также битовые флаги для его разрешенных типов преобразования (allowedUsage) [SWS_CRYPT_24016].

Возвращаемое значение ara::core::Result<SymmetricKey::Sptr> при успешном выполнении содержит смарт-указатель на созданный ключ или сигнализирует об ошибке с семантикой отката [SWS_CRYPT_24016]. Возможными причинами ошибок являются:

  • InvalidArgument: переданные данные ключа в wrappedKey не могут быть распакованы, например из-за недопустимого формата или неверного размера буфера [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUninitializedContext: контекст оболочки (wrapper context) еще не был инициализирован подходящим KEK [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUsageViolation: ограничения использования KEK запрещают распаковку (отсутствие kAllowKeyUnwrapping) [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: переданное значение для targetAlgId неизвестно или не поддерживается [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: указанные флаги allowedUsage несовместимы с targetAlgId или типом ключа [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kBusyResource: системный ресурс, необходимый для операции, в данный момент занят [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: сконфигурированный для операции KeySlot пуст [SWS_CRYPT_24016].

Метод объявлен как const, а также noexcept, гарантирует безопасность исключений и согласно спецификации является thread-safe для параллельного вызова [SWS_CRYPT_24016].

Этот текст был создан ИИ и служит в качестве ориентира. Определяющее значение имеет спецификация.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
wrappedKeyan input buffer that contains the wrapped key
targetAlgIdthe algId of the to be created unwrapped key
allowedUsagebit-flags that define a list of allowed transformations’ types in which the unwrapped key can be used

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >a result containing the unwrapped SymmetricKey object or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the wrapped key data cannot be unwrapped (e.g., invalid format or size)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if targetAlgId has an unsupported value
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the targetAlgId or the key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24016@rel:R25-11#8110cf11
Content hash
8110cf11
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24016
Status: valid/unmigrated Version: rel:R25-11#7d151daa 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_24016@rel:R25-11#7d151daa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#74bd38af2026-09-30
  • R19-11rel:R19-11#8ec5b1a02026-10-14
  • R20-11rel:R20-11#496f81ad2026-10-14
  • R21-11rel:R21-11#354b26632026-10-14
  • R22-11rel:R22-11#767017ac2026-10-14
  • R23-11rel:R23-11#624822262026-10-14
  • R24-11rel:R24-11#9c4b80db2026-10-14
  • R25-11rel:R25-11#7d151daa2026-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

функция Wrap [SWS_CRYPT_24014] Upstream: RS_CRYPTO_02201

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

Wrap the provided key using the previously set key encryption key.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8e6ff8198c9d Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод Wrap класса ara::crypto::cryp::SymmetricKeyWrapperCtx (заголовочный файл ara/crypto/cryp/symmetric_key_wrapper_ctx.h) упаковывает предоставленный ключ с использованием ранее установленного ключа шифрования ключей (Key Encryption Key) [SWS_CRYPT_24014].

Синхронная функция ожидает следующие параметры [SWS_CRYPT_24014]:

  • key (CryptoObject::Sptr): упаковываемый ключ.
  • wrappedKey (ReadWriteMemRegion): выходной буфер, в который записывается упакованный ключ.

В качестве возвращаемого значения операция возвращает ara::core::Result<std::size_t>, который в случае успеха содержит количество записанных в буфер байтов упакованного ключа [SWS_CRYPT_24014].

Обработка ошибок и семантика

Метод определен как exception safe и реализует для случаев ошибок строгую семантику отката [SWS_CRYPT_24014]. Могут возвращаться следующие состояния ошибок [SWS_CRYPT_24014]:

  • InvalidArgument: объект ключа не может быть упакован (например, из-за недопустимого размера или неверного типа).
  • ara::crypto::CryptoErrc::kUninitializedContext: контекст еще не был инициализирован значением ключа.
  • ara::crypto::CryptoErrc::kUsageViolation: допустимое использование KEK не включает kAllowKeyWrapping или использование объекта не включает kAllowSecuredExport.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: выходной буфер wrappedKey слишком мал.
  • ara::crypto::CryptoErrc::kBusyResource: требуемый ресурс занят.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Сконфигурированный KeySlot в данный момент пуст.

Параллелизм и ограничения

Интерфейс специфицирован как thread-safe [SWS_CRYPT_24014]. Предварительным условием для выполнения являются предварительно инициализированный контекст, а также подходящие атрибуты использования участвующих ключей [SWS_CRYPT_24014].

Данное указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
keythe key to be wrapped

Parameter (out)

ParameterBeschreibung
wrappedKeyan output buffer that the wrapped key will be written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing either a the number of bytes of the wrapped key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the key object cannot be wrapped (e.g., invalid size or type)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Wrapping or the allowed usage of the object does not include k AllowSecuredExport
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24014@rel:R25-11#f4afb1f2
Content hash
f4afb1f2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24014
Status: valid/unmigrated Version: rel:R25-11#d59df6cf 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_24014@rel:R25-11#d59df6cf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ac935a362026-09-30
  • R19-11rel:R19-11#b94a246e2026-10-14
  • R20-11rel:R20-11#999104362026-10-14
  • R21-11rel:R21-11#d51795ed2026-10-14
  • R22-11rel:R22-11#f7dabf992026-10-14
  • R23-11rel:R23-11#5c3c2d942026-10-14
  • R24-11rel:R24-11#90cde3442026-10-14
  • R25-11rel:R25-11#d59df6cf2026-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

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

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

using Sptr = std::shared_ptr<SymmetricKeyWrapperCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24001@rel:R25-11#8202a2d6
Content hash
8202a2d6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24001
Status: valid/unmigrated Version: rel:R25-11#aef6197c 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_24001@rel:R25-11#aef6197c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#10e154c52026-09-30
  • R19-11rel:R19-11#521f46bb2026-10-14
  • R20-11rel:R20-11#0ab69c592026-10-14
  • R21-11rel:R21-11#8d463cfa2026-10-14
  • R22-11rel:R22-11#7a7fa6972026-10-14
  • R23-11rel:R23-11#4b170d372026-10-14
  • R24-11rel:R24-11#4b170d372026-10-14
  • R25-11rel:R25-11#aef6197c2026-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