DEENESPTFRRUARHIKOZHNL

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

[SWS_CRYPT_50084] Upstream: RS_CRYPTO_02105

class ProtectedKeyImportCtx :            public CryptoContext {...};

A contexts for importing secured data such as secret key-material.

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

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

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

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

Интерфейс обеспечивает безопасную распаковку и импорт защищенных криптографических данных и ключей с помощью сконфигурированного транспортного ключа [SWS_CRYPT_50205]. Распакованный ключевой материал может быть либо напрямую записан в постоянный слот для ключей, либо типизированно загружен в память в виде ключевого объекта [SWS_CRYPT_50207]. Все методы работают потокобезопасно и следуют строгой семантике отката при ошибках, в то время как Reset гарантирует удаление внутренних буферов без остатка [SWS_CRYPT_50212].

Контекст

Интерфейс ara::crypto::cryp::ProtectedKeyImportCtx предоставляет криптографический контекст для безопасного импорта и распаковки в системе защищенных структур данных, таких как секретный ключевой материал. Контекст выступает в качестве посредника между запрашивающим приложением, механизмом защиты на основе транспортного ключа и целевыми структурами криптографии AUTOSAR. Входящие сериализованные пакеты данных аутентифицируются, расшифровываются и парсятся контекстом [SWS_CRYPT_50207]. Источниками необходимого транспортного ключа служат либо самостоятельные симметричные ключевые объекты [SWS_CRYPT_50205], либо слоты для ключей в хранилище ключей [SWS_CRYPT_50206]. В качестве приемника распакованные ключевые объекты могут передаваться напрямую вызывающему приложению или непосредственно сериализоваться в доступный для записи слот для ключей [SWS_CRYPT_50207].

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

Для совместного доступа контекст обычно управляется через предоставленный тип умного указателя Sptr [SWS_CRYPT_50085]; при этом экземпляры, вероятно, предоставляются соответствующим компонентом криптодрайвера. Вопрос Q-3517b24b5eec4529 (открытый) До непосредственной обработки контекст находится в несконфигурированном исходном состоянии, в котором транспортный ключ еще не назначен. Назначение транспортного ключа осуществляется через метод SetKey, в результате чего контекст переходит в готовое к работе состояние [SWS_CRYPT_50205] [SWS_CRYPT_50206].

После успешного выполнения операции Import контекст сохраняет распакованные данные и метаданные во внутренних буферах, что позволяет идентифицировать тип объекта и считывать ключевые объекты [SWS_CRYPT_50207] [SWS_CRYPT_50208]. С помощью метода Reset контекст возвращается обратно в исходное состояние: все внутренние буферы с ранее импортированными данными полностью очищаются, а сохраненный транспортный ключ удаляется [SWS_CRYPT_50212]. Все методы интерфейса специфицированы как исключебнобезопасные и потокобезопасные, благодаря чему конкурентный доступ из нескольких контекстов выполнения остается контролируемым [SWS_CRYPT_50207].

ProtectedKeyImportCtxStates Start Uninitialized Исходное состояние / Reset (транспортный ключ отсутствует) Start->Uninitialized KeyConfigured Транспортный ключ сконфигурирован Uninitialized->KeyConfigured SetKey() KeyConfigured->Uninitialized Reset() KeyConfigured->KeyConfigured SetKey() DataImported Daten importiert (Ergebnisse abrufbar) KeyConfigured->DataImported Import() DataImported->Uninitialized Reset() DataImported->DataImported Import()

Диаграмма состояний: жизненные фазы контекста от конфигурации через импорт до очистки. Источники: [SWS_CRYPT_50205], [SWS_CRYPT_50206], [SWS_CRYPT_50207], [SWS_CRYPT_50212]

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

Стандартный рабочий процесс начинается с конфигурации транспортного ключа. Для этого приложение вызывает SetKey либо с SymmetricKey::Sptr [SWS_CRYPT_50205], либо с KeySlot::Sptr [SWS_CRYPT_50206]. На следующем шаге выполняется метод Import, которому сериализованный пакет данных передается в виде ReadOnlyMemRegion [SWS_CRYPT_50207]. Если ключ должен быть сохранен персистентно, можно опционально напрямую передать WriteableKeySlot::Sptr, куда будет записан распакованный материал [SWS_CRYPT_50207].

Если целевой слот не был указан или ключ должен использоваться как временный, приложение определяет категорию последнего импортированного объекта с помощью GetCryptoObjectType [SWS_CRYPT_50208]. На основе этого типа приложение вызывает соответствующий типу метод получения: GetPrivateKey для закрытых ключей [SWS_CRYPT_50209], GetPublicKey для открытых ключей [SWS_CRYPT_50211] или GetSymmetricKey для симметричного ключевого материала [SWS_CRYPT_50210]. Если используемый протокол импорта требует обратной связи с отправителем — как, например, в случае контрольных блоков M4 и M5 последовательности SHE-LoadKey —, ее можно записать в предоставленный буфер через GetResponse [SWS_CRYPT_41020]. После завершения последовательности обработки вызов Reset возвращает контекст в исходное состояние [SWS_CRYPT_50212].

Последовательность импорта и извлечения ключевого материалаПриложениеProtectedKeyImportCtxWriteableKeySlotSetKey(key)Result<void>Import(serialized, keySlot)optпередан keySlotНепосредственная сериализация ключевого материалаResult<void>GetCryptoObjectType()Result<CryptoObjectType>GetSymmetricKey()Result<SymmetricKey::Sptr>Reset()Result<void>

Диаграмма последовательности: типичная последовательность вызовов при импорте и считывании ключевого материала. Источники: [SWS_CRYPT_50205], [SWS_CRYPT_50207], [SWS_CRYPT_50208], [SWS_CRYPT_50210], [SWS_CRYPT_50212]

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

Если во время вызова метода возникает ошибка, применяется строгая семантика отката, сохраняющая состояние до вызова. При конфигурации через SetKey вызов завершается ошибкой с CryptoErrc::kUsageViolation, если флаг использования ключа не содержит разрешения kAllowKeyUnwrapping [SWS_CRYPT_50205] [SWS_CRYPT_50206]. Если объект ключа или указанный слот принципиально непригодны для использования в качестве транспортного ключа, сообщается CryptoErrc::kIncompatibleObject [SWS_CRYPT_50205] [SWS_CRYPT_50206].

При вызове Import несоответствия размера входных данных приводят к CryptoErrc::kInvalidInputSize, а нарушения формата — к CryptoErrc::kInvalidArgument [SWS_CRYPT_50207]. Если проверка целостности или подлинности защитного слоя завершается неудачно (например, из-за недействительного кода аутентификации сообщения или некорректной подписи), вызов возвращает CryptoErrc::kAuthTagNotValid [SWS_CRYPT_50207]. Если криптографический компонент временно занят, об этом сигнализируется через CryptoErrc::kBusyResource [SWS_CRYPT_50207].

Предварительным условием для считывания импортированных ключей является успешное выполнение Import; в противном случае GetPrivateKey, GetPublicKey и GetSymmetricKey отвечают CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50209] [SWS_CRYPT_50210] [SWS_CRYPT_50211]. Если запрошенный тип ключа не совпадает с фактически распакованным объектом или объект еще не был импортирован, методы получения подтверждают это с помощью CryptoErrc::kNoSuchValue [SWS_CRYPT_50208] [SWS_CRYPT_50209] [SWS_CRYPT_50210] [SWS_CRYPT_50211]. Если емкости выходного буфера при GetResponse недостаточно, это приводит к CryptoErrc::kInsufficientCapacity [SWS_CRYPT_41020]. Если конкретная реализация не поддерживает частичную функцию (например, определенные типы ключей или сброс), единообразно возвращается CryptoErrc::kUnsupported [SWS_CRYPT_50205] [SWS_CRYPT_50208] [SWS_CRYPT_50212].

Это руководство по классам основано на спецификации AUTOSAR Adaptive Platform Release R25-11.

Карта членов

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

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

G nara__crypto__cryp__ProtectedKeyImportCtx279 ProtectedKeyImportCtx + GetCryptoObjectType() + GetPrivateKey() + GetPublicKey() + GetResponse() + GetSymmetricKey() + Import() + Reset() + SetKey() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__ProtectedKeyImportCtx279->nara__crypto__cryp__CryptoContext85

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

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

Методы

GetCryptoObjectType функция

The interface shall return the type of the last successfully unwrapped CryptoObject.

virtual ara::core::Result< CryptoObjectType > GetCryptoObjectType () const noexcept=0;
GetPrivateKey функция

The interface shall return a shared pointer to the unwrapped PrivateKey.

virtual ara::core::Result< PrivateKey::Sptr > GetPrivateKey () const noexcept=0;
GetPublicKey функция

The interface shall return a shared pointer to the unwrapped PublicKey.

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;
GetResponse функция

The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.

virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT responseBuffer -- DEFINED
GetSymmetricKey функция

The interface shall return a shared pointer to the unwrapped SymmetricKey.

virtual ara::core::Result< SymmetricKey::Sptr > GetSymmetricKey () const noexcept=0;
Import функция

The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.

virtual ara::core::Result< void > Import (ReadOnlyMemRegion serialized, ara::core::Optional< WriteableKeySlot::Sptr > keySlot) noexcept=0;
Reset функция

The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.

virtual ara::core::Result< void > Reset () const noexcept=0;
SetKey функция 2

The interface shall configure the context to use the provided symmetric key as transport key.

Перегрузки SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_50205
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50206

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

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

Smart pointer of the interface.

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

функция GetCryptoObjectType [SWS_CRYPT_50208] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< CryptoObjectType > GetCryptoObjectType () const noexcept=0;

The interface shall return the type of the last successfully unwrapped CryptoObject.

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

Rückgabewert

TypBeschreibung
ara::core::Result< CryptoObjectType >the CryptoObjectType of the last unwrapped CryptoObject

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support identifying imported objects
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if no CryptoObject has been imported yet

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50208
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50208@rel:R25-11#fea1a1d5
Content hash
fea1a1d5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50208
Status: valid/unmigrated Version: rel:R25-11#5d802913 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_50208@rel:R25-11#5d802913
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

функция GetPrivateKey [SWS_CRYPT_50209] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< PrivateKey::Sptr > GetPrivateKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped PrivateKey.

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

Метод GetPrivateKey класса ara::crypto::cryp::ProtectedKeyImportCtx (предоставляемый через заголовочный файл #include "ara/crypto/cryp/protected_key_import_ctx.h") служит для получения shared pointer на предварительно импортированный и распакованный закрытый ключ (PrivateKey::Sptr) ([SWS_CRYPT_50209]). Интерфейс не имеет входных параметров и возвращает результат синхронно в виде ara::core::Result<PrivateKey::Sptr> ([SWS_CRYPT_50209]).

Для выполнения действуют обязательные требования относительно порядка вызова, параллелизма и безопасности относительно исключений: метод специфицирован как thread-safe, а также exception safe и объявлен с noexcept ([SWS_CRYPT_50209]). Обязательным предварительным условием для успешного получения является предварительное успешное выполнение операции импорта в рамках контекста ([SWS_CRYPT_50209]).

Если при предоставлении возникает ошибка, для всех ошибочных ситуаций применяется семантика отката ([SWS_CRYPT_50209]). Возвращаемый Result в этом случае содержит один из следующих специфических кодов ошибок:

  • ara::crypto::CryptoErrc::kProcessingNotFinished: предшествующий шаг импорта еще не был успешно выполнен ([SWS_CRYPT_50209]).
  • ara::crypto::CryptoErrc::kNoSuchValue: последний импортированный CryptoObject не является закрытым ключом ([SWS_CRYPT_50209]).
  • ara::crypto::CryptoErrc::kUnsupported: контекст в принципе не поддерживает импорт закрытых ключей ([SWS_CRYPT_50209]).

Это указание по использованию было создано ИИ на основе спецификации AUTOSAR R25-11.

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

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

Rückgabewert

TypBeschreibung
ara::core::Result<PrivateKey::Sptr >a PrivateKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing private keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a PrivateKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50209
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50209@rel:R25-11#e89f1090
Content hash
e89f1090
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50209
Status: valid/unmigrated Version: rel:R25-11#5671d7cb 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_50209@rel:R25-11#5671d7cb
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

функция GetPublicKey [SWS_CRYPT_50211] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped PublicKey.

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

Метод GetPublicKey класса ara::crypto::cryp::ProtectedKeyImportCtx служит для синхронного получения указателя на ранее импортированный, распакованный открытый ключ ([SWS_CRYPT_50211]). Функция не принимает входных параметров и возвращает результат типобезопасным образом в виде ara::core::Result<PublicKey::Sptr> ([SWS_CRYPT_50211]).

Перед вызовом операция импорта должна быть успешно завершена; в противном случае вызов завершается сбоем и возвращает код ошибки ara::crypto::CryptoErrc::kProcessingNotFinished ([SWS_CRYPT_50211]). Если последний импортированный криптографический объект не являлся открытым ключом, это приводит к ошибке ara::crypto::CryptoErrc::kNoSuchValue ([SWS_CRYPT_50211]). Если конкретный контекст импорта в принципе не поддерживает внесение открытых ключей, сообщается ara::crypto::CryptoErrc::kUnsupported ([SWS_CRYPT_50211]). Для всех специфицированных ошибок интерфейс гарантирует семантику отката ([SWS_CRYPT_50211]).

В отношении конкурентности и отказоустойчивости метод специфицирован как thread-safe, а также exception-safe и не генерирует исключений C++ (noexcept) ([SWS_CRYPT_50211]).

Функционально этот механизм импорта отличается от других интерфейсов: в то время как здесь распаковывается защищённый объект, одноимённая функция в ara::crypto::cryp::PrivateKey ([SWS_CRYPT_22511]) возвращает открытый ключ существующего закрытого ключа, который, например, был ранее сгенерирован с помощью GeneratePrivateKey ([SWS_CRYPT_20722]).

Этот текст был сгенерирован ИИ на основе требований спецификации.

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

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

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >a PublicKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing public keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a PublicKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50211
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50211@rel:R25-11#ec36c419
Content hash
ec36c419
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50211
Status: valid/unmigrated Version: rel:R25-11#88d8898d 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_50211@rel:R25-11#88d8898d
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

функция GetResponse [SWS_CRYPT_41020] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT           responseBuffer               -- DEFINED

The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the number of Bytes written to the output buffer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not provide a response
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41020
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41020@rel:R25-11#f4cfbc75
Content hash
f4cfbc75
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41020
Status: valid/unmigrated Version: rel:R25-11#7021196a Versionshistorie & Revisions (1 transition, 3 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_41020@rel:R25-11#7021196a
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68728cfb2026-09-30
  • R24-11rel:R24-11#6d10911c2026-10-14
  • R25-11rel:R25-11#7021196a2026-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

функция GetSymmetricKey [SWS_CRYPT_50210] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< SymmetricKey::Sptr > GetSymmetricKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped SymmetricKey.

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

Метод GetSymmetricKey класса ara::crypto::cryp::ProtectedKeyImportCtx возвращает shared pointer на распакованный симметричный ключ (SymmetricKey::Sptr) [SWS_CRYPT_50210]. Вызов выполняется синхронно, объявлен как const, а также noexcept и не принимает параметров [SWS_CRYPT_50210].

Для успешного получения необходимо соблюдать определенные предварительные условия и последовательность действий [SWS_CRYPT_50210]:

  • Предварительно должна быть успешно завершена операция импорта; в противном случае вызов завершается ошибкой с кодом ошибки ara::crypto::CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50210].
  • Если последний импортированный криптографический объект не является симметричным ключом, метод возвращает ara::crypto::CryptoErrc::kNoSuchValue [SWS_CRYPT_50210].
  • Если выбранный контекст импорта вообще не поддерживает импорт симметричных ключей, возвращается ошибка ara::crypto::CryptoErrc::kUnsupported [SWS_CRYPT_50210].

С точки зрения надежности выполнения интерфейс специфицирован как thread-safe и exception-safe [SWS_CRYPT_50210]. Все определенные случаи ошибок обеспечивают семантику отката, благодаря чему состояние контекста в случае ошибки остается неизменным [SWS_CRYPT_50210].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

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

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

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >a SymmetricKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing symmetric keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a SymmetricKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50210
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50210@rel:R25-11#3c0b53c5
Content hash
3c0b53c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50210
Status: valid/unmigrated Version: rel:R25-11#6f999a76 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_50210@rel:R25-11#6f999a76
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

функция Import [SWS_CRYPT_50207] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< void > Import (ReadOnlyMemRegion serialized, ara::core::Optional< WriteableKeySlot::Sptr > keySlot) noexcept=0;

The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.

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

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

Синхронный метод Import класса ara::crypto::cryp::ProtectedKeyImportCtx распаковывает защищенные данные ключа из области памяти serialized ([SWS_CRYPT_50207]). Он анализирует содержимое данных и предоставляет извлеченный ключевой материал, а также метаданные для последующего извлечения. Если опционально передается WriteableKeySlot, ключевой материал сериализуется непосредственно в этот слот ([SWS_CRYPT_50207]). Интерпретация: если keySlot не передан, ключевой материал, предположительно, остается исключительно в состоянии контекста импорта. Вопрос Q-130f11475af1bb33 (открытый)

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

Функция возвращает ara::core::Result<void>. В случае сбоя операции для всех кодов ошибок применяется семантика отката ([SWS_CRYPT_50207]):

  • ara::crypto::CryptoErrc::kInvalidInputSize: размер входных данных serialized является неожиданным ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kInvalidArgument: сериализованные данные не соответствуют ожидаемому формату ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kAuthTagNotValid: проверка аутентификации (MAC или подпись) завершается неудачно ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kBusyResource: операция временно не может быть выполнена ([SWS_CRYPT_50207]).

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

Метод является потокобезопасным и исключениебезопасным (noexcept) ([SWS_CRYPT_50207]). После успешного вызова распакованный объект ключа может быть получен из контекста через GetPrivateKey ([SWS_CRYPT_50209]), GetSymmetricKey ([SWS_CRYPT_50210]) или GetPublicKey ([SWS_CRYPT_50211]). Если базовый протокол требует ответа отправителю, GetResponse ([SWS_CRYPT_41020]) предоставляет ответ криптопровайдера. Для незащищенных форматов ключей в качестве альтернативы служат методы ImportPublicKey ([SWS_CRYPT_20732]), ImportSymmetricKey ([SWS_CRYPT_50014]) и ImportPrivateKey ([SWS_CRYPT_50132]) фабричного класса CryptoProvider.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

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

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

Parameter (in)

ParameterBeschreibung
serializedthe memory region that contains the serialized import data
keySlotan optional WriteableKeySlot to directly store the imported key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if serialized cannot be unwrapped due to an unexpected size
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if serialized does not conform to the specified import format
ara::crypto::CryptoErrc::kAuthTagNotValidrollback_semantics if serialized cannot be authenticated (MAC or signature invalid)
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50207
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50207@rel:R25-11#a45bc8ea
Content hash
a45bc8ea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50207
Status: valid/unmigrated Version: rel:R25-11#2008288d 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_50207@rel:R25-11#2008288d
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

функция Reset [SWS_CRYPT_50212] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< void > Reset () const noexcept=0;

The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.

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

Метод Reset сбрасывает экземпляр ara::crypto::cryp::ProtectedKeyImportCtx в исходное состояние [SWS_CRYPT_50212]. При этом интерфейс гарантирует, что больше не установлен ни один Key-Import-Key (KIK), а все предварительно импортированные данные полностью удалены из внутренних буферов контекста [SWS_CRYPT_50212].

Вызов выполняется синхронно и согласно спецификации классифицирован как thread-safe, а также exception safe [SWS_CRYPT_50212]. Метод объявляет сигнатуру virtual ara::core::Result<void> Reset() const noexcept = 0; и требует подключения заголовочного файла ara/crypto/cryp/protected_key_import_ctx.h [SWS_CRYPT_50212].

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

Результат возвращается через ara::core::Result<void> [SWS_CRYPT_50212]. Если операция завершается неудачно, интерфейс возвращает код ошибки:

  • ara::crypto::CryptoErrc::kUnsupported: возникает, если конкретный контекст не поддерживает сброс своего состояния (семантика отката) [SWS_CRYPT_50212].

Это указание по использованию было создано автоматически на основе спецификации SWS_CRYPT_50212.

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

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support resetting its’ state.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50212
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50212@rel:R25-11#da5a0b68
Content hash
da5a0b68
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50212
Status: valid/unmigrated Version: rel:R25-11#953ca1ec 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_50212@rel:R25-11#953ca1ec
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_50205] Upstream: RS_CRYPTO_02105

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

The interface shall configure the context to use the provided symmetric key as transport key.

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

Метод SetKey класса ara::crypto::cryp::ProtectedKeyImportCtx конфигурирует контекст таким образом, чтобы переданный объект симметричного ключа key (SymmetricKey::Sptr) использовался в качестве транспортного ключа [SWS_CRYPT_50205]. Вызов происходит синхронно и возвращает ara::core::Result<void> [SWS_CRYPT_50205].

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

Если при конфигурации возникает ошибка, о ней сообщается с семантикой отката, благодаря чему предыдущее состояние контекста остается неизменным [SWS_CRYPT_50205]. Определены следующие коды ошибок:

  • ara::crypto::CryptoErrc::kUnsupported: возвращается, если контекст поддерживает исключительно назначение KeySlot [SWS_CRYPT_50205].
  • ara::crypto::CryptoErrc::kIncompatibleObject: предоставленный объект ключа не может использоваться в качестве транспортного ключа [SWS_CRYPT_50205].
  • ara::crypto::CryptoErrc::kUsageViolation: флаги использования ключа не содержат требуемого права kAllowKeyUnwrapping [SWS_CRYPT_50205].

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

Операция специфицирована как потокобезопасная (thread-safe) и исключениебезопасная (exception safe) и не генерирует исключений (noexcept) [SWS_CRYPT_50205]. В то время как такие контексты, как SymmetricKeyWrapperCtx, привязывают ключ для защиты или упаковки (wrapping) [SWS_CRYPT_24018], ключ здесь служит для импорта защищенных ключей. Условие ошибки kUnsupported указывает, кроме того, на архитектуры, в которых контексты альтернативно конфигурируются через KeySlot [SWS_CRYPT_50034]. Интерпретация: назначение транспортного ключа, вероятно, должно быть обязательно завершено до последующих операций импорта. Вопрос Q-f1f3eab5ab896b1b (открытый)

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

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

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

Parameter (in)

ParameterBeschreibung
keysymmetric key object used as transport key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object cannot be used as transport key
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage flags of the key 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_50205
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50205@rel:R25-11#fe806c7a
Content hash
fe806c7a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50205
Status: valid/unmigrated Version: rel:R25-11#0c3f97a6 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_50205@rel:R25-11#0c3f97a6
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_50206] Upstream: RS_CRYPTO_02105

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

The interface shall configure the context to use the key stored in the provided KeySlot at the time the import operation is started as the transport key.

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

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

Метод SetKey конфигурирует контекст [SWS_CRYPT_50206] (ara::crypto::cryp::ProtectedKeyImportCtx) таким образом, чтобы симметричный ключ, сохраненный в переданном KeySlot::Sptr keySlot, использовался в качестве транспортного ключа в момент запуска процедуры импорта. Вызов происходит синхронно и возвращает ara::core::Result<void>.

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

Если при конфигурации возникает ошибка, применяется семантика отката [SWS_CRYPT_50206]. Специфические коды ошибок включают:

  • ara::crypto::CryptoErrc::kUnsupported: если контекст поддерживает исключительно установку прямого объекта SymmetricKey [SWS_CRYPT_50206].
  • ara::crypto::CryptoErrc::kIncompatibleObject: если ключ, содержащийся в слоте, не может использоваться в качестве транспортного ключа [SWS_CRYPT_50206].
  • ara::crypto::CryptoErrc::kUsageViolation: если разрешенные флаги использования ключа в KeySlot не содержат флаг kAllowKeyUnwrapping [SWS_CRYPT_50206].

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

Функция специфицирована как исключениебезопасная (exception safe) и потокобезопасная (thread-safe) [SWS_CRYPT_50206]. Ключ извлекается из слота только при запуске последующего импорта [SWS_CRYPT_50206]. В то время как другие криптографические контексты, такие как SymmetricKeyWrapperCtx [SWS_CRYPT_50034] или KeyDerivationFunctionCtx [SWS_CRYPT_50010], также могут подключать слоты в качестве источника ключа, ProtectedKeyImportCtx::SetKey явно требует полномочий на распаковку ключей.

Этот текст был сгенерирован инструментом документирования на базе ИИ и не заменяет обращение к официальным спецификациям AUTOSAR.

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

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key used as transport key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey object
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the key contained in the provided keySlot cannot be used as transport key
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage flags of the key contained in the provided Key Slot does not include kAllowKeyUnwrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50206
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50206@rel:R25-11#921e144a
Content hash
921e144a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50206
Status: valid/unmigrated Version: rel:R25-11#099a4256 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_50206@rel:R25-11#099a4256
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

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

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

using Sptr = std::shared_ptr<ProtectedKeyImportCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/protected_key_import_ctx.h"
Scopeclass ara::crypto::cryp::ProtectedKeyImportCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50085
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50085@rel:R25-11#76495e07
Content hash
76495e07
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50085
Status: valid/unmigrated Version: rel:R25-11#8f8d1310 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_50085@rel:R25-11#8f8d1310
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