DEENESPTFRRUARHIKOZHNL

Crypto Service Manager (CSM)

ModulCSM (Crypto Service Manager)
BSW-Modul-ID110
Standard-Header#include "Csm.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoServiceManager.pdf
ClusterCrypto Services

Руководство по модулюСОЗДАНО ИИ

Объединяет криптографические службы и управление ключами для приложений и BSW, а также передает задания криптографическим драйверам.
СОЗДАНО ИИ не проверено Модель: claude-opus-5-5 · Усилие: high · Температура: не регулируется · Промпт: 2c7126f56428 Происхождение Открытые вопросы (3)
Причинный якорь: R20-11 Действует с R20-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

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

CSM предоставляет приложениям и модулям BSW криптографические службы и управление ключами через единый интерфейс. Каждая служба работает над заданием (Job) — экземпляром сконфигурированного примитива [SWS_Csm_00941]. В зависимости от конфигурации задание выполняется синхронно или асинхронно. Асинхронные задания CSM выстраивает в очередь по приоритету, передает их в циклической функции Csm_MainFunction через CryIf криптографическим драйверам и сообщает результат через функцию обратного вызова [SWS_Csm_00479]. Важнейшее граничное условие: ключи должны быть установлены как действительные, а заполненная очередь приводит к отклонению с кодом CRYPTO_E_BUSY.

Crypto Service Manager (CSM) представляет собой сервисный уровень криптографического стека Classic. Он предоставляет криптографические службы и управление ключами SWS CSM с. 25. Его используют приложения и модули BSW, такие как SecOC, DCM или KeyM. Сам он перенаправляет заказы через CryIf в Crypto Driver Objects в аппаратном или программном обеспечении SWS CSM с. 29.

kontext swc Приложение (SW-C) через порты RTE csm Csm задания, очереди, ключи swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf каналы csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (напр., HSM) или SW cryif->drv Crypto_ProcessJob()

Контекстная диаграмма: CSM располагается между своими пользователями и CryIf с драйверами. Планировщик управляет асинхронной обработкой. Источники: [SWS_Csm_00479], [SWS_Csm_00970]

Центральной единицей является задание (Job) — экземпляр сконфигурированного примитива [SWS_Csm_00941]. Его конфигурация определяет, выполняется ли служба, например Csm_Hash, синхронно или асинхронно [SWS_Csm_00980]. Асинхронные задания CSM помещает в очереди по приоритету [SWS_Csm_00944]. Циклическая функция Csm_MainFunction передает их в CryIf [SWS_Csm_00479]. Нижний уровень сообщает о результате через Csm_CallbackNotification. Если установлен бит FINISH, CSM затем вызывает сконфигурированный обратный вызов приложения [SWS_Csm_01044] [SWS_Csm_00971].

Асинхронный вызов службы с callbackПриложениеCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Задание по приоритетуin Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Проверить очередиCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnОбработка вдрайвере или HSMCallback с результатомCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Диаграмма последовательности: заказ сначала только принимается и позже обрабатывается в MainFunction. Результат возвращается по цепочке обратных вызовов. Источники: SWS CSM с. 164, [SWS_Csm_00970]

Параметр mode объединяет START, UPDATE и FINISH. Благодаря этому возможны потоковая обработка (Streaming) и одиночный вызов (Single Call), при этом задание переключается между IDLE и ACTIVE [SWS_Csm_01029] [SWS_Csm_01028]. Выполняемые задания можно сохранять, восстанавливать или прерывать с помощью Csm_CancelJob [SWS_Csm_91063] [SWS_Csm_00968].

Ключи состоят из стандартизированных элементов [SWS_Csm_00954] [SWS_Csm_01022]. Их можно устанавливать, помечать как действительные или недействительные, копировать, генерировать, деривировать и обменивать по протоколу Диффи — Хеллмана. Для заданий могут использоваться только действительные ключи [SWS_Csm_91075] [SWS_Csm_00966].

В случае ошибки службы возвращают такие коды, как CRYPTO_E_BUSY или CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044]. Опционально CSM сообщает об ошибках разработки, таких как CSM_E_UNINIT, в DET [SWS_Csm_91004]. Переполнение очереди обозначается ошибкой времени выполнения CSM_E_QUEUE_FULL [SWS_Csm_01089]; предположительно (vermutlich), о ней сообщается в дополнение к возвращаемому значению CRYPTO_E_BUSY. Вопрос (открытый)

Роль CSM между пользователями криптографии и уровнем драйверов

Crypto Service Manager (CSM) представляет собой сервисный уровень криптографического стека Classic. Он предоставляет два вида служб: сами криптографические службы и управление ключами SWS CSM с. 25. Криптографические операции запрашиваются через функции, привязанные к заданиям. Примерами являются Csm_Hash [SWS_Csm_00980], Csm_MacGenerate [SWS_Csm_00982], Csm_Encrypt [SWS_Csm_00984], Csm_AEADEncrypt [SWS_Csm_01023], Csm_SignatureVerify [SWS_Csm_00996] и Csm_RandomGenerate [SWS_Csm_01543].

Вниз CSM передает заказы через Crypto Interface (CryIf) в Crypto Driver Objects. Путь от очереди CSM через CryIf к Crypto Driver Object спецификация называет каналом. Crypto Driver Object может быть аппаратным (например, ускоритель AES в HSM) или программным SWS CSM с. 29. Вверх приложения используют CSM как службу AUTOSAR через порты RTE SWS CSM с. 85. Модули BSW также обращаются к нему:

  • SecOC вычисляет и проверяет с его помощью Authenticator SWS SecOC с. 78.
  • DCM проверяет с его помощью подписи при аутентификации SWS DCM с. 152.
  • KeyM устанавливает и валидирует с его помощью ключи SWS KeyM с. 80.

Обработка сертификатов начиная с R19-11 относится не к CSM, а к Key Manager Release Overview с. 32.

kontext swc Приложение (SW-C) через порты RTE csm Csm задания, очереди, ключи swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf каналы csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (напр., HSM) или SW cryif->drv Crypto_ProcessJob()

Контекстная диаграмма: CSM выступает посредником между приложениями и BSW-пользователями с одной стороны и CryIf с Crypto Driver Objects с другой стороны. Планировщик управляет асинхронной обработкой, DET опционален. Источники: SWS CSM с. 29, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_91101], [SWS_Csm_91100]

Задания, примитивы, ключи и очереди как объекты конфигурации

Центральной единицей является задание (Job) — экземпляр сконфигурированного криптографического примитива [SWS_Csm_00941]. Во время выполнения его описывает Crypto_JobType. Структура содержит, среди прочего, jobId, jobState, структуру ввода-вывода Crypto_JobPrimitiveInputOutputType и указатель на константную Crypto_JobPrimitiveInfoType [SWS_Csm_01013] [SWS_Csm_01009] SWS CSM с. 20. Crypto_JobPrimitiveInfoType содержит идентификатор обратного вызова, ключ CryIf и способ обработки Crypto_ProcessingType [SWS_Csm_01012] [SWS_Csm_01049]. Сам примитив определяет Crypto_PrimitiveInfoType, состоящий из службы и алгоритма. Алгоритм включает семейство, вторичное семейство, длину ключа и режим [SWS_Csm_01011] [SWS_Csm_01031] [SWS_Csm_01008]. Опционально Crypto_JobRedirectionInfoType перенаправляет ввод и вывод на ключевые элементы [SWS_Csm_91026] [SWS_Csm_91024].

В конфигурации ECU каждое задание получает следующие параметры SWS CSM с. 173:

  • CsmJobId и CsmJobPriority,
  • ссылку на примитив,
  • через CsmJobInterfaceUsePort определение того, используется ли оно как функция или через порты.

CsmKey с CsmKeyId ссылается на CryIfKey SWS CSM с. 171. CsmQueue с CsmQueueSize ссылается на CryIfChannel и экземпляр MainFunction SWS CSM с. 173. Для каждой сконфигурированной CsmMainFunction создается отдельная Csm_MainFunction_<shortName> [SWS_Csm_00479].

Csm_Init инициализирует модуль. Если CSM назначен нескольким разделам (Partition), допускается наличие одной функции инициализации на каждый раздел [SWS_Csm_00646]. Содержимое Csm_ConfigType зависит от реализации [SWS_Csm_01085]. Согласно версии R24-11, configPtr всегда является нулевым указателем SWS CSM с. 48.

От вызова службы к обработке драйвером

Выполняется ли служба синхронно или асинхронно, определяется конфигурацией задания. Поэтому функции служб специфицированы как «Synchronous or Async, depending on the job configuration» [SWS_Csm_00980] [SWS_Csm_00982]. В главе 7.2 (цитируется по R24-11) установлены следующие правила SWS CSM с. 21:

  • Для каждого задания в один момент времени обрабатывается только один экземпляр; различные задания могут выполняться параллельно.
  • Если задание уже находится в состоянии ACTIVE, CSM напрямую вызывает CryIf_ProcessJob и передаёт его возвращаемое значение дальше.
  • Если задание необходимо поставить в очередь, а очередь заполнена, CSM отклоняет его с CRYPTO_E_BUSY.

Очереди сортируют задания в соответствии с их сконфигурированным приоритетом [SWS_Csm_00940] [SWS_Csm_00944].

entscheidung start Csm_<Service>() aufgerufen active Job ACTIVE? start->active sync Job synchron? active->sync нет proc retVal = CryIf_ProcessJob() active->proc да qempty CSM-Queue leer? sync->qempty да qfull CSM-Queue voll? sync->qfull нет prio Приоритет выше, чем наивысший в очереди? qempty->prio нет qempty->proc да prio->proc да busysync retVal = BUSY prio->busysync нет busyasync return CRYPTO_E_BUSY qfull->busyasync да enq Job in CSM-Queue einreihen (Abarbeitung in Csm_MainFunction) qfull->enq нет ret return retVal proc->ret busysync->ret

Диаграмма деятельности: точка входа сервиса выбирает между прямой передачей в CryIf, постановкой в очередь и отклонением с BUSY. Интерпретация: логика взята из диаграммы более поздних релизов и, по-видимому, аналогично применима к R20-11. Источники: SWS CSM с. 30, SWS CSM с. 21, [SWS_Csm_00944]

При асинхронном использовании интерфейсные функции передают на нижние уровни только необходимую информацию SWS CSM с. 25. Дальнейший ход выполнения:

  1. Basic Software Scheduler циклически вызывает Csm_MainFunction. Она проверяет очереди и передаёт задания дальше в CryIf [SWS_Csm_00479] SWS CSM с. 84.
  2. Нижний уровень сообщает о завершении через Csm_CallbackNotification [SWS_Csm_00970].
  3. CSM вызывает сконфигурированную функцию <Csm_ApplicationCallbackNotification>(jobId, result) [SWS_Csm_00971], однако только в том случае, если в режиме установлен бит FINISH [SWS_Csm_01044].

Пользователи RTE получают для этого порт CallbackNotification_{Job} при условии, что задание сконфигурировано как асинхронное, а не как чистая функция [SWS_Csm_00934] [SWS_Csm_00928].

Асинхронный вызов службы с callbackПриложениеCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Задание по приоритетуin Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Проверить очередиCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnОбработка вдрайвере или HSMCallback с результатомCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Диаграмма последовательности: асинхронный запрос принимается и позже передаётся в CryIf внутри MainFunction. Результат возвращается обратно по цепочке callback-вызовов. Источники: SWS CSM с. 164, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_01044], [SWS_Csm_00971]

Потоковая обработка, Single Call и состояние задания

Параметр mode типа Crypto_OperationModeType представляет собой битовое поле из START (0x01), UPDATE (0x02) и FINISH (0x04). Комбинированными значениями являются CRYPTO_OPERATIONMODE_STREAMSTART (0x03) и CRYPTO_OPERATIONMODE_SINGLECALL (0x07) [SWS_Csm_01029] [SWS_Csm_01039]. Режимы действуют следующим образом:

  • START сбрасывает задание и отбрасывает прежние входные данные и промежуточные результаты [SWS_Csm_01029].
  • Повторный UPDATE обрабатывает большие объёмы данных в потоковом режиме. Single Call, напротив, экономит накладные расходы на вызовы при малых объёмах данных EXP Krypto-Dienste с. 12.
  • START и FINISH без UPDATE отклоняются с E_NOT_OK [SWS_Csm_01045].
  • FINISH завершает вычисление [SWS_Csm_01046].

Crypto_JobStateType различает два состояния [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE: после Csm_Init или после завершённого FINISH,
  • CRYPTO_JOBSTATE_ACTIVE: после START или UPDATE.

Фактические переходы состояний согласно указанию спецификации выполняет Crypto Driver SWS CSM с. 22.

jobzustand init Csm_Init() idle CRYPTO_JOBSTATE_IDLE init->idle idle->idle SINGLECALL (START|UPDATE|FINISH) active CRYPTO_JOBSTATE_ACTIVE idle->active START / STREAMSTART active->idle FINISH abgeschlossen active->active UPDATE: Zwischenergebnisse active->active START: Reset, Daten verworfen

Диаграмма состояний: задание переходит со START в ACTIVE, остаётся там при UPDATE и возвращается в IDLE после FINISH. SINGLECALL проходит все шаги за один вызов. Источники: [SWS_Csm_01028], [SWS_Csm_01029], [SWS_Csm_01039]

Выполняемые задания можно прерывать и возобновлять. Csm_SaveContextJob сохраняет рабочий контекст в буфере приложения, Csm_RestoreContextJob восстанавливает его [SWS_Csm_91063] [SWS_Csm_91064]. Элементы ключа не принадлежат к этому контексту SWS CSM с. 35. Csm_CancelJob отменяет асинхронные или потоковые задания [SWS_Csm_00968]. Для этого CSM удаляет задание из своей очереди или вызывает CryIf_CancelJob SWS CSM с. 80.

Управление ключами: элементы, валидность, генерация и обмен

Ключ состоит из одного или нескольких элементов ключа [SWS_Csm_00954]. Их идентификаторы ID стандартизированы, например CRYPTO_KE_MAC_KEY (1), CRYPTO_KE_CIPHER_IV (5) и CRYPTO_KE_KEYGENERATE_SEED (16) [SWS_Csm_01022]. Сервисы ключей доступны только в виде функции Csm_<Service> [SWS_Csm_00950]. Базовые сервисы являются синхронными, среди них Csm_KeyElementSet, Csm_KeySetValid и Csm_KeyElementGet [SWS_Csm_00957] [SWS_Csm_00958] [SWS_Csm_00959]. Если элементы располагаются непосредственно во флеш-памяти, эти вызовы могут длиться дольше. Пока выполняется функция ключа, CSM не извлекает новые задания из очереди вплоть до следующего вызова MainFunction SWS CSM с. 60.

Статус ключа (CRYPTO_KEYSTATUS_INVALID или CRYPTO_KEYSTATUS_VALID) возвращает Csm_KeyGetStatus [SWS_Csm_91102] [SWS_Csm_91047]. Csm_KeySetValid переводит ключ в валидное состояние. Csm_KeySetInvalid блокирует его для криптографических операций до тех пор, пока он снова не будет установлен как валидный [SWS_Csm_00958] [SWS_Csm_91075]. Дополнительно существуют варианты на основе заданий, такие как Csm_JobKeySetValid, Csm_JobKeyGenerate и Csm_JobKeyDerive. Они выполняются синхронно или асинхронно в зависимости от конфигурации задания [SWS_Csm_91027] [SWS_Csm_91029] [SWS_Csm_91030].

keystatus invalid CRYPTO_KEYSTATUS_INVALID invalid->invalid Csm_KeyElementSet(); Job-Anfragen: CRYPTO_E_KEY_NOT_VALID valid CRYPTO_KEYSTATUS_VALID invalid->valid Csm_KeySetValid() / Csm_JobKeySetValid() valid->invalid Csm_KeySetInvalid() / Csm_JobKeySetInvalid() valid->invalid Csm_KeyElementSet() (vermutlich) valid->valid Nutzung in Jobs, Csm_KeyGetStatus()

Диаграмма состояний: только валидный ключ пригоден для использования в заданиях; установка и инвалидация управляют переходом. Интерпретация: переход в INVALID посредством Csm_KeyElementSet выведен из примера. Источники: [SWS_Csm_91102], [SWS_Csm_00958], [SWS_Csm_91075], [SWS_Csm_91043]

Дополнительные сервисы ключей:

  • Копирование: поэлементно с помощью Csm_KeyElementCopy, частично с помощью Csm_KeyElementCopyPartial или ключа целиком с помощью Csm_KeyCopy [SWS_Csm_00969] [SWS_Csm_91025] [SWS_Csm_01034].
  • Генерация: перед Csm_KeyGenerate случайное значение должно находиться в CRYPTO_KE_KEYGENERATE_SEED, например из Csm_RandomGenerate. Алгоритм определяется CRYPTO_KE_KEYGENERATE_ALGORITHM [SWS_Csm_00955] SWS CSM с. 67.
  • Деривация: Csm_KeyDerive производит запись в целевой ключ и вызывает CryIf_KeyDerive [SWS_Csm_00956] [SWS_Csm_01018].
  • Обмен: для схемы Диффи — Хеллмана два партнёра определяют общий секрет с помощью Csm_KeyExchangeCalcPubVal и Csm_KeyExchangeCalcSecret, не раскрывая своих закрытых частей [SWS_Csm_00966] [SWS_Csm_00967] SWS CSM с. 70.
Обмен ключами Диффи — Хеллмана через CSMAnwendung (Partner A)CsmPartner BКлюч keyId с BASE, PRIVKEY, OWNPUBKEYподготовлен (установлен и действителен или сгенерирован)Csm_KeyExchangeCalcPubVal(keyId,publicValuePtr, publicValueLengthPtr)E_OK, собственное открытое значениепередать открытое значение(передача вне CSM)открытое значение BCsm_KeyExchangeCalcSecret(keyId,partnerPublicValuePtr, partnerPublicValueLength)E_OKBeide besitzen dasselbe Geheimnis,напр., для шифрования или MAC

Диаграмма последовательности: партнёры обмениваются только открытыми значениями. Общий секрет формируется локально за два вызова CSM. Источники: SWS CSM с. 70, [SWS_Csm_00966], [SWS_Csm_00967]

Формы интерфейсов: C-API, порты RTE и типы буферов

Пользователи BSW вызывают C-функции из Csm.h. Для приложений раздел 8.7 описывает сервисные интерфейсы, на основе которых генерируется RTE SWS CSM с. 85. В зависимости от конфигурации формируются следующие порты:

  • CsmJob_{Job} для синхронной или асинхронной обработки, в каждом случае с фиксированным аргументом CRYPTO_OPERATIONMODE_SINGLECALL [SWS_Csm_91023] [SWS_Csm_91062],
  • CsmKey_{Key} при установленном CsmKeyUsePort [SWS_Csm_01042] [SWS_Csm_01905],
  • опционально CsmContext_{Job} [SWS_Csm_91105].

Типами буферов являются массивы uint8, размер которых следует из конфигурации примитива, например Csm_HashResultType_{Crypto} и Csm_MacVerifyCompareType_{Crypto} [SWS_Csm_00912] [SWS_Csm_00803]. Длины и результаты верификации возвращаются асинхронно через типы указателей Csm_LengthPtr и Csm_VerifyResultPtr [SWS_Csm_91045] [SWS_Csm_91046]. Верификации возвращают CRYPTO_E_VER_OK или CRYPTO_E_VER_NOT_OK [SWS_Csm_01024].

Поведение при ошибке

Сервисы возвращают Std_ReturnType, асинхронные результаты — Crypto_ResultType. Наряду с E_OK и E_NOT_OK существуют специфические коды, такие как CRYPTO_E_BUSY, CRYPTO_E_ENTROPY_EXHAUSTED, CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_NOT_AVAILABLE и CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044] [SWS_Csm_91043]. Функции ключей дополнительно возвращают CRYPTO_E_KEY_SIZE_MISMATCH и CRYPTO_E_KEY_EMPTY [SWS_Csm_00969] [SWS_Csm_00956]. Если Csm_KeyElementSet завершается неудачно, состояние элемента считается неизвестным. Приложение затем может проверить его с помощью Csm_KeyGetStatus SWS CSM с. 62.

Ошибки разработки CSM опционально сообщает через Det_ReportError [SWS_Csm_91101]. Определены, в частности, [SWS_Csm_91004]:

  • CSM_E_PARAM_POINTER: нулевой указатель,
  • CSM_E_PARAM_HANDLE: ID вне диапазона,
  • CSM_E_UNINIT: вызов до инициализации,
  • CSM_E_INIT_FAILED: сбой инициализации,
  • CSM_E_PROCESSING_MODE: недействительный режим обработки.

Согласно редакции R24-11, CSM_E_PROCESSING_MODE возникает, например, если Csm_CancelJob вызывается для синхронного задания SWS CSM с. 80. В качестве ошибки времени выполнения определено переполнение очереди CSM_E_QUEUE_FULL [SWS_Csm_01089] SWS CSM с. 35. Интерпретация: по-видимому, о ней сообщается параллельно с возвратом CRYPTO_E_BUSY при заполненной очереди. Вопрос Q-9b0fc38c9c075fd3 (открытый)

Csm_CancelJob может возвращать два результата [SWS_Csm_00968]:

  • E_OK: задание было удалено из очередей и, при необходимости, из аппаратного обеспечения драйвера.
  • CRYPTO_E_JOB_CANCELED: немедленная отмена невозможна. Отмена произойдёт на следующем подходящем шаге и будет сообщена через отрицательный завершающий callback.

Операции с контекстом над заданием в состоянии IDLE или над заданием, которое в данный момент выполняется в драйвере, согласно редакции R24-11 немедленно завершаются с E_NOT_OK SWS CSM с. 35.

Дальнейшие подробные доказательства

Сгенерированное ИИ руководство на основе предоставленных в полезной нагрузке выдержек из спецификации CSM (Classic, R20-11). Фрагменты документов более поздних релизов отмечены соответствующим образом. Обязательную силу имеют связанные требования.

Crypto Service Manager (CSM)

Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция Csm_Init [SWS_Csm_00646] 📄 PDF

void Csm_Init (const Csm_ConfigType* configPtr);

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

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

Синхронная функция Csm_Init служит для инициализации модуля Crypto Service Manager (CSM) согласно [SWS_Csm_00646]. Интерфейс объявлен через заголовочный файл Csm.h [SWS_Csm_00646].

В отношении параметров и поведения вызова [SWS_Csm_00646] определяет следующие свойства:

  • Параметры: в качестве входного параметра передается configPtr. Он представляет собой указатель на выбранную конфигурационную структуру типа const Csm_ConfigType* [SWS_Csm_00646]. Входные/выходные или выходные параметры отсутствуют [SWS_Csm_00646].
  • Возвращаемое значение: функция не возвращает значения (void) [SWS_Csm_00646].
  • Синхронность и идентификация: выполнение происходит синхронно; Service-ID имеет значение 0x00 [SWS_Csm_00646].

Для конкурентности и работы в многораздельном режиме согласно [SWS_Csm_00646] действуют специфические требования:

  • Реентерабельность: функция является нереентерабельной (Non Reentrant) и поэтому не должна вызываться конкурентно [SWS_Csm_00646].
  • Разделение на разделы: если модуль CSM назначен более чем одному разделу (то есть если основные функции, такие как Csm_MainFunction, распределены по разделам), CSM разрешается предоставлять отдельную функцию инициализации для каждого раздела [SWS_Csm_00646].

Интерпретация: поскольку спецификация определяет Csm_Init как функцию инициализации, вызов, как правило, должен выполняться на этапе запуска системы до выполнения штатных криптографических заданий. Вопрос Q-f462c3f9f4ed24fc (открытый)

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

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

функция Csm_Hash [SWS_Csm_00980] 📄 PDF

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Uses the given data to perform the hash calculation and stores the hash.

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

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

Функция Csm_Hash вычисляет криптографическое хеш-значение по переданным входным данным и сохраняет результат в целевой памяти [SWS_Csm_00980]. Интерфейс объявляется через заголовочный файл Csm.h и имеет Service-ID 0x5d [SWS_Csm_00980]. Поведение при выполнении является либо синхронным, либо асинхронным, что зависит от соответствующей конфигурации задания, указанного через jobId [SWS_Csm_00980].

Параметры подразделяются следующим образом [SWS_Csm_00980]:

  • jobId: уникальный идентификатор задания CSM, использующего криптографическую службу.
  • mode: указывает, какой режим работы или какие режимы работы должны выполняться.
  • dataPtr и dataLength: указатель на входные данные для хеширования, а также количество обрабатываемых байтов.
  • resultPtr: указатель на буфер, в котором сохраняется вычисленное хеш-значение.
  • resultLengthPtr: Перед вызовом этот указатель должен содержать предоставленную емкость буфера resultPtr в байтах. После завершения обработки это значение перезаписывается фактической длиной сгенерированного хеш-значения в байтах. Если предоставленный буфер меньше общей длины результата, хеш-значение сохраняется в усеченном виде.

Обработка ошибок и параллелизм

Возвращаемое значение типа Std_ReturnType сигнализирует с помощью E_OK об успешном запросе, а с помощью E_NOT_OK — об ошибке при обработке задания [SWS_Csm_00980]. В отношении конкурентности Csm_Hash специфицирована как reentrant [SWS_Csm_00980].

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

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

функция Csm_MacGenerate [SWS_Csm_00982] 📄 PDF

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);

Service Csm_MacGenerate.

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

Реентерабельная функция Csm_MacGenerate (Service ID 0x60, заголовочный файл Csm.h) вычисляет Message Authentication Code (MAC) для переданных входных данных и сохраняет результат по указанному целевому адресу [SWS_Csm_00982]. Выполняется ли обработка синхронно или асинхронно, зависит от конфигурации задания, на которое ссылается jobId [SWS_Csm_00982].

Параметр mode определяет выполняемые режимы работы. Входные данные передаются через dataPtr, а их размер в байтах — через dataLength [SWS_Csm_00982]. Буфер macPtr принимает результат. Через входной и выходной параметр macLengthPtr при вызове должен передаваться размер предоставленного буфера; после завершения запроса в нем сохраняется фактическая длина вычисленного MAC. Если буфер меньше общего результата, MAC сохраняется в усеченном виде [SWS_Csm_00982].

Возможными возвращаемыми значениями типа Std_ReturnType являются [SWS_Csm_00982]:

  • E_OK: Запрос успешно выполнен.
  • E_NOT_OK: запрос завершился сбоем.
  • CRYPTO_E_BUSY: Служба все еще занята.
  • CRYPTO_E_KEY_NOT_VALID: статус ключа недействителен.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Элемент ключа имеет неверный размер.
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.

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

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

функция Csm_MacVerify [SWS_Csm_01050] 📄 PDF

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_MacVerify.

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

Функция Csm_MacVerify согласно [SWS_Csm_01050] служит для верификации Message Authentication Code (MAC) путём проверки соответствия переданного MAC предоставленным данным. Результат верификации сохраняется в области памяти, на которую указывает verifyPtr. Сервис доступен через заголовочный файл Csm.h и специфицирован как реентерабельный.

При вызове необходимо учитывать следующие параметры и семантику [SWS_Csm_01050]:

  • Синхронное или асинхронное поведение: выполнение происходит синхронно или асинхронно в зависимости от конфигурации задания, на которое ссылается jobId.
  • Режим работы: через mode (Crypto_OperationModeType) определяется, какие режимы операций должны быть выполнены.
  • Указания длины: в то время как dataLength задаёт количество байтов данных для dataPtr, macLength обязательно требует указания длины проверяемого MAC в битах.

В качестве возвращаемого значения функция возвращает статус запроса как Std_ReturnType [SWS_Csm_01050]:

  • E_OK: запрос был успешен.
  • E_NOT_OK: запрос завершился сбоем.
  • CRYPTO_E_BUSY: сервис всё ещё занят.
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недопустимо.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Элемент ключа имеет неверный размер.
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.

Этот текст создан ИИ. Он основан исключительно на спецификациях AUTOSAR версии R20-11.

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

функция Csm_Encrypt [SWS_Csm_00984] 📄 PDF

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Encrypt.

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

Функция Csm_Encrypt (Service ID 0x5e, предоставляемая через Csm.h) шифрует переданные входные данные и помещает шифротекст в указанный буфер результатов [SWS_Csm_00984].

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

Для выполнения операции передаются следующие параметры [SWS_Csm_00984]:

  • jobId: Идентификатор задания CSM, использующего службу.
  • mode: Обозначает выполняемый режим или режимы работы (типа Crypto_OperationModeType).
  • dataPtr и dataLength: Указатель на подлежащие шифрованию исходные данные, а также количество обрабатываемых байтов.
  • resultPtr: Указатель на область памяти, в которой сохраняются зашифрованные данные.
  • resultLengthPtr: Указатель на информацию о длине в байтах. Перед вызовом этот параметр должен содержать предоставленную емкость буфера resultPtr; после завершения запроса там сохраняется фактическая выходная длина [SWS_Csm_00984].

Семантика выполнения не зафиксирована статически: она осуществляется синхронно или асинхронно в зависимости от конфигурации назначенного задания [SWS_Csm_00984].

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

Функция специфицирована как reentrant [SWS_Csm_00984]. Вызывающие стороны должны гарантировать, что буфер resultPtr остается действительным на протяжении всей обработки до завершения операции и имеет размер не менее первоначально указанного через resultLengthPtr.

Обработка ошибок и возвращаемые значения

Возвращаемое значение типа Std_ReturnType дает информацию о статусе запроса [SWS_Csm_00984]:

  • E_OK: запрос успешен.
  • E_NOT_OK: запрос завершился сбоем.
  • CRYPTO_E_BUSY: Запрос отклонен, так как служба в данный момент все еще занята.
  • CRYPTO_E_KEY_NOT_VALID: Указанный ключ находится в состоянии «invalid».
  • CRYPTO_E_KEY_SIZE_MISMATCH: Элемент ключа имеет недопустимый размер.
  • CRYPTO_E_KEY_EMPTY: Передан неинициализированный исходный элемент ключа.

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

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

функция Csm_Decrypt [SWS_Csm_00989] 📄 PDF

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Decrypt.

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

Функция Csm_Decrypt ([SWS_Csm_00989]) расшифровывает переданные зашифрованные данные и сохраняет полученный открытый текст в целевой области памяти. Она предоставляется через заголовочный файл Csm.h и выполняет криптографические операции на основе конфигурации переданного задания.

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

Через параметр jobId адресуется используемое задание CSM, в то время как mode (тип Crypto_OperationModeType) задаёт выполняемую фазу (фазы) операции ([SWS_Csm_00989]). Подлежащие расшифрованию данные передаются в виде указателя dataPtr с числом байтов dataLength. Открытый текст записывается в буфер, адресуемый resultPtr.

Входной/выходной параметр resultLengthPtr управляет управлением буфером: при вызове он должен содержать предоставленный размер буфера resultPtr в байтах; после завершения операции туда помещается фактически записанная длина вывода ([SWS_Csm_00989]).

Выполнение и возвращаемые значения

Поведение при выполнении (синхронное или асинхронное) напрямую зависит от базовой конфигурации задания ([SWS_Csm_00989]). Функция спроектирована как реентерабельная и возвращает специфические возвращаемые значения типа Std_ReturnType:

  • E_OK: запрос выполнен успешно ([SWS_Csm_00989]).
  • E_NOT_OK: запрос завершился сбоем ([SWS_Csm_00989]).
  • CRYPTO_E_BUSY: запрошенный сервис в данный момент всё ещё занят ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_NOT_VALID: состояние используемого ключа недопустимо ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_SIZE_MISMATCH: элемент ключа имеет неподходящий размер ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_EMPTY: исходный ключевой элемент не инициализирован ([SWS_Csm_00989]).

Этот текст был создан ИИ на основе данных спецификации AUTOSAR R20-11.

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

функция Csm_AEADEncrypt [SWS_Csm_01023] 📄 PDF

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Service Csm_AEADEncrypt.

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

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

Функция Csm_AEADEncrypt выполняет аутентифицированное шифрование с ассоциированными данными (AEAD) и доступна через заголовочный файл Csm.h [SWS_Csm_01023]. Она обрабатывает через plaintextPtr и plaintextLength подлежащий шифрованию открытый текст, а через associatedDataPtr и associatedDataLength — дополнительные ассоциированные данные [SWS_Csm_01023]. Выходные данные записываются в буферы ciphertextPtr (шифротекст) и tagPtr (тег аутентификации или MAC) [SWS_Csm_01023]. При вызове ciphertextLengthPtr и tagLengthPtr должны содержать предоставленную емкость буфера в байтах; после завершения они содержат фактическую длину выходных значений [SWS_Csm_01023] (Интерпретация: указанный в спецификации параметр resultPtr, вероятно, по редакционным причинам относится к ciphertextPtr или tagPtr). Вопрос Q-ea7e69875375c501 (открытый) Через mode выбирается выполняемый режим работы [SWS_Csm_01023]. Выполнение происходит синхронно или асинхронно в зависимости от конфигурации задания переданного jobId [SWS_Csm_01023].

Обработка ошибок и возвращаемые значения

Служба возвращает через тип возвращаемого значения Std_ReturnType следующие значения статуса [SWS_Csm_01023]:

  • E_OK: запрос успешно выполнен [SWS_Csm_01023].
  • E_NOT_OK: запрос завершился сбоем [SWS_Csm_01023].
  • CRYPTO_E_BUSY: Запрос завершился неудачно, так как служба занята [SWS_Csm_01023].
  • CRYPTO_E_KEY_NOT_VALID: Запрос завершился неудачно, так как статус ключа недействителен [SWS_Csm_01023].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Запрос завершился неудачно, так как элемент ключа имеет неверный размер [SWS_Csm_01023].
  • CRYPTO_E_KEY_EMPTY: Запрос завершился неудачно из-за неинициализированного исходного элемента ключа [SWS_Csm_01023].

Параллелизм

Интерфейс специфицирован как reentrant [SWS_Csm_01023].

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

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

функция Csm_AEADDecryptManager [SWS_Csm_01026] 📄 PDF

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);

Service Csm_AEADDecryptManager.

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

Сервис Csm_AEADDecrypt (Service ID 0x63, предоставляется через Csm.h) согласно [SWS_Csm_01026] выполняет расшифрование AEAD (Authenticated Encryption with Associated Data). Интерпретация: хотя описание в тексте спецификации говорит о шифровании, функция, судя по определённым входным и выходным параметрам, служит для расшифрования шифртекста, а также для верификации переданного тега аутентификации. Вопрос Q-00e8fca03eb3b44d (открытый)

Выполнение происходит синхронно или асинхронно в зависимости от конфигурации задания, идентифицированного через jobId ([SWS_Csm_01026]). В отношении параллелизма функция является реентерабельной ([SWS_Csm_01026]). Через параметр mode задаётся, какие режимы операций должны быть обработаны.

Для вызова действуют следующие соотношения параметров ([SWS_Csm_01026]):

  • Входные данные: указатели и указания длины для шифртекста (ciphertextPtr, ciphertextLength), ассоциированных данных (associatedDataPtr, associatedDataLength) и проверяемого тега (tagPtr, tagLength).
  • Выходные данные: буфер plaintextPtr принимает расшифрованный открытый текст. Указатель plaintextLengthPtr при вызове должен содержать ёмкость буфера; после завершения туда помещается фактическая длина вывода.
  • Результат верификации: результат проверки тега возвращается через verifyPtr.

В качестве возвращаемых значений типа Std_ReturnType согласно [SWS_Csm_01026] специфицированы:

  • E_OK: запрос выполнен успешно.
  • E_NOT_OK: запрос завершился сбоем.
  • CRYPTO_E_BUSY: сервис занят.
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недопустимо.
  • CRYPTO_E_KEY_SIZE_MISMATCH: элемент ключа имеет неправильный размер.
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.

Это указание по использованию основано на спецификации AUTOSAR CP R20-11.

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

функция Csm_SignatureGenerate [SWS_Csm_00992] 📄 PDF

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);

Service Csm_SignatureGenerate.

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

Функция Csm_SignatureGenerate служит для вычисления криптографической подписи по переданным полезным данным согласно [SWS_Csm_00992]. Обрабатывается ли вызов синхронно или асинхронно, зависит от соответствующей конфигурации переданного задания (jobId) [SWS_Csm_00992]. Функция специфицирована как ревходабельная [SWS_Csm_00992].

При вызове параметр mode типа Crypto_OperationModeType управляет выполняемыми режимами операции [SWS_Csm_00992]. Подписываемые данные передаются через dataPtr вместе с их длиной в байтах dataLength [SWS_Csm_00992]. Вычисленная подпись записывается в область памяти, на которую ссылается signaturePtr [SWS_Csm_00992]. Входной/выходной параметр signatureLengthPtr перед вызовом должен содержать предоставленный размер буфера в байтах; после завершения запроса он содержит фактическую длину созданной подписи в байтах [SWS_Csm_00992].

Возвращаемое значение сигнализирует статус запроса функции [SWS_Csm_00992]:

  • E_OK: запрос успешно выполнен или запущен [SWS_Csm_00992].
  • E_NOT_OK: общие ошибки при запросе [SWS_Csm_00992].
  • CRYPTO_E_BUSY: запрашиваемая служба в настоящее время занята [SWS_Csm_00992].
  • CRYPTO_E_KEY_NOT_VALID: состояние используемого ключа недействительно [SWS_Csm_00992].
  • CRYPTO_E_KEY_SIZE_MISMATCH: элемент ключа имеет неподходящий размер [SWS_Csm_00992].
  • CRYPTO_E_KEY_EMPTY: исходный ключевой элемент не инициализирован [SWS_Csm_00992].

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

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

функция Csm_SignatureVerify [SWS_Csm_00996] 📄 PDF

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_SignatureVerify.

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

Сервис Csm_SignatureVerify (Service-ID 0x64, объявленный в Csm.h) служит для верификации криптографической подписи на основе переданных данных [SWS_Csm_00996]. В спецификации функциональность сопоставительно описывается как проверка того, была ли подпись (в описании также называемая MAC) сгенерирована с использованием переданных данных [SWS_Csm_00996].

Использование и параметры: при вызове jobId идентифицирует сконфигурированное задание CSM, тогда как mode (тип Crypto_OperationModeType) задаёт выполняемые режимы работы [SWS_Csm_00996]. Подлежащие проверке полезные данные передаются через указатель dataPtr с количеством байтов dataLength [SWS_Csm_00996]. Подлежащая валидации подпись предоставляется через signaturePtr вместе со своей длиной в байтах signatureLength [SWS_Csm_00996]. Результат верификации функция сохраняет в ячейке памяти, на которую ссылается выходной параметр verifyPtr (тип Crypto_VerifyResultType*) [SWS_Csm_00996]. Поведение при выполнении является синхронным или асинхронным в зависимости от конфигурации конкретного задания [SWS_Csm_00996].

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

  • E_OK: запрос сервиса выполнен успешно [SWS_Csm_00996].
  • E_NOT_OK: запрос сервиса завершился сбоем [SWS_Csm_00996].
  • CRYPTO_E_BUSY: запрос завершился сбоем, так как базовый сервис всё ещё занят [SWS_Csm_00996].
  • CRYPTO_E_KEY_NOT_VALID: запрос завершился сбоем из-за недопустимого состояния ключа [SWS_Csm_00996].
  • CRYPTO_E_KEY_SIZE_MISMATCH: запрос завершился сбоем, поскольку ключевой элемент имеет неверный размер [SWS_Csm_00996].
  • CRYPTO_E_KEY_EMPTY: Запрос завершился неудачно из-за неинициализированного исходного элемента ключа [SWS_Csm_00996].

Параллелизм: согласно спецификации функция выполнена как реентерабельная [SWS_Csm_00996].

Данное указание по использованию было сгенерировано ИИ на основе спецификации.

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

функция Csm_RandomGenerate [SWS_Csm_01543] 📄 PDF

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);

Generate a random number and stores it in the memory location pointed by th e result pointer.

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

Функция Csm_RandomGenerate служит для генерации случайных чисел и сохраняет результат в области памяти, на которую указывает resultPtr [SWS_Csm_01543].

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

Через параметр jobId передается идентификатор сконфигурированного задания CSM, использующего эту службу [SWS_Csm_01543]. Вызывающая сторона управляет требуемым объемом данных с помощью входного и выходного параметра resultLengthPtr: при вызове этот указатель должен указывать на количество генерируемых случайных байтов, которые должны быть сохранены в буфере resultPtr [SWS_Csm_01543]. После завершения запроса resultLengthPtr содержит фактическую длину сгенерированного значения в байтах [SWS_Csm_01543]. Обработка выполняется синхронно или асинхронно в зависимости от конфигурации соответствующего задания [SWS_Csm_01543].

Возвращаемые значения и обработка ошибок

Функция возвращает статус типа Std_ReturnType [SWS_Csm_01543]:

  • E_OK: запрос выполнен успешно [SWS_Csm_01543].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_01543].
  • CRYPTO_E_BUSY: запрос завершился неудачно, так как служба все еще занята [SWS_Csm_01543].
  • CRYPTO_E_ENTROPY_EXHAUSTED: запрос завершился неудачно, так как энтропия генератора случайных чисел исчерпана [SWS_Csm_01543].

Параллелизм

Функция разработана как реентерабельная и доступна через заголовочный файл Csm.h с идентификатором службы (Service-ID) 0x72 [SWS_Csm_01543].

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

функция Csm_KeyElementSet [SWS_Csm_00957] 📄 PDF

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Sets the given key element bytes to the key identified by key Id.

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

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

Синхронная функция Csm_KeyElementSet устанавливает байты указанного элемента ключа для ключа, идентифицированного через keyId [SWS_Csm_00957]. Функция имеет Service-ID 0x78 и доступна через заголовочный файл Csm.h [SWS_Csm_00957]. Для вызова передаются следующие входные параметры [SWS_Csm_00957]:

  • keyId: идентификатор ключа, для которого должен быть установлен новый ключевой материал [SWS_Csm_00957].
  • keyElementId: идентификатор записываемого элемента ключа [SWS_Csm_00957].
  • keyElementPtr: указатель на обрабатываемые байты элемента ключа [SWS_Csm_00957].
  • keyElementLength: количество устанавливаемых байтов элемента ключа [SWS_Csm_00957].

Возвращаемые значения и обработка ошибок

Выполнение возвращает статус типа Std_ReturnType, который указывает на успех или специфические причины ошибок [SWS_Csm_00957]:

  • E_OK: запрос выполнен успешно [SWS_Csm_00957].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_00957].
  • CRYPTO_E_BUSY: ответственный Crypto Driver Object занят [SWS_Csm_00957].
  • CRYPTO_E_KEY_WRITE_FAIL: в доступе на запись в элемент ключа отказано [SWS_Csm_00957].
  • CRYPTO_E_KEY_NOT_AVAILABLE: адресуемый ключ недоступен [SWS_Csm_00957].
  • CRYPTO_E_KEY_SIZE_MISMATCH: размер элемента ключа не совпадает с размером предоставленных данных [SWS_Csm_00957].

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

Функция Csm_KeyElementSet специфицирована как синхронная и нереентерабельная (Non Reentrant) [SWS_Csm_00957]. Она не имеет входных/выходных (inout) или выходных параметров (out) [SWS_Csm_00957].

Этот текст был создан ИИ; техническая корректность опирается на документы спецификации.

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

функция Csm_KeySetValid [SWS_Csm_00958] 📄 PDF

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Sets the key state of the key identified by key Id to valid.

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

Синхронная функция Csm_KeySetValid служит для того, чтобы перевести состояние ключа, адресуемого через идентификатор keyId, в «действителен» («valid») после предоставления нового ключевого материала [SWS_Csm_00958]. Сервис предоставляется через заголовочный файл Csm.h и имеет идентификатор сервиса (Service-ID) 0x67 [SWS_Csm_00958].

В отношении использования и возвращаемых значений действуют следующие положения согласно [SWS_Csm_00958]:

  • Входные параметры: через keyId передаётся идентификатор ключа, для которого требуется валидировать новый материал.
  • Возвращаемое значение E_OK: запрос на валидацию состояния ключа завершился успешно.
  • Возвращаемое значение E_NOT_OK: запрос завершился сбоем.
  • Возвращаемое значение CRYPTO_E_BUSY: запрос завершился сбоем, поскольку базовый Crypto Driver Object занят.

С точки зрения параллелизма функция Csm_KeySetValid специфицирована как нереентерабельная («Non Reentrant») [SWS_Csm_00958]. Вызывающим сторонам, по всей видимости, придётся обеспечить подходящую синхронизацию, если вызовы потенциально поступают из параллельных контекстов. Вопрос Q-1762a3bca77ab74e (открытый)

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

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

функция Csm_KeySetInvalid [SWS_Csm_91075] 📄 PDF

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

Синхронная функция Csm_KeySetInvalid устанавливает статус ключа в недействительный [SWS_Csm_91075]. Сделанный недействительным ключ больше не может использоваться для криптографических операций до тех пор, пока он снова не будет переведен в действительное состояние [SWS_Csm_91075].

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

Вызов доступен через заголовочный файл Csm.h и выполняется синхронно [SWS_Csm_91075]. Через входной параметр keyId (тип uint32) передается идентификатор ключа, который должен быть объявлен недействительным [SWS_Csm_91075].

Возвращаемые значения и обработка ошибок

Функция возвращает значение состояния типа Std_ReturnType [SWS_Csm_91075]:

  • E_OK: запрос на признание недействительным выполнен успешно [SWS_Csm_91075].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_91075].
  • CRYPTO_E_BUSY: запрос не удался, так как объект криптографического драйвера занят [SWS_Csm_91075].

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

Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_Csm_91075]. Поэтому вызывающие стороны должны гарантировать, что вызовы не происходят с прерываниями или нескоординированно параллельно. Если ответственный объект криптографического драйвера занят в момент вызова, операция отклоняется с CRYPTO_E_BUSY [SWS_Csm_91075].

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

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

функция Csm_KeyGetStatus [SWS_Csm_91047] 📄 PDF

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by key Id.

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

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

Синхронная функция Csm_KeyGetStatus служит для опроса текущего статуса ключа, заданного через его идентификатор [SWS_Csm_91047]. Объявление доступно через заголовочный файл Csm.h [SWS_Csm_91047].

При вызове передаются следующие параметры [SWS_Csm_91047]:

  • keyId (вход): идентификатор ключа, статус которого необходимо определить.
  • keyStatusPtr (выход): указатель на область памяти типа Crypto_KeyStatusType, в которой CSM сохраняет определенный статус ключа.

В качестве возвращаемого значения функция Std_ReturnType возвращает [SWS_Csm_91047]:

  • E_OK: Опрос статуса прошел успешно, и результат доступен через выходной указатель.
  • E_NOT_OK: запрос завершился сбоем.

Параллелизм и поведение

Служебная функция имеет Service ID 0x83 и специфицирована как reentrant [SWS_Csm_91047]. Поскольку выполнение происходит синхронно, вызов блокирует вызывающую сторону до завершения определения статуса [SWS_Csm_91047]. Действительная область памяти для keyStatusPtr должна быть предоставлена вызывающей стороной, так как недействительные указатели, вероятно, приводят к возвращаемому значению E_NOT_OK. Вопрос Q-a920a9a12b1374aa (открытый)

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

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

функция Csm_KeyElementGet [SWS_Csm_00959] 📄 PDF

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);

Service Csm_KeyElementGet.

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

Синхронная и реентерабельная функция Csm_KeyElementGet считывает данные определённого ключевого элемента из ключа, идентифицируемого через keyId, и копирует их в переданную область памяти [SWS_Csm_00959]. Сервис объявляется через заголовочный файл Csm.h и имеет идентификатор сервиса (Service-ID) 0x68 [SWS_Csm_00959].

Параметры и управление буфером

Для идентификации элемента передаются параметры keyId (идентификатор ключа) и keyElementId (идентификатор требуемого ключевого элемента) [SWS_Csm_00959]. Считывание требует предоставления выходного буфера, а также управления его длиной:

  • keyElementPtr: указатель на область памяти, в которую копируются извлечённые байты ключевого элемента [SWS_Csm_00959].
  • keyElementLengthPtr: входной/выходной параметр (inout), который при вызове функции должен содержать максимально доступный размер буфера keyElementPtr в байтах. После завершения обработки функция сохраняет сюда фактически записанную длину в байтах [SWS_Csm_00959].

Возвращаемые значения и анализ ошибок

Функция возвращает в качестве Std_ReturnType специфические коды состояния для индикации результата операции [SWS_Csm_00959]:

  • E_OK: операция копирования ключевого элемента завершилась успешно [SWS_Csm_00959].
  • E_NOT_OK: общий сбой запроса [SWS_Csm_00959].
  • CRYPTO_E_BUSY: запрос завершился сбоем, поскольку соответствующий Crypto Driver Object в данный момент занят [SWS_Csm_00959].
  • CRYPTO_E_KEY_NOT_AVAILABLE: ключевой элемент, запрошенный через keyElementId, недоступен [SWS_Csm_00959].
  • CRYPTO_E_KEY_READ_FAIL: в доступе на чтение элемента ключа отказано [SWS_Csm_00959].
  • CRYPTO_E_KEY_EMPTY: запрошенный исходный ключевой элемент не инициализирован [SWS_Csm_00959].

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

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

функция Csm_KeyElementCopyManager [SWS_Csm_00969] 📄 PDF

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyManager.

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

Синхронная функция Csm_KeyElementCopyManager служит для копирования отдельного элемента ключа из исходного ключа в целевой элемент целевого ключа [SWS_Csm_00969]. Вызов предоставляется через заголовочный файл Csm.h с Service-ID 0x71 и требует четырех входных параметров: keyId и keyElementId для идентификации исходного элемента ключа, а также targetKeyId и targetKeyElementId для цели [SWS_Csm_00969].

С точки зрения параллельности служба спроектирована как ревходабельная, однако явно не для одной и той же keyId [SWS_Csm_00969]. Поэтому параллельные обращения к одному и тому же исходному ключу должны предотвращаться или синхронизироваться вызывающей стороной.

Функция возвращает статус типа Std_ReturnType. При успешном выполнении она возвращает E_OK [SWS_Csm_00969]. В случае ошибки доступны специфические возвращаемые значения для анализа причин [SWS_Csm_00969]:

  • CRYPTO_E_BUSY: базовый объект криптографического драйвера занят [SWS_Csm_00969].
  • CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный ключевой элемент недоступен [SWS_Csm_00969].
  • CRYPTO_E_KEY_READ_FAIL: чтение исходного элемента не разрешено [SWS_Csm_00969].
  • CRYPTO_E_KEY_WRITE_FAIL: запись в целевой элемент не разрешена [SWS_Csm_00969].
  • CRYPTO_E_KEY_SIZE_MISMATCH: размеры обоих элементов ключей несовместимы друг с другом [SWS_Csm_00969].
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа еще не инициализирован [SWS_Csm_00969].
  • E_NOT_OK: общие ошибки при выполнении запроса [SWS_Csm_00969].

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

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

функция Csm_KeyCopy [SWS_Csm_01034] 📄 PDF

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

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

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

Синхронная сервисная функция Csm_KeyCopy с идентификатором сервиса 0x73 служит для полного копирования всех ключевых элементов из исходного ключа в целевой ключ [SWS_Csm_01034]. Объявление предоставляется через заголовочный файл Csm.h [SWS_Csm_01034]. В качестве неизменяемых входных параметров передаются keyId для идентификатора исходного ключа и targetKeyId для идентификатора целевого ключа [SWS_Csm_01034]. Дополнительные входные/выходные или выходные параметры в сигнатуре не определены [SWS_Csm_01034].

Обработка ошибок и возвращаемые значения

Возвращаемое значение типа Std_ReturnType информирует вызывающую сторону о результате выполнения [SWS_Csm_01034]. В то время как E_OK сигнализирует об успешном выполнении, E_NOT_OK обозначает общий сбой запроса [SWS_Csm_01034]. Специфические причины ошибок отображаются посредством отдельных возвращаемых криптографических значений [SWS_Csm_01034]:

  • CRYPTO_E_BUSY: операция завершилась сбоем, так как Crypto-Driver-Object занят.
  • CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный элемент ключа недоступен.
  • CRYPTO_E_KEY_READ_FAIL: чтение ключевого элемента из источника запрещено.
  • CRYPTO_E_KEY_WRITE_FAIL: запись ключевого элемента в цель запрещена.
  • CRYPTO_E_KEY_SIZE_MISMATCH: размеры участвующих ключевых элементов несовместимы друг с другом.
  • CRYPTO_E_KEY_EMPTY: элемент ключа исходного ключа не инициализирован.

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

Что касается поведения при вызове, функция Csm_KeyCopy спроектирована как реентерабельная, однако с обязательным ограничением, заключающимся в том, что это не относится к одному и тому же keyId [SWS_Csm_01034].

Данное указание по использованию было сгенерировано ИИ на основе спецификации.

функция Csm_KeyElementCopyPartial [SWS_Csm_91025] 📄 PDF

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

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

Синхронная функция Csm_KeyElementCopyPartial копирует определённый поддиапазон ключевого элемента в другой ключевой элемент в пределах того же криптографического драйвера [SWS_Csm_91025]. Через параметры keyElementSourceOffset и keyElementCopyLength определяется, начиная с какого байта и какой длины копируется исходный элемент (идентифицируемый через keyId и keyElementId). Начальная позиция в целевом элементе (targetKeyId, targetKeyElementId) указывается через keyElementTargetOffset [SWS_Csm_91025].

Возвращаемое значение предоставляет статус выполнения, а также специфические причины ошибок [SWS_Csm_91025]:

  • E_OK: операция копирования выполнена успешно.
  • CRYPTO_E_BUSY: Crypto-Driver-Object занят.
  • CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный элемент ключа недоступен.
  • CRYPTO_E_KEY_READ_FAIL: чтение исходного ключевого элемента не разрешено.
  • CRYPTO_E_KEY_WRITE_FAIL: запись в целевой ключевой элемент не разрешена.
  • CRYPTO_E_KEY_SIZE_MISMATCH: размеры задействованных ключевых элементов несовместимы.
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.
  • E_NOT_OK: запрос завершился сбоем по общим причинам.

Функция реализована как реентерабельная, однако её нельзя вызывать одновременно для одного и того же keyId [SWS_Csm_91025]. Кроме того, интерфейс требует, чтобы источник и назначение управлялись в одном и том же криптографическом драйвере [SWS_Csm_91025]. Объявление доступно через заголовок Csm.h [SWS_Csm_91025].

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

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

функция Csm_RandomSeed [SWS_Csm_01051] 📄 PDF

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

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

Синхронная функция Csm_RandomSeed служит для заполнения ключевого элемента CRYPTO_KE_RANDOM_SEED ключа переданным случайным значением (seed) [SWS_Csm_01051]. При вызове через keyId передается идентификатор целевого ключа, через seedPtr — указатель на область памяти с данными затравки (seed), а через seedLength — длина затравки в байтах [SWS_Csm_01051].

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

Если CSM при выполнении не обнаруживает ошибок, функция Csm_RandomSeed перенаправляет вызов службы напрямую в CryIf_RandomSeed Crypto Interface [SWS_Csm_01052].

Обработка ошибок и возвращаемые значения

Функция возвращает значение состояния типа Std_ReturnType [SWS_Csm_01051]:

  • E_OK: запрос выполнен успешно [SWS_Csm_01051].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_01051].
  • CRYPTO_E_BUSY: выполнение не удалось, так как соответствующий Crypto Driver Object в данный момент занят [SWS_Csm_01051].
  • CRYPTO_E_KEY_NOT_VALID: запрос отклонен, поскольку состояние ключа недействительно [SWS_Csm_01051].

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

Что касается поведения при параллельном выполнении, то Csm_RandomSeed реализована как реентерабельная, однако не должна вызываться одновременно для одного и того же keyId [SWS_Csm_01051].

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

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

функция Csm_KeyGenerate [SWS_Csm_00955] 📄 PDF

Std_ReturnType Csm_KeyGenerate (uint32 keyId);

Generates new key material and store it in the key identified by key Id.

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

Синхронная функция Csm_KeyGenerate служит для генерации нового криптографического ключевого материала и сохраняет его непосредственно в ключе, определенном через параметр keyId [SWS_Csm_00955]. Интерфейс предоставляется через заголовочный файл Csm.h и имеет идентификатор службы 0x6a [SWS_Csm_00955].

При вызове приложение передает идентификатор keyId (тип uint32) ключа, для которого должен быть сгенерирован материал; входно-выходные или чисто выходные параметры отсутствуют [SWS_Csm_00955]. Статус операции сообщается синхронно через возвращаемое значение типа Std_ReturnType [SWS_Csm_00955]:

  • E_OK: Генерация и сохранение ключевого материала выполнены успешно [SWS_Csm_00955].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_00955].
  • CRYPTO_E_BUSY: Выполнение не удалось, так как соответствующий объект криптодрайвера в данный момент занят [SWS_Csm_00955].
  • CRYPTO_E_KEY_NOT_VALID: Запрос отклонен, так как целевой ключ находится в состоянии «invalid» [SWS_Csm_00955].
  • CRYPTO_E_KEY_EMPTY: Генерация завершилась сбоем из-за неинициализированного исходного ключевого элемента [SWS_Csm_00955].

С точки зрения параллелизма функция Csm_KeyGenerate спроектирована как реентерабельная, однако её нельзя вызывать параллельно для одного и того же keyId [SWS_Csm_00955].

Этот текст был создан ИИ на основе спецификации.

функция Csm_KeyDerive [SWS_Csm_00956] 📄 PDF

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

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

Синхронная функция Csm_KeyDerive служит для формирования нового криптографического ключа из заданного исходного ключа [SWS_Csm_00956]. Функция объявлена в заголовочном файле Csm.h и имеет идентификатор сервиса (Service-ID) 0x6b [SWS_Csm_00956].

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

Синхронный вызов обрабатывает два входных параметра [SWS_Csm_00956]:

  • keyId: идентификатор исходного ключа, содержащего ключевые элементы для пароля и соли [SWS_Csm_00956].
  • targetKeyId: идентификатор целевого ключа; полученный ключевой материал сохраняется в ключевом элементе с ID 1 [SWS_Csm_00956].

Возвращаемые значения и обработка ошибок

В качестве возвращаемого значения функция возвращает статус Std_ReturnType [SWS_Csm_00956]. Помимо E_OK при успешном выполнении и E_NOT_OK при общих ошибках определены специфические криптографические ошибки [SWS_Csm_00956]:

  • CRYPTO_E_BUSY: объект криптографического драйвера (Crypto Driver Object) занят [SWS_Csm_00956].
  • CRYPTO_E_KEY_READ_FAIL: чтение ключевого элемента запрещено [SWS_Csm_00956].
  • CRYPTO_E_KEY_WRITE_FAIL: запись в целевой ключевой элемент запрещена [SWS_Csm_00956].
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недействительно [SWS_Csm_00956].
  • CRYPTO_E_KEY_SIZE_MISMATCH: размеры ключевых элементов несовместимы [SWS_Csm_00956].
  • CRYPTO_E_KEY_EMPTY: ключевой элемент источника не инициализирован [SWS_Csm_00956].

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

Функция является реентерабельной, но явным образом не для одного и того же keyId [SWS_Csm_00956]. Если в CSM ошибок не обнаружено, сервис напрямую передаёт выполнение в CryIf_KeyDerive [SWS_Csm_01018].

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

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

функция Csm_KeyExchangeCalcPubVal [SWS_Csm_00966] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

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

Синхронный интерфейс Csm_KeyExchangeCalcPubVal (Service-ID 0x6c, доступный через Csm.h) вычисляет открытое значение текущего пользователя для протокола обмена ключами и сохраняет открытый ключ по адресу памяти, на который ссылается указатель publicValuePtr [SWS_Csm_00966].

Параметры и управление буфером

Функция обрабатывает три передаваемых параметра [SWS_Csm_00966]:

  • keyId (вход): содержит идентификатор ключа, который должен использоваться для протокола обмена ключами [SWS_Csm_00966].
  • publicValuePtr (выход): указатель на область памяти, в которой сохраняется результирующее значение открытого ключа [SWS_Csm_00966].
  • publicValueLengthPtr (вход/выход): указатель на информацию о длине. При вызове этот параметр должен содержать предоставленный размер буфера publicValuePtr; после завершения выполнения туда сохраняется фактическая длина вычисленного значения [SWS_Csm_00966].

Обработка ошибок и возвращаемые значения

Статус выполнения возвращается через Std_ReturnType [SWS_Csm_00966]:

  • E_OK: запрос успешно выполнен [SWS_Csm_00966].
  • E_NOT_OK: запрос завершился сбоем [SWS_Csm_00966].
  • CRYPTO_E_BUSY: запрос завершился сбоем, так как Crypto-Driver-Object занят [SWS_Csm_00966].
  • CRYPTO_E_KEY_NOT_VALID: запрос завершается сбоем, так как статус ключа недействителен [SWS_Csm_00966].
  • CRYPTO_E_KEY_EMPTY: запрос завершается сбоем из-за неинициализированного исходного ключевого элемента [SWS_Csm_00966].

Параллелизм

Функция спроектирована как реентерабельная, однако её нельзя вызывать одновременно для одного и того же keyId [SWS_Csm_00966].

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

функция Csm_KeyExchangeCalcSecret [SWS_Csm_00967] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

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

Синхронная функция Csm_KeyExchangeCalcSecret служит в Crypto Service Manager для вычисления общего секрета (Shared Secret Key) в рамках протокола обмена ключами [SWS_Csm_00967]. При этом ключевой материал ключа, на который ссылается keyId, объединяется с открытым значением партнёра по коммуникации. Вычисленный секретный ключ затем напрямую сохраняется в качестве ключевого элемента внутри того же ключа [SWS_Csm_00967].

Интерфейс предоставляется через заголовочный файл Csm.h и ожидает три входных параметра [SWS_Csm_00967]:

  • keyId: идентификатор ключа, ключевой материал которого используется для протокола.
  • partnerPublicValuePtr: указатель на область памяти, содержащую открытое значение партнера.
  • partnerPublicValueLength: длина переданного значения партнёра в байтах.

Вызов возвращает в качестве возвращаемого значения типа Std_ReturnType либо E_OK при успешном выполнении, либо E_NOT_OK при общей ошибке [SWS_Csm_00967]. О специфических случаях ошибок сигнализируют детальные коды состояния: CRYPTO_E_BUSY указывает на то, что базовый объект Crypto Driver занят. Если состояние ключа недействительно, возвращается CRYPTO_E_KEY_NOT_VALID, тогда как CRYPTO_E_KEY_EMPTY указывает на неинициализированный исходный ключевой элемент [SWS_Csm_00967].

С точки зрения параллелизма функция спроектирована как реентерабельная, однако её нельзя вызывать одновременно для одного и того же keyId [SWS_Csm_00967].

Автоматически сгенерированное указание по использованию на основе спецификации AUTOSAR CP R20-11.

функция Csm_JobKeySetValid [SWS_Csm_91027] 📄 PDF

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

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

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

Функция Csm_JobKeySetValid сохраняет ключ при необходимости и переводит состояние ключа, идентифицированного через keyId, в действительное [SWS_Csm_91027]. Интерфейс объявлен через заголовочный файл Csm.h и имеет Service ID 0x7a с сигнатурой Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId) [SWS_Csm_91027].

При вызове передаются два входных параметра типа uint32 [SWS_Csm_91027]:

  • jobId: Содержит идентификатор задания, использующего службу CSM [SWS_Csm_91027].
  • keyId: Содержит идентификатор ключа, для которого должен быть валидирован новый ключевой материал [SWS_Csm_91027].

Дополнительные входные/выходные параметры или чисто выходные параметры для этой функции не определены [SWS_Csm_91027].

Синхронное и асинхронное поведение, а также конкурентность

Семантика выполнения зависит от соответствующей конфигурации задания: вызов осуществляется либо синхронно, либо асинхронно [SWS_Csm_91027]. Функция специфицирована как reentrant [SWS_Csm_91027].

Возвращаемые значения и обработка ошибок

Возвращаемое значение типа Std_ReturnType отражает результат запроса функции [SWS_Csm_91027]:

  • E_OK: запрос успешно выполнен [SWS_Csm_91027].
  • E_NOT_OK: запрос завершился сбоем [SWS_Csm_91027].
  • CRYPTO_E_BUSY: Запрос завершился неудачно, так как соответствующий Crypto Driver Object занят [SWS_Csm_91027].

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

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

функция Csm_JobKeySetInvalid [SWS_Csm_91002] 📄 PDF

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

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

Функция Csm_JobKeySetInvalid устанавливает статус криптографического ключа в «недействителен» [SWS_Csm_91002]. После вызова этого интерфейса соответствующий ключ больше не может использоваться для криптографических операций до тех пор, пока он снова не будет переведён в действительное состояние [SWS_Csm_91002]. Сервис имеет идентификатор сервиса (Service-ID) 0x84, доступен через заголовочный файл Csm.h и работает синхронно или асинхронно в зависимости от конфигурации задания [SWS_Csm_91002].

Для вызова передаются следующие параметры [SWS_Csm_91002]:

  • jobId: идентификатор задания CSM, использующего данный сервис [SWS_Csm_91002].
  • keyId: идентификатор ключа, который должен быть объявлен недействительным [SWS_Csm_91002].

Обработка ошибок и возвращаемые значения

Возвращаемое значение типа Std_ReturnType сообщает о результате запроса [SWS_Csm_91002]:

  • E_OK: запрос выполнен успешно [SWS_Csm_91002].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_91002].
  • CRYPTO_E_BUSY: запрос завершился сбоем, так как ответственный Crypto Driver Object занят [SWS_Csm_91002].

Параллелизм

Интерфейс специфицирован как реентерабельный [SWS_Csm_91002]. Дополнительных входных или выходных параметров не существует [SWS_Csm_91002].

Этот текст был создан ИИ на основе спецификации.

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

функция Csm_JobRandomSeed [SWS_Csm_91028] 📄 PDF

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Provides a new seed for the specified key that is used for an associated random number generator.

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

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

Функция Csm_JobRandomSeed служит для предоставления новой затравки (seed) для заданного ключа, которая используется для назначенного генератора случайных чисел [SWS_Csm_91028]. Объявление доступно в заголовочном файле Csm.h [SWS_Csm_91028]. Функция имеет Service-ID 0x7b и обрабатывает четыре входных параметра: через jobId идентифицируется использующая задача CSM, тогда как keyId определяет целевой ключ, для которого должна генерироваться затравка [SWS_Csm_91028]. Через указатель seedPtr передаются данные инициализации, а с помощью seedLength задается их длина в байтах [SWS_Csm_91028]. Поведение при выполнении определяется конфигурацией соответствующей задачи и происходит либо синхронно, либо асинхронно [SWS_Csm_91028].

Обработка ошибок и возвращаемые значения

Функция возвращает статус типа Std_ReturnType, отображающий результат запроса [SWS_Csm_91028]:

  • E_OK: запрос выполнен успешно [SWS_Csm_91028].
  • E_NOT_OK: произошел общий сбой запроса [SWS_Csm_91028].
  • CRYPTO_E_BUSY: запрос завершился сбоем, так как служба в данный момент еще занята [SWS_Csm_91028].
  • CRYPTO_E_KEY_NOT_VALID: запрос отклонен, так как указанный ключ находится в состоянии invalid [SWS_Csm_91028].

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

Интерфейс специфицирован как реентерабельный [SWS_Csm_91028]. Если приложение вызывает службу в то время, когда другая операция еще активна, возвращаемое значение CRYPTO_E_BUSY сигнализирует об этом состоянии [SWS_Csm_91028]. Кроме того, перед выполнением необходимо убедиться в действительности ключа, адресуемого через keyId, чтобы избежать ошибки CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91028].

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

функция Csm_JobKeyGenerate [SWS_Csm_91029] 📄 PDF

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);

Generates new key material and stores it in the key identified by key Id.

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

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

Функция Csm_JobKeyGenerate генерирует новый ключевой материал и сохраняет его в ключе, идентифицируемом через keyId [SWS_Csm_91029]. Через параметр jobId передаётся идентификатор задания, использующего сервис CSM [SWS_Csm_91029]. Выполнение происходит синхронно или асинхронно в зависимости от конфигурации соответствующего задания [SWS_Csm_91029]. Сервис объявлен через заголовочный файл Csm.h с идентификатором сервиса 0x7c [SWS_Csm_91029].

Возвращаемые значения и обработка ошибок

Возвращаемое значение типа Std_ReturnType даёт информацию о результате запроса [SWS_Csm_91029]:

  • E_OK: запрос выполнен успешно [SWS_Csm_91029].
  • E_NOT_OK: запрос завершился ошибкой [SWS_Csm_91029].
  • CRYPTO_E_BUSY: сервис в настоящее время всё ещё занят [SWS_Csm_91029].
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недействительно (invalid) [SWS_Csm_91029].
  • CRYPTO_E_KEY_EMPTY: запрос завершился сбоем из-за неинициализированного исходного ключевого элемента [SWS_Csm_91029].

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

Функция специфицирована как реентерабельная [SWS_Csm_91029]. Интерпретация: поскольку спецификация не задаёт конкретный контекст выполнения, вызов, по всей видимости, обычно должен происходить в контексте задачи (Task). Вопрос Q-236d699ed655e285 (открытый)

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

функция Csm_JobKeyDerive [SWS_Csm_91030] 📄 PDF

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

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

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

Функция Csm_JobKeyDerive формирует новый криптографический ключ, используя ключевые элементы для пароля и соли из ключа, идентифицированного через keyId [SWS_Csm_91030]. Результат сохраняется в ключевом элементе с ID 1 целевого ключа, заданного через targetKeyId [SWS_Csm_91030]. Вызов осуществляется через заголовочный файл Csm.h с идентификатором сервиса 0x7d с передачей соответствующего задания через jobId [SWS_Csm_91030].

Обработка выполняется синхронно или асинхронно в зависимости от конфигурации переданного задания [SWS_Csm_91030]. Функция специфицирована как реентерабельная [SWS_Csm_91030].

Обработка ошибок и возвращаемые значения

В качестве возвращаемого значения функция возвращает тип Std_ReturnType. Успешное выполнение запроса подтверждается через E_OK [SWS_Csm_91030]. В случае ошибки или при несоответствующих предварительных условиях возвращаются специфические возвращаемые значения [SWS_Csm_91030]:

  • E_NOT_OK: запрос завершился сбоем [SWS_Csm_91030].
  • CRYPTO_E_BUSY: запрос завершается сбоем, так как сервис в данный момент всё ещё занят [SWS_Csm_91030].
  • CRYPTO_E_KEY_READ_FAIL: считывание ключевого элемента недопустимо [SWS_Csm_91030].
  • CRYPTO_E_KEY_WRITE_FAIL: запись в целевой ключевой элемент запрещена [SWS_Csm_91030].
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недействительно [SWS_Csm_91030].
  • CRYPTO_E_KEY_SIZE_MISMATCH: размеры задействованных ключевых элементов несовместимы друг с другом [SWS_Csm_91030].
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован [SWS_Csm_91030].

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

функция Csm_JobKeyExchangeCalcPubVal [SWS_Csm_91031] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the

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

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

Функция Csm_JobKeyExchangeCalcPubVal вычисляет открытое значение текущего участника для протокола обмена ключами и сохраняет его в указанной целевой памяти [SWS_Csm_91031]. В зависимости от конфигурации назначенной задачи обработка выполняется либо синхронно, либо асинхронно [SWS_Csm_91031].

Передача параметров происходит через следующие данные интерфейса [SWS_Csm_91031]:

  • jobId: идентификатор задачи CSM, которая запрашивает криптографическую службу.
  • keyId: идентификатор ключа, используемого для протокола обмена ключами.
  • publicValuePtr: указатель на область буфера, в которой сохраняется вычисленный открытый ключ.
  • publicValueLengthPtr: указатель на значение длины. При вызове функции этот параметр должен содержать емкость буфера publicValuePtr; после завершения выполнения в него записывается фактическая длина вычисленного значения.

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

Возвращаемое значение типа Std_ReturnType предоставляет информацию о статусе выполнения запроса [SWS_Csm_91031]:

  • E_OK: запрос успешно выполнен.
  • E_NOT_OK: запрос завершился сбоем.
  • CRYPTO_E_BUSY: запрошенная служба в данный момент еще занята.
  • CRYPTO_E_KEY_NOT_VALID: состояние ключа недействительно.
  • CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.

Параллелизм и интеграция

Интерфейс объявлен как реентерабельный, имеет Service-ID 0x7e и предоставляется через заголовочный файл Csm.h [SWS_Csm_91031].

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

функция Csm_JobKeyExchangeCalcSecret [SWS_Csm_91032] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

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

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

Функция Csm_JobKeyExchangeCalcSecret вычисляет общий секретный ключ (Shared Secret Key) для обмена ключами с использованием материала ключа из ключа, идентифицированного через keyId, а также открытого ключа партнера по коммуникации [SWS_Csm_91032]. Адрес памяти ключа партнера передается через partnerPublicValuePtr, а его длина в байтах определяется через partnerPublicValueLength [SWS_Csm_91032]. Вычисленный общий секрет сохраняется непосредственно в качестве ключевого элемента внутри того же самого ключа [SWS_Csm_91032].

Через входной параметр jobId идентифицируется использующая задача CSM. Поведение при выполнении является синхронным или асинхронным в зависимости от конфигурации соответствующей задачи [SWS_Csm_91032].

Обработка ошибок и возвращаемые значения

Возвращаемое значение типа Std_ReturnType сообщает о статусе запроса службы [SWS_Csm_91032]:

  • E_OK: запрос сервиса выполнен успешно [SWS_Csm_91032].
  • E_NOT_OK: запрос сервиса завершился сбоем [SWS_Csm_91032].
  • CRYPTO_E_BUSY: запрос завершается сбоем, так как базовая служба еще занята [SWS_Csm_91032].
  • CRYPTO_E_KEY_NOT_VALID: запрос завершается сбоем, поскольку ключ, на который ведет ссылка, находится в состоянии «invalid» [SWS_Csm_91032].
  • CRYPTO_E_KEY_EMPTY: вычисление не удается, так как требуемый исходный ключевой элемент не инициализирован [SWS_Csm_91032].

Параллелизм и интеграция

Функция спроектирована как реентерабельная, имеет Service-ID 0x7f и объявляется через заголовочный файл Csm.h [SWS_Csm_91032].

Этот текст создан ИИ. Определяющей является исключительно спецификация.

функция Csm_SaveContextJob [SWS_Csm_91063] 📄 PDF

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

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

Функция Csm_SaveContextJob предписывает драйверу Crypto Driver сохранить внутренний контекст соответствующей криптографической операции в буфер на стороне приложения [SWS_Csm_91063]. Служба объявлена в заголовочном файле Csm.h и имеет идентификатор службы (Service-ID) 0x86 [SWS_Csm_91063].

Интерфейс ожидает следующие параметры [SWS_Csm_91063]:

  • jobId (вход): обозначает уникальный идентификатор задания, использующего службу CSM.
  • contextBufferLengthPtr (вход/выход): указатель на значение длины. При вызове он задает максимально доступную емкость в целевом буфере; после выполнения он содержит фактически записанную длину данных или, в случае ошибки, значение 0.
  • contextBufferPtr (выход): указатель на область памяти приложения, в которую должны быть записаны данные контекста.

Выполнение происходит синхронно либо асинхронно в зависимости от конфигурации задания [SWS_Csm_91063]. Кроме того, функция специфицирована как реентерабельная [SWS_Csm_91063].

Для отчета о статусе операции определены следующие возвращаемые значения [SWS_Csm_91063]:

  • E_OK: данные контекста успешно сохранены в буфере, а указание длины обновлено.
  • E_NOT_OK: данные контекста не удалось предоставить, так как значения недействительны; возвращаемая длина устанавливается в 0.
  • CRYPTO_E_BUSY: запрос завершился неудачно, поскольку базовая криптографическая служба все еще занята.

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

функция Csm_RestoreContextJob [SWS_Csm_91064] 📄 PDF

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

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

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

Функция Csm_RestoreContextJob служит для восстановления внутреннего состояния криптографического задания из внешнего буфера, что позволяет продолжить последующие операции в точности с места предыдущего сохранения [SWS_Csm_91064]. Через параметр jobId адресуется целевое задание, тогда как contextBufferPtr указывает на полезные данные, а contextBufferLength — на их размер в байтах [SWS_Csm_91064]. Выполнение происходит синхронно или асинхронно в зависимости от конфигурации соответствующего задания [SWS_Csm_91064].

Возвращаемые значения и обработка ошибок

Функция сообщает результат операции через свое возвращаемое значение типа Std_ReturnType [SWS_Csm_91064]:

  • E_OK: данные контекста успешно прочитаны, и внутреннее состояние драйвера восстановлено [SWS_Csm_91064].
  • E_NOT_OK: сбой при восстановлении контекста [SWS_Csm_91064].
  • CRYPTO_E_BUSY: лежащая в основе криптографическая служба в настоящее время занята, вследствие чего запрос был отклонен [SWS_Csm_91064].

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

Интерфейс специфицирован как реверсивный (reentrant) и доступен через Csm.h (Service-ID 0x87) [SWS_Csm_91064]. Интерпретация: при асинхронной конфигурации задания вызывающая сторона, вероятно, должна позаботиться о том, чтобы буфер по адресу contextBufferPtr оставался неизменным и действительным вплоть до фактического завершения восстановления. Вопрос Q-8ab0cb179f807bd4 (открытый)

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

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

функция Csm_CancelJob [SWS_Csm_00968] 📄 PDF

Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);

Cancels the job processing from asynchronous or streaming jobs .

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

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

Функция Csm_CancelJob (Service-ID 0x6f) служит для синхронной отмены обработки асинхронных заданий или потоковых заданий в модуле Csm [SWS_Csm_00968]. Интерфейс предоставляется через заголовочный файл Csm.h [SWS_Csm_00968]. В качестве параметров функция принимает идентификатор отменяемого задания через job (типа uint32), а также параметр mode (типа Crypto_OperationModeType), который не используется и служит исключительно для совместимости интерфейса [SWS_Csm_00968].

Возвращаемые значения и поведение при отмене

Результат вызова отмены синхронно сигнализируется через возвращаемое значение типа Std_ReturnType [SWS_Csm_00968]:

  • E_OK: отмена прошла непосредственно успешно; задание было удалено из всех очередей и потенциально напрямую из аппаратного обеспечения криптодрайвера [SWS_Csm_00968].
  • E_NOT_OK: запрос на отмену завершился неудачно [SWS_Csm_00968].
  • CRYPTO_E_JOB_CANCELED: немедленная отмена оказалась невозможной; отмена будет выполнена на следующем подходящем шаге обработки и затем сообщена через отрицательный callback-вызов завершения задания [SWS_Csm_00968].

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

Спецификация определяет Csm_CancelJob как синхронную и нереентерабельную (Non Reentrant) [SWS_Csm_00968]. Поэтому вызывающие компоненты должны убедиться, что конкурентные вызовы функции отсутствуют.

Это указание по использованию было создано автоматически и основано исключительно на данных спецификации из AUTOSAR Classic Release R20-11.

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

функция Csm_CallbackNotification [SWS_Csm_00970] 📄 PDF

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

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

Синхронный интерфейс Csm_CallbackNotification объявляется через заголовочный файл Csm.h и служит нижележащему уровню (CRYIF) в качестве функции обратной связи для уведомления Crypto Service Manager (CSM) о завершении криптографического задания [SWS_Csm_00970]. Функция не имеет возвращаемого значения и принимает два входных параметра: указатель job на завершенное задание типа Crypto_JobType*, а также result типа Crypto_ResultType, который передает результат выполнения базовой криптографической операции [SWS_Csm_00970].

В отношении параллельности выполнение Csm_CallbackNotification специфицировано как ревходабельное [SWS_Csm_00970]. Специфические коды возврата или отдельные сообщения об ошибках DET либо DEM в элементе не определены; состояния ошибок и результаты выполнения криптографической обработки передаются вместо этого непосредственно через переданный аргумент result [SWS_Csm_00970].

В рамках взаимодействия функция проверяет режим обработки задания: если в поле job->jobPrimitiveInputOutput.mode установлен бит CRYPTO_OPERATIONMODE_FINISH, спецификация обязывает Csm_CallbackNotification вызвать сконфигурированную функцию обратного вызова [SWS_Csm_01044]. Интерпретация: в случае данного вызова речь, вероятно, идет об уведомлении вышестоящего уровня приложения, так как флаг FINISH сигнализирует об окончательном завершении последовательности криптографических операций. Вопрос Q-32da2433b15ba3a9 (открытый)

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

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

функция Csm_MainFunction [SWS_Csm_00479] 📄 PDF

void Csm_MainFunction (void);

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

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

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

Функция Csm_MainFunction вызывается циклически для обработки запрошенных криптографических заданий [SWS_Csm_00479]. Она не имеет передаваемых параметров (void) и не возвращает значения [SWS_Csm_00479]. Объявление доступно через заголовочный файл SchM_Csm.h [SWS_Csm_00479].

Задачи и взаимодействие

В рамках своего периодического выполнения функция проверяет внутренние очереди на наличие ожидающих заданий и передает их нижележащему уровню CRYIF [SWS_Csm_00479].

Инстанцирование и контекст вызова

Для каждого сконфигурированного экземпляра реализуется выделенная функция вида Csm_MainFunction_<shortName>, где <shortName> соответствует короткому имени конфигурационного контейнера в конфигурации ECU [SWS_Csm_00479]. Циклический вызов, по плану, должен выполняться планировщиком BSW (SchM) в периодической задаче, поскольку интерфейс предоставляется через SchM_Csm.h. Вопрос Q-ffb62942b1f517b3 (открытый)

Обработка ошибок и граничные условия

Специфические коды ошибок, сообщения DET или DEM, а также явные требования к ревходабельности в данном фрагменте спецификации не описаны [SWS_Csm_00479].

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

функция <Csm_ApplicationCallbackNotification> [SWS_Csm_00971] 📄 PDF

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

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

Конфигурируемая функция обратного вызова <Csm_ Application Callback Notification> служит для того, чтобы Crypto Service Manager (CSM) синхронно информировал приложение об окончании задания на обработку [SWS_Csm_00971]. Имя функции не задано жёстко, а определяется в зависимости от проекта с помощью параметра конфигурации {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func [SWS_Csm_00971]. Интерфейс имеет идентификатор сервиса (Service-ID) 0x82 и предоставляется через заголовочный файл Csm.h [SWS_Csm_00971].

Сигнатура не имеет возвращаемого значения (void) и передаёт для анализа приложению два входных параметра [SWS_Csm_00971]:

  • jobId (uint32): обозначает уникальный ID криптографического задания, завершение которого вызвало обратный вызов [SWS_Csm_00971].
  • result (Crypto_ResultType): передаёт результат или статус выполненной криптографической операции [SWS_Csm_00971].

Что касается параллелизма, функция уведомления специфицирована как реентерабельная [SWS_Csm_00971]. Специфические коды ошибок DET или DEM для самого обратного вызова не определены; возникшие ошибки предшествующей операции необходимо анализировать непосредственно через result [SWS_Csm_00971]. Поскольку интерфейс объявлен как реентерабельный, реализация со стороны приложения, по всей видимости, должна быть спроектирована так, чтобы потокобезопасно обрабатывать одновременные уведомления для различных заданий. Вопрос Q-79504ea3461f8d61 (открытый)

Этот текст был сгенерирован автоматически на основе спецификации AUTOSAR.

тип Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF

Type Crypto_AlgorithmModeType.

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

Перечислимый тип Crypto_AlgorithmModeType согласно [SWS_Csm_01048] определяет режим работы криптографического алгоритма. Он доступен через заголовочный файл Crypto_GeneralTypes.h и служит для стандартизированной конфигурации, а также выбора криптографических методов во время выполнения в Crypto Service Manager.

Использование и диапазон значений:

  • Классические режимы блочных шифров: поддерживаются, среди прочего, CRYPTO_ALGOMODE_ECB, CRYPTO_ALGOMODE_CBC, CRYPTO_ALGOMODE_CFB, CRYPTO_ALGOMODE_OFB, CRYPTO_ALGOMODE_CTR, CRYPTO_ALGOMODE_GCM, а также CRYPTO_ALGOMODE_XTS [SWS_Csm_01048].
  • Асимметричные методы и паддинг: содержатся режимы для шифрования и подписей, такие как CRYPTO_ALGOMODE_RSAES_OAEP, CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5, CRYPTO_ALGOMODE_RSASSA_PSS и CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5 [SWS_Csm_01048].
  • Прочие режимы работы: диапазон значений включает количество раундов (CRYPTO_ALGOMODE_8ROUNDS, CRYPTO_ALGOMODE_12ROUNDS, CRYPTO_ALGOMODE_20ROUNDS), методы MAC (CRYPTO_ALGOMODE_HMAC, CRYPTO_ALGOMODE_CMAC, CRYPTO_ALGOMODE_GMAC), генераторы случайных битов (CRYPTO_ALGOMODE_CTRDRBG), варианты SipHash, а также определения кривых, такие как CRYPTO_ALGOMODE_PXXXR1 [SWS_Csm_01048].
  • Специальные состояния: с помощью CRYPTO_ALGOMODE_NOT_SET (0x00) сигнализируется неустановленный ключ алгоритма, в то время как CRYPTO_ALGOMODE_CUSTOM (0xff) разрешает специфические для поставщика режимы работы [SWS_Csm_01048].

Интерпретация: поскольку Crypto_AlgorithmModeType является чистым перечислением, тип не имеет собственной обработки ошибок через DET или DEM и не подлежит требованиям реентерабельности. Вопрос Q-3d2e905dda6531ac (открытый) Проверки ошибок и ограничения относительно контекста вызова возникают только из функций CSM, которым значения этого типа передаются в качестве параметров.

Это указание по использованию сгенерировано автоматически на основе спецификации SWS_Csm_01048.

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

тип Crypto_InputOutputRedirectionConfigType [SWS_Csm_91024] 📄 PDF

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

тип Crypto_JobType [SWS_Csm_01013] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

Применение и структура Crypto_JobType

Структура Crypto_JobType объединяет все релевантные данные управления, состояния и буферов для выполнения криптографического задания в Crypto Service Manager и доступна через Crypto_GeneralTypes.h [SWS_Csm_01013].

К центральным элементам структуры относятся [SWS_Csm_01013]:

  • jobId: Уникальный идентификатор задания.
  • jobState: Представляет текущий статус выполнения задания.
  • jobPrimitiveInputOutput: Указывает на специфические входные и выходные данные примитива.
  • jobPrimitiveInfo: Указатель на постоянную дополнительную информацию о выбранном криптографическом примитиве.
  • jobPriority: Определяет приоритет выполнения, причем более высокое значение обозначает более высокую срочность.
  • jobRedirectionInfoRef: Указатель на опциональные данные по перенаправлению ключей в качестве входных и выходных значений.

Взаимодействие и интерфейсные связи

Поля структуры cryptoKeyId и targetCryptoKeyId ссылаются на используемые ключи в криптографическом драйвере; согласно спецификации эти идентификаторы описываются через Crypto Interface [SWS_Csm_01013]. Интерпретация: через jobPriority, вероятно, регулируется порядок планирования и обработки параллельных заданий в очередях. Вопрос Q-439432c5631948fb (открытый)

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

тип Crypto_JobStateType [SWS_Csm_01028] 📄 PDF

Enumeration of the current job state.

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

Тип перечисления Crypto_JobStateType определяет текущий статус обработки криптографического задания в CSM [SWS_Csm_01028]. Он предоставляется через заголовочный файл Crypto_GeneralTypes.h и различает два основных состояния жизненного цикла задания [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE (0x00): обозначает состояние покоя задания. Это состояние принимается изначально после вызова Csm_Init() или как только была завершена операция завершения (Finish, состояние «Finish») [SWS_Csm_01028].
  • CRYPTO_JOBSTATE_ACTIVE (0x01): указывает на то, что задание активно обрабатывается и входные данные уже обработаны либо имеются промежуточные результаты. Это состояние достигается, как только операция Start или Update успешно завершена [SWS_Csm_01028].

В отношении использования и взаимодействия данный тип отражает ход потоковых или многоэтапных криптографических операций [SWS_Csm_01028]. Переход в CRYPTO_JOBSTATE_ACTIVE сигнализирует о том, что криптографический контекст инициализирован или непрерывно удерживает промежуточные результаты, тогда как переход в CRYPTO_JOBSTATE_IDLE отмечает завершение и указывает на то, что задание готово к новым последовательностям действий [SWS_Csm_01028].

Этот текст создан ИИ. Он основан исключительно на данных спецификации из модуля CSM (R20-11).

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

тип Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

Структура данных Crypto_JobPrimitiveInfoType объединяет дополнительную информацию о криптографическом задании и его базовых примитивах [SWS_Csm_01012]. Она доступна в стеке Classic AUTOSAR через заголовочный файл Crypto_GeneralTypes.h [SWS_Csm_01012].

Составные части и использование

Согласно спецификации [SWS_Csm_01012], структура состоит из следующих полей:

  • callbackId (uint32): внутренний идентификатор функции обратного вызова, которая вызывается модулем CSM, как только выполнение сконфигурированной службы завершено [SWS_Csm_01012].
  • primitiveInfo (const Crypto_PrimitiveInfoType*): указатель на структуру данных с дальнейшей конфигурацией криптографического примитива [SWS_Csm_01012].
  • cryIfKeyId (uint32): идентификатор ключа для криптографического интерфейса (CryIf) [SWS_Csm_01012].
  • processingType (Crypto_ProcessingType): определяет поведение выполнения и задает, обрабатывается ли задание синхронно или асинхронно [SWS_Csm_01012].

Контекст выполнения и семантика

Поле processingType управляет синхронной или асинхронной семантикой обработки задания [SWS_Csm_01012]. Функция обратного вызова, сохраненная через callbackId, вероятно, актуальна прежде всего в асинхронном режиме для информирования вызывающей стороны об окончании работы службы, тогда как указатель primitiveInfo должен указывать на действительную конфигурацию примитива [SWS_Csm_01012]. Вопрос Q-791dae4fb6a83f99 (открытый)

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

тип Crypto_AlgorithmInfoType [SWS_Csm_01008] 📄 PDF

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

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

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

Структура данных Crypto_AlgorithmInfoType определяет точную конфигурацию криптографического алгоритма и предоставляется через заголовочный файл Crypto_GeneralTypes.h [SWS_Csm_01008]. Она состоит из следующих элементов:

  • family (Crypto_AlgorithmFamilyType): первичное семейство алгоритма.
  • secondaryFamily (Crypto_AlgorithmFamilyType): вторичное семейство алгоритма.
  • keyLength (uint32): используемая длина ключа в битах.
  • mode (Crypto_AlgorithmModeType): предусмотренный режим работы алгоритма.

Не каждый алгоритм требует полного заполнения всех элементов структуры [SWS_Csm_01008]. В зависимости от типа криптографической операции отдельные поля, такие как режим работы или вторичное семейство, могут оставаться неиспользуемыми.

Ограничения и обработка ошибок

Согласно [SWS_Csm_01008] в AUTOSAR допускаются исключительно допустимые комбинации элементов структуры. Недопустимые комбинации — например, несоответствующие друг другу режимы работы или недопустимые длины ключей для конкретного семейства алгоритмов — запрещены. Проверка валидности комбинации параметров, вероятно, должна выполняться инструментами конфигурирования или при вызовах сервисов со стороны CSM. Вопрос Q-da4984170bba173c (открытый)

Этот текст был создан и курирован ИИ.

тип Crypto_PrimitiveInfoType [SWS_Csm_01011] 📄 PDF

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

Структура Crypto_PrimitiveInfoType служит в Crypto Service Manager (CSM) для предоставления базовых метаданных о криптографическом примитиве ([SWS_Csm_01011]). Она объявляется через заголовочный файл Crypto_GeneralTypes.h и объединяет статические характеристики соответствующей операции ([SWS_Csm_01011]).

Структура состоит из двух элементов ([SWS_Csm_01011]):

  • service (тип: const Crypto_ServiceInfoType): определяет используемый криптографический сервис через перечисление, например шифрование (Encrypt) ([SWS_Csm_01011]).
  • algorithm (тип: const Crypto_AlgorithmInfoType): содержит детальную информацию об используемом алгоритме ([SWS_Csm_01011]).

Поскольку оба элемента типизированы как const, по всей видимости, речь идёт о конфигурационных или метаданных, доступных только для чтения, которые задаются на этапе конфигурации и во время выполнения оцениваются драйверами или CSM исключительно в режиме чтения ([SWS_Csm_01011]). Вопрос Q-6d53291f7fb8cfe6 (открытый) Специфические коды ошибок, подпрограммы обработки ошибок или ограничения параллелизма для этого типа структуры данных не определены.

Этот текст был создан ИИ. Проверьте критичные для безопасности детали по спецификации.

тип Csm_ConfigIdType [SWS_Csm_00691] 📄 PDF

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

тип Crypto_OperationModeType [SWS_Csm_01029] 📄 PDF

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

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

Тип перечисления Crypto_OperationModeType определяет согласно [SWS_Csm_01029] выполняемую фазу обработки при криптографических операциях. Тип построен в виде битовой маски, первые три бита которой отображают основные шаги Start (бит 1 / 0x01), Update (бит 2 / 0x02) и Finish (бит 3 / 0x04).

Через значения перечисления управляются различные фазы выполнения и жизненного цикла криптографического задания [SWS_Csm_01029]:

  • CRYPTO_OPERATIONMODE_START (0x01): инициализирует задание; состояние сбрасывается, в результате чего удаляются предыдущие входные данные и промежуточные результаты.
  • CRYPTO_OPERATIONMODE_UPDATE (0x02): обрабатывает входные данные для вычисления промежуточных результатов.
  • CRYPTO_OPERATIONMODE_FINISH (0x04): окончательно завершает вычисления криптографической операции.
  • CRYPTO_OPERATIONMODE_STREAMSTART (0x03): объединяет Start и Update для потоковых сценариев (streaming).
  • CRYPTO_OPERATIONMODE_SINGLECALL (0x07): объединяет Start, Update и Finish для полной обработки в одном вызове.

Кроме того, тип поддерживает управление рабочей областью (workspace) при прерываемых процессах: с помощью CRYPTO_OPERATIONMODE_SAVE_CONTEXT (0x08) криптографический драйвер предоставляет текущий контекст рабочей области приложения, в то время как CRYPTO_OPERATIONMODE_RESTORE_CONTEXT (0x10) восстанавливает ранее сохраненное состояние во внутренней рабочей области драйвера [SWS_Csm_01029]. Тип предоставляется через заголовочный файл Rte_Csm_Type.h.

Это указание по использованию было создано автоматически и основано исключительно на данных из [SWS_Csm_01029].

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

тип Crypto_VerifyResultType [SWS_Csm_01024] 📄 PDF

Enumeration of the result type of verification operations.

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

Тип перечисления Crypto_VerifyResultType определяет функциональный результат операций верификации в модуле CSM [SWS_Csm_01024]. Он предоставляется через заголовочный файл Rte_Csm_Type.h и служит для установления того, завершилось ли криптографическое сравнение успешно [SWS_Csm_01024].

Диапазон значений и семантика

Перечисление согласно [SWS_Csm_01024] включает два дискретных значения для отображения статуса сравнения:

  • CRYPTO_E_VER_OK (значение 0x00 или 0): результат верификации равен «true», следовательно, оба сравниваемых элемента идентичны [SWS_Csm_01024].
  • CRYPTO_E_VER_NOT_OK (значение 0x01 или 1): результат верификации равен «false», сравниваемые элементы не идентичны [SWS_Csm_01024].

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

Использование и ограничения

Поскольку тип данных объявлен через Rte_Csm_Type.h, он, вероятно, используется прежде всего в качестве выходного параметра для сервисов верификации CSM [SWS_Csm_01024]. Вопрос Q-067a1d2b36ffe56b (открытый) Специфическая обработка ошибок, например сообщения DET или DEM, а также требования к реентерабельности или параллелизму для самого типа не определены [SWS_Csm_01024].

Этот текст сгенерирован ИИ и служит в качестве ориентира. Определяющей является официальная спецификация AUTOSAR.

тип Crypto_ResultType [SWS_Csm_91044] 📄 PDF

Return for Std_ Return Type for Cryptostack.

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

Тип перечисления Crypto_ResultType служит специфическим типом возвращаемого значения для функций криптографического стека AUTOSAR и доступен через заголовок Rte_Csm_Type.h [SWS_Csm_91044]. Он расширяет классическую схему возвращаемых значений дифференцированными сообщениями об ошибках и статусе для криптографических операций [SWS_Csm_91044].

Наряду со стандартным статусом успешного выполнения E_OK (0x00) и общей ошибкой E_NOT_OK (0x01) тип определяет следующие специфические состояния ошибок [SWS_Csm_91044]:

  • Состояния выполнения и ресурсов: CRYPTO_E_BUSY (0x02) обозначает всё ещё занятый сервис, CRYPTO_E_JOB_CANCELED (0x0C) — прерывание задания, а CRYPTO_E_ENTROPY_EXHAUSTED (0x04) — исчерпанный источник энтропии генератора случайных чисел [SWS_Csm_91044].
  • Проблемы с ключами и доступом: специфицированы отказы в доступе при чтении (CRYPTO_E_KEY_READ_FAIL, 0x06) или записи (CRYPTO_E_KEY_WRITE_FAIL, 0x07), отсутствующие ключи (CRYPTO_E_KEY_NOT_AVAILABLE, 0x08), недействительные ключи (CRYPTO_E_KEY_NOT_VALID, 0x09), некорректные размеры ключей (CRYPTO_E_KEY_SIZE_MISMATCH, 0x0A), а также неинициализированные исходные ключевые элементы (CRYPTO_E_KEY_EMPTY, 0x0D) [SWS_Csm_91044].

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

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

тип Csm_HashDataType [SWS_Csm_01920] 📄 PDF

Array long enough to store the data which shall be hashed.

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

Использование и структура Csm_HashDataType

Тип данных Csm_HashDataType согласно [SWS_Csm_01920] определен как массив с элементами базового типа uint8. Он служит буфером данных для хранения входных данных, подлежащих вычислению хеш-значения в Crypto Service Manager. Длина массива рассчитана таким образом, чтобы ее было достаточно для полного размещения хешируемых данных [SWS_Csm_01920].

Конфигурация и формирование вариантов

Фактическая размерность массива управляется конфигурационным параметром CsmHashDataMaxLength, определенным по пути Csm/CsmPrimitives/CsmHash/CsmHashConfig [SWS_Csm_01920]. За счет этого обеспечивается, что область памяти рассчитана в соответствии с максимально ожидаемым объемом данных соответствующей конфигурации хеширования.

Кроме того, существует образование криптографических вариантов по шаблону Csm_HashDataType_{Crypto}, при этом заполнитель {Crypto} разрешается через SHORT-NAME соответствующей конфигурации примитива в Csm/CsmPrimitives [SWS_Csm_01920]. Это обеспечивает поддержку специфичных для примитива буферных структур в системе.

Интеграция и граничные условия

Тип предоставляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01920]. Это, вероятно, означает, что тип предназначен для стандартизированной передачи данных через интерфейсы RTE между программными компонентами и CSM. Вопрос Q-4240a8394cdd746d (открытый) При заполнении буфера пользователи должны учитывать, что данные не должны превышать сконфигурированный верхний предел CsmHashDataMaxLength во избежание переполнений при вычислении хеша.

Этот текст создан ИИ и основан на версии спецификации R20-11.

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

тип Csm_HashResultType [SWS_Csm_00912] 📄 PDF

Array long enough to store the data of the hash.

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

Использование и структура Csm_HashResultType

Тип данных Csm_HashResultType представляет собой массив элементов uint8 и служит областью памяти достаточного размера для сохранения данных результата хеширования [SWS_Csm_00912].

Конкретная длина буфера массива является конфигурируемой и задается через параметр конфигурации CsmHashResultLength в Csm/CsmPrimitives/CsmHash/CsmHashConfig/CsmHashResultLength [SWS_Csm_00912]. Таким образом, размер типа данных напрямую определяется выходной длиной соответствующего криптографического алгоритма хеширования.

Определение типа подчиняется вариации имени по шаблону Csm_HashResultType_{Crypto}, где идентификатор {Crypto} замещается коротким именем сконфигурированного примитива (ecuc/Csm/CsmPrimitives.SHORT-NAME) [SWS_Csm_00912].

Тип данных становится доступным через заголовочный файл Rte_Csm_Type.h [SWS_Csm_00912]. Интерпретация: из-за предоставления через Rte_Csm_Type.h тип, вероятно, предназначен прежде всего для использования в программных компонентах или на интерфейсах RTE в качестве типизированного буфера результатов для возвращаемых значений хеширования. Вопрос Q-4ff10e08b6a5c8c0 (открытый)

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

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

тип Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF

Array long enough to store the data from which a MAC shall be generated.

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

Тип данных Csm_MacGenerateDataType служит в качестве байтового массива для сохранения входных данных, из которых должен вычисляться Message Authentication Code (MAC) [SWS_Csm_00935].

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

Элемент согласно [SWS_Csm_00935] специфицирован как массив с элементами базового типа uint8. Имя типа подлежит криптографической вариации имени по схеме Csm_MacGenerateDataType_{Crypto}, где суффикс соответствует сконфигурированному короткому имени соответствующего примитива [SWS_Csm_00935]. Размерность массива определяется статически через параметр конфигурации CsmMacGenerateDataMaxLength, что гарантирует наличие в массиве достаточного пространства памяти для обрабатываемых данных [SWS_Csm_00935].

Интеграция и интерфейсы

Тип предоставляется через заголовочный файл Rte_Csm_Type.h и привязывает структуры данных к AUTOSAR RTE [SWS_Csm_00935]. Вызывающие программные компоненты (SWC) или модули базового программного обеспечения могут использовать этот тип для объявления типизированных буферов данных для сервисов генерации MAC модуля CSM.

ограничения

Поскольку размер массива жестко сконфигурирован через максимальную длину, на уровне пользователя, вероятно, необходимо следить за тем, чтобы полезные данные не превышали этот предел, так как статический тип не предусматривает динамической подгонки длины [SWS_Csm_00935]. Вопрос Q-2010ffc7191f874a (открытый)

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

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

тип Csm_MacGenerateResultType [SWS_Csm_00927] 📄 PDF

Array long enough to store the data of the MAC.

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

Тип данных Csm_MacGenerateResultType согласно [SWS_Csm_00927] представляет собой байтовый массив (тип элемента uint8), который служит для приёма выходных данных сгенерированного кода аутентификации сообщений (MAC).

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

Спецификация определяет массив как имеющий достаточную длину для хранения данных MAC ([SWS_Csm_00927]). Фактический размер буфера определяется через параметр конфигурации CsmMacGenerateResultLength, который настраивается по пути Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig ([SWS_Csm_00927]). Кроме того, тип подлежит криптографической вариативности через короткое имя примитивов ({Crypto} или ecuc/Csm/CsmPrimitives.SHORT-NAME) согласно [SWS_Csm_00927].

Доступность и интерфейс

Тип предоставляется через заголовочный файл Rte_Csm_Type.h ([SWS_Csm_00927]). Это указывает на то, что он изначально спроектирован для типизированной передачи данных через интерфейс RTE для предоставления вычисленного значения MAC.

ограничения

Поскольку речь идёт о статическом определении типа, конкретное инстанцирование зависит от предварительной конфигурации длины MAC; дополнительные параметры, коды ошибок или требования к параллелизму для самого этого типа данных не специфицированы ([SWS_Csm_00927]).

Этот текст сгенерирован ИИ и служит в качестве ориентира на основе спецификаций AUTOSAR.

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

тип Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF

Array long enough to store the data for whichs MAC shall be verified.

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

Тип данных Csm_MacVerifyDataType специфицирован как массив элементов uint8 и служит буфером для хранения данных, для которых должен быть верифицирован Message Authentication Code (MAC) [SWS_Csm_00802].

Для использования и конфигурации этого типа действуют следующие положения:

  • Размер буфера: Размер массива определяется параметром конфигурации CsmMacVerifyDataMaxLength в контейнере Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig. Тем самым обеспечивается, что массив имеет достаточный размер для полного размещения верифицируемых входных данных [SWS_Csm_00802].
  • Вариативность и именование: Определение содержит критерий вариативности Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, вследствие чего конкретный C-идентификатор типа генерируется модулезависимо в форме Csm_MacVerifyDataType_{Crypto} [SWS_Csm_00802].
  • Интеграция интерфейса: Тип экспортируется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_00802]. Интерпретация: предоставление в этом заголовке позволяет предположить, что тип, вероятно, предназначен преимущественно для взаимодействия компонентов программного обеспечения и CSM через интерфейсы на основе RTE. Вопрос Q-c49670b3de0ba19c (открытый)

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

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

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

тип Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF

Array long enough to store a MAC to be verified.

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

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

Тип Csm_MacVerifyCompareType согласно [SWS_Csm_00803] определен как массив элементов uint8. Он служит для приема верифицируемого Message Authentication Code (MAC), который должен сравниваться с MAC, вычисленным в рамках криптографической операции.

Предоставление типа осуществляется через заголовочный файл Rte_Csm_Type.h для интерфейса RTE [SWS_Csm_00803]. Конкретное наименование типа подчиняется вариации имени через имя примитива по шаблону Csm_MacVerifyCompareType_{Crypto}, где {Crypto} заменяется коротким именем примитива (ecuc/Csm/CsmPrimitives.SHORT-NAME).

Конфигурация и определение размера

Размер массива согласно [SWS_Csm_00803] определяется выражением CsmMacVerifyCompareLength/8 из конфигурации (ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength)). Это отражает длину эталонного значения MAC в байтах.

Обработка ошибок и граничные условия

Являясь чистым определением типа для массива данных, Csm_MacVerifyCompareType не имеет собственных возвращаемых значений и не генерирует прямых кодов ошибок или событий DET/DEM. Однако действуют следующие прикладные граничные условия:

  • Предоставление буфера: Вызывающие стороны, вероятно, отвечают за полную инициализацию массива полученным эталонным MAC перед передачей функции верификации. Вопрос Q-94b98958fd778057 (открытый)
  • Параллелизм: Поскольку это структура данных, сам тип является реентерабельным. Однако одновременный доступ на чтение и запись нескольких задач к одному и тому же экземпляру массива без синхронизации, вероятно, приведет к искажению данных. Вопрос Q-148c0a523da7b402 (открытый)

Это примечание по использованию основано на спецификации AUTOSAR CP R20-11 и сформировано автоматически.

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

тип Csm_EncryptDataType [SWS_Csm_01921] 📄 PDF

Array long enough to store the data to be encrypted.

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

Тип Csm_EncryptDataType определяет байтовый массив из элементов uint8, служащий для приема шифруемых данных [SWS_Csm_01921]. Он предоставляется через заголовочный файл Rte_Csm_Type.h и позволяет программным компонентам выполнять типизированную передачу данных в криптографические службы модуля [SWS_Csm_01921].

Структура и конфигурация

  • Элементы массива: элементы имеют базовый тип uint8 [SWS_Csm_01921].
  • Размер: длина массива определяется конфигурационным параметром CsmEncryptDataMaxLength в соответствующей конфигурации примитива CsmEncryptConfig [SWS_Csm_01921].
  • Вариация имени: имя типа варьируется в зависимости от примитива по схеме Csm_EncryptDataType_{Crypto}, где {Crypto} соответствует короткому имени (SHORT-NAME) сконфигурированного примитива CSM [SWS_Csm_01921].

Использование и ограничения

Будучи чистым определением типа, элемент не обладает собственной реентерабельностью или обработкой ошибок. Поскольку размер массива жестко связан с максимальным размером буфера в конфигурации, в качестве интерпретации предполагается, что вызывающая сторона при заполнении должна следить за тем, чтобы предоставляемые данные не превышали границу буфера CsmEncryptDataMaxLength [SWS_Csm_01921]. Вопрос Q-4bf70d603b5679d3 (открытый)

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

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

тип Csm_EncryptResultType [SWS_Csm_01922] 📄 PDF

Array long enough to store the data of the cipher.

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

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

Тип данных Csm_EncryptResultType специфицирован как байтовый массив с типом элементов uint8 и служит для приема шифртекста (результата шифрования) операции шифрования ([SWS_Csm_01922]). Согласно спецификации массив должен быть рассчитан так, чтобы его длины хватало для размещения всех данных шифра ([SWS_Csm_01922]).

Конфигурация и варианты

Определение типа данных подлежит формированию вариантов на основе сконфигурированных криптопримитивов. Для каждого примитива формируется специфичный для типа идентификатор по схеме Csm_EncryptResultType_{Crypto}, где {Crypto} соответствует короткому имени соответствующего примитива ([SWS_Csm_01922]). Статический размер массива определяется через конфигурационный параметр CsmEncryptResultMaxLength в Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ ([SWS_Csm_01922]).

Интеграция и граничные условия

Тип данных экспортируется через заголовочный файл Rte_Csm_Type.h ([SWS_Csm_01922]). Интерпретация: в силу предоставления через Rte_Csm_Type.h данный тип, вероятно, спроектирован для стандартизированной передачи данных между прикладными программными компонентами и Crypto Service Manager через порты RTE. Вопрос Q-6dc06520e3fd9dc6 (открытый) При предоставлении буфера пользователи должны следить за тем, чтобы результаты шифрования не превышали сконфигурированную максимальную длину CsmEncryptResultMaxLength ([SWS_Csm_01922]).

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

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

тип Csm_DecryptDataType [SWS_Csm_01923] 📄 PDF

Array long enough to store the data to be decrypted.

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

Использование и структура данных

Тип Csm_DecryptDataType в спецификации Crypto Service Manager определен как массив с элементами базового типа uint8 [SWS_Csm_01923]. Он служит выделенным буфером памяти для подлежащих расшифрованию входных данных [SWS_Csm_01923]. Расчет размера массива строго задан таким образом, что его емкость всегда должна быть достаточной для полного размещения соответствующих данных [SWS_Csm_01923].

Конфигурация и формирование вариантов

Определение размера массива выполняется статически с помощью конфигурационного параметра ecuc(Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptDataMaxLength) [SWS_Csm_01923]. Кроме того, тип данных подлежит криптографической вариативности согласно Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} [SWS_Csm_01923]. В результате идентификатор типа для конкретной конфигурации примитива инстанцируется с соответствующим коротким именем как Csm_DecryptDataType_{Crypto} [SWS_Csm_01923].

Интеграция и граничные условия

Определение предоставляется для всей системы через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01923]. Интерпретация: включение в Rte_Csm_Type.h позволяет сделать вывод, что тип в первую очередь предназначен для типизированных портов и обмена данными между программными компонентами и модулем CSM через RTE. Вопрос Q-6dcc31d5d7258088 (открытый) Поскольку речь идет о структуре данных, а не о функции, в объеме спецификации не определены ни синхронные или асинхронные семантики вызова, ни требования к реентерабельности или специфические сообщения об ошибках DET [SWS_Csm_01923].

Этот текст создан ИИ. Он не заменяет изучение официальной спецификации AUTOSAR.

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

тип Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF

Array long enough to store the data of the decrypted plaintext.

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

Тип данных Csm_DecryptResultType согласно [SWS_Csm_01924] определен в модуле Csm как массив с элементами типа uint8. Он служит буфером данных для хранения результирующих данных расшифрованного открытого текста и должен иметь достаточный размер для размещения открытого текста целиком.

Для конфигурации, предоставления и структурирования типа согласно [SWS_Csm_01924] действуют следующие положения:

  • Доступность заголовочного файла: определение типа данных предоставляется через заголовочный файл Rte_Csm_Type.h.
  • Определение размера буфера: размер массива задается через конфигурационный параметр CsmDecryptResultMaxLength (путь Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength), за счет чего статически фиксируется максимальный объем памяти для результата расшифрования.
  • Формирование криптографических вариантов: имя типа подлежит формированию вариантов примитивов по схеме Csm_DecryptResultType_{Crypto}, при этом конкретный вариант управляется конфигурационным элементом Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}.

Что касается контекста вызова, параллелизма и обработки ошибок, [SWS_Csm_01924] содержит исключительно определение типа без собственной функциональной логики. Интерпретация: тип, вероятно, в первую очередь служит в использующих программных компонентах структурой памяти для приема выходных данных криптографических операций расшифрования CSM. Вопрос Q-54c836ed946ee1f2 (открытый) Специфические коды ошибок DET или DEM для этого типа данных не определены; однако лица, ответственные за конфигурацию, должны гарантировать, что сконфигурированная максимальная длина достаточна для всех обрабатываемых открытых текстов.

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

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

тип Csm_AEADEncryptPlaintextType [SWS_Csm_01925] 📄 PDF

Array long enough to store the plaintext to be encrypted with AEAD.

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

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

Тип данных Csm_AEADEncryptPlaintextType согласно [SWS_Csm_01925] служит буфером данных для открытого текста, который должен обрабатываться в рамках операции AEAD-шифрования (Authenticated Encryption with Associated Data). Тип определен как байтовый массив с типом элементов uint8 и предоставляет достаточный объем памяти для полного размещения подлежащего шифрованию открытого текста.

Определение размера и формирование вариантов

Фактический размер буфера жестко не задан, а определяется конфигурационным параметром CsmAEADEncryptPlaintextMaxLength из конфигурации соответствующего примитива ([SWS_Csm_01925]). Кроме того, тип подлежит вариации имени и структуры: в зависимости от сконфигурированного криптопримитива идентификатор дополняется коротким именем примитива (Csm_AEADEncryptPlaintextType_{Crypto}).

Интеграция и интерфейс

Согласно [SWS_Csm_01925] тип предоставляется через заголовочный файл Rte_Csm_Type.h. Это говорит в пользу интерпретации, что тип предоставляется прежде всего в контексте AUTOSAR-RTE для прикладных программных компонентов с целью передачи типизированных данных открытого текста в криптографические сервисы CSM. Поскольку это чистое объявление типа, спецификация не определяет собственных кодов ошибок или требований к реентерабельности на уровне типа данных.

Это указание по использованию создано автоматически и основано на требованиях спецификации AUTOSAR R20-11.

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

тип Csm_AEADEncryptAssociatedDataType [SWS_Csm_01928] 📄 PDF

Array long enough to store the data of the header.

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

Тип данных Csm_AEADEncryptAssociatedDataType определяет байтовый массив из элементов базового типа uint8, служащий буфером для приема заголовка или ассоциированных дополнительных данных при операциях AEAD-шифрования [SWS_Csm_01928]. Тип предоставляется через заголовочный файл Rte_Csm_Type.h и делает возможным типизированный обмен данными через интерфейс AUTOSAR-RTE модуля Crypto Service Manager [SWS_Csm_01928].

Размерность и исполнение типа зависят от конфигурации криптографического примитива [SWS_Csm_01928]:

  • Размер массива: размер буфера определяется конфигурационным параметром CsmAEADEncryptAssociatedDataMaxLength в конфигурации Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig, благодаря чему гарантируется достаточная длина массива для данных заголовка [SWS_Csm_01928].
  • Вариация имени: элемент подлежит криптографической вариации имени Csm_AEADEncryptAssociatedDataType_{Crypto}, где заполнитель {Crypto} соответствует короткому имени соответствующего примитива из CsmPrimitives.SHORT-NAME [SWS_Csm_01928].

Вызывающие стороны при заполнении массива должны обеспечивать, чтобы фактическая длина передаваемых данных заголовка не превышала сконфигурированный максимальный размер [SWS_Csm_01928]. Интерпретация: поскольку ассоциированные данные в процедурах AEAD остаются незашифрованными, но аутентифицируются, данный тип данных, вероятно, в первую очередь служит для согласованной передачи протокольных метаданных между приложением и CSM. Вопрос Q-26b724044c51253f (открытый)

Этот текст создан ИИ; он не заменяет изучение официальной спецификации.

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

тип Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF

Array long enough to store the data of the cipher.

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

Тип данных Csm_AEADEncryptCiphertextType согласно [SWS_Csm_01927] служит байтовым массивом для хранения данных шифра при криптографических операциях AEAD-шифрования в модуле Classic AUTOSAR Csm.

Спецификация определяет элемент данных как массив из элементов базового типа uint8 [SWS_Csm_01927]. Фиксированный размер буфера определяется через конфигурационный параметр CsmAEADEncryptCiphertextMaxLength внутри пути конфигурации Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01927]. Согласно требованию массив должен иметь достаточную длину, чтобы вместить полные данные шифра [SWS_Csm_01927].

Идентификатор типа содержит зависящую от примитива вариацию имени: через конфигурационный атрибут Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} конкретное имя типа раскрывается в Csm_AEADEncryptCiphertextType_{Crypto} [SWS_Csm_01927]. Предоставляется это определение для прикладных программных компонентов, а также CSM через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01927].

При практическом использовании вызывающие компоненты, вероятно, объявляют соответствующие буферы для приема результатов шифрования операции AEAD. Вопрос Q-af095525ea319451 (открытый) Специфические контексты вызова, виды обработки ошибок (такие как DET или DEM), возвращаемые значения или требования к реентерабельности для этой структуры данных в источниках не определены.

Этот текст создан ИИ и основан исключительно на данных спецификации AUTOSAR версии R20-11.

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

тип Csm_AEADEncryptTagType [SWS_Csm_01926] 📄 PDF

Array long enough to store the data of the Tag.

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

Тип данных Csm_AEADEncryptTagType согласно [SWS_Csm_01926] определяет байтовый массив (тип элементов uint8), служащий буфером для данных тега аутентификации при операциях AEAD-шифрования. Массив в соответствии со спецификацией рассчитан достаточной длины для полного размещения данных тега [SWS_Csm_01926].

В отношении структуры и конфигурации действуют следующие положения из [SWS_Csm_01926]:

  • Размер буфера: размерность массива задается через конфигурационный параметр CsmAEADEncryptTagLength в Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01926].
  • Вариант имени: имя типа обладает криптографической вариативностью и формируется по схеме Csm_AEADEncryptTagType_{Crypto}, где {Crypto} соответствует короткому имени соответствующего примитива (SHORT-NAME) [SWS_Csm_01926].
  • Подключение заголовочного файла: тип предоставляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01926].

Благодаря доступности в Rte_Csm_Type.h этот тип данных, вероятно, предназначен для стандартизированных программных интерфейсов (интерпретация: использование для передачи буфера в портах программных компонентов) [SWS_Csm_01926]. Вопрос Q-3cd2f6ae1229483e (открытый)

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

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

тип Csm_AEADDecryptCiphertextType [SWS_Csm_00922] 📄 PDF

Array long enough to store the ciphertext to be decrypted with AEAD.

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

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

Тип данных Csm_AEADDecryptCiphertextType согласно [SWS_Csm_00922] определяет байтовый массив на основе типа элементов uint8. Он служит буфером достаточного размера для приёма шифртекста, который должен быть расшифрован в рамках операции AEAD (Authenticated Encryption with Associated Data) [SWS_Csm_00922]. Предоставление определения типа осуществляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_00922].

Определение размера и вариативность

Определение размера массива выполняется статически на основе параметра конфигурации CsmAEADDecryptCiphertextMaxLength внутри ветви конфигурации Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00922]. Массив рассчитан таким образом, чтобы он мог вместить весь обрабатываемый шифртекст. Кроме того, имя типа подлежит криптографической вариативности в соответствии с шаблоном Csm_AEADDecryptCiphertextType_{Crypto}, где часть идентификатора {Crypto} формируется коротким именем соответствующего примитива (CsmPrimitives.SHORT-NAME) [SWS_Csm_00922].

Взаимодействие и граничные условия

Вследствие определения в Rte_Csm_Type.h данный тип, вероятно, предназначен преимущественно для типизированного подключения программных компонентов (SW-C) через порты RTE к Crypto Service Gateway или CSM [SWS_Csm_00922]. Вопрос Q-35738ff5fc96c699 (открытый) Поскольку размер массива фиксированно задаётся во время конфигурации, вызывающие стороны должны гарантировать, что данные шифртекста не превышают максимальную длину, чтобы исключить переполнения буфера во время выполнения.

Этот текст был создан ИИ и основан на AUTOSAR R20-11.

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

тип Csm_AEADDecryptAssociatedDataType [SWS_Csm_00923] 📄 PDF

Array long enough to store the data of the header.

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

Тип данных Csm_AEADDecryptAssociatedDataType определён как массив из элементов типа uint8 и имеет зависящий от формирования шаблон имени Csm_AEADDecryptAssociatedDataType_{Crypto} [SWS_Csm_00923]. Назначением этого типа данных является предоставление области памяти достаточного размера для приёма данных заголовка или ассоциированных дополнительных данных (Associated Data) при аутентифицированном расшифровании (AEAD Decrypt) [SWS_Csm_00923].

Размер массива зависит от параметра конфигурации CsmAEADDecryptAssociatedDataMaxLength в пути конфигурации Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00923]. С помощью вариативности Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} идентификатор типа специализирован для соответствующего сконфигурированного в Crypto Service Manager примитива через его короткое имя [SWS_Csm_00923]. Благодаря этому для каждого криптографического примитива можно объявить специфический буфер с подходящей максимальной длиной.

Тип данных экспортируется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_00923]. Поскольку это чистое определение типа, запись не указывает кодов ошибок, сообщений DET или условий повторного входа. В порядке интерпретации: массив, вероятно, служит типизированным буфером данных для передачи незашифрованных, но подлежащих криптографической проверке сопутствующих данных между программными компонентами и CSM через RTE. Вопрос Q-2f32bbe9a4489b27 (открытый)

Этот текст сгенерирован искусственным интеллектом на основе AUTOSAR R20-11 и служит в качестве ориентира.

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

тип Csm_AEADDecryptTagType [SWS_Csm_01074] 📄 PDF

Array long enough to store the data of the Tag.

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

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

Тип данных Csm_AEADDecryptTagType определен как байтовый массив с типом элементов uint8 и служит выделенной областью памяти для приема данных тега при операциях AEAD-расшифрования [SWS_Csm_01074]. Предоставление осуществляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01074].

Определение размера и зависимость от конфигурации

Размерность массива является конфигурируемой и определяется сконфигурированной длиной тега CsmAEADDecryptTagLength [SWS_Csm_01074]. Количество элементов вычисляется с помощью выражения (({ecuc(Csm/CsmPrimitives/CsmAEADDecrypt/CsmAEADDecryptConfig/CsmAEADDecryptTagLength)}+7)/8) [SWS_Csm_01074]. Посредством этого вычисления указанная в битах длина тега пересчитывается в полные байты, причем длина в битах, не кратная восьми, округляется в большую сторону до следующей границы байта.

Тип подчиняется вариации имен по схеме Csm_AEADDecryptTagType_{Crypto}, где {Crypto} заменяется коротким именем (SHORT-NAME) соответствующей конфигурации примитива [SWS_Csm_01074]. Благодаря этому для каждого сконфигурированного экземпляра примитива AEAD-расшифрования существует структура с подходящей типизацией.

Интеграционные и граничные условия

Предоставление через Rte_Csm_Type.h, вероятно, означает, что этот тип в первую очередь предназначен для программных компонентов на портах AUTOSAR-RTE для передачи тега аутентификации в Crypto Service Manager [SWS_Csm_01074]. Вопрос Q-2a0bebbb8e1d6b76 (открытый) Поскольку тип не содержит собственных потоков управления или механизмов синхронизации, согласованность данных в буфере, предположительно, полностью обеспечивается вызывающим контекстом во время цикла расшифрования.

Этот текст сгенерирован ИИ и основан исключительно на данных спецификации AUTOSAR R20-11.

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

тип Csm_AEADDecryptPlaintextType [SWS_Csm_01075] 📄 PDF

Array long enough to store the data of the plaintext.

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

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

Тип данных Csm_AEADDecryptPlaintextType или его специфичный для примитива вариант Csm_AEADDecryptPlaintextType_{Crypto} определен как байтовый массив с элементами типа uint8 [SWS_Csm_01075]. Он служит для предоставления буфера достаточного размера для хранения данных открытого текста при AEAD-расшифровании (Authenticated Encryption with Associated Data) [SWS_Csm_01075]. Фиксированный размер массива определяется конфигурационным параметром CsmAEADDecryptPlaintextMaxLength в рамках конфигурации соответствующего примитива AEAD-расшифрования [SWS_Csm_01075]. Через заголовочный файл Rte_Csm_Type.h данный тип данных предоставляется для программных компонентов, причем имя типа через вариацию Crypto привязано к короткому имени сконфигурированного примитива CSM [SWS_Csm_01075].

Обработка ошибок и параллелизм

Поскольку это чистое определение типа, элемент не определяет собственных возвращаемых значений, кодов ошибок или сообщений DET [SWS_Csm_01075]. Основное функциональное граничное условие заключается в статически заданной максимальной длине: данные открытого текста, превышающие сконфигурированный предел, не могут быть размещены в этом буфере [SWS_Csm_01075]. Интерпретация: тип, вероятно, в первую очередь служит для типизированной передачи данных через порты RTE, когда SWC асинхронно или синхронно принимают результаты служб расшифрования. Вопрос Q-2de04243d7f996c8 (открытый) Вызывающие стороны, предположительно, должны самостоятельно следить за соблюдением границ буфера и потокобезопасной синхронизацией одновременных операций чтения или записи между несколькими задачами.

Это указание по использованию создано ИИ и основано на положениях спецификации AUTOSAR.

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

тип Csm_SignatureGenerateDataType [SWS_Csm_01083] 📄 PDF

Array long enough to store the data from which the signature shall be generated.

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

Тип Csm_SignatureGenerateDataType согласно [SWS_Csm_01083] определяет массив из элементов uint8, который служит буфером для приема данных, на основе которых должна генерироваться криптографическая подпись. Конкретное именование в исходном коде зависит от примитива и следует шаблону Csm_SignatureGenerateDataType_{Crypto}, где идентификатор варьируется в зависимости от короткого имени сконфигурированного криптографического примитива [SWS_Csm_01083].

Статическая размерность массива данных определяется через конфигурационный параметр CsmSignatureGenerateDataMaxLength [SWS_Csm_01083]. Тип данных предоставляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_01083]. Интерпретация: из-за предоставления через Rte_Csm_Type.h массивный тип, вероятно, в первую очередь предназначен для типизированной передачи данных на портах RTE между программными компонентами и модулем CSM. Вопрос Q-dcc731a5b8961aef (открытый)

При конфигурации и использовании следует учитывать, что CsmSignatureGenerateDataMaxLength задает фиксированную верхнюю границу массива [SWS_Csm_01083]. Пользователи должны конфигурационно обеспечить, чтобы размер буфера был достаточен для всех входных данных генерации подписи, возникающих в процессе работы, поскольку массив выделяется статически.

Этот текст сгенерирован ИИ. Все технические сведения основаны исключительно на источниках спецификации.

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

тип Csm_SignatureGenerateResultType [SWS_Csm_01077] 📄 PDF

Array long enough to store the signature and its length.

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

Тип данных Csm_SignatureGenerateResultType согласно [SWS_Csm_01077] определяет байтовый массив на основе uint8, который служит для приема сгенерированной криптографической подписи, а также указания ее длины. Тип объявляется через заголовочный файл Rte_Csm_Type.h и предоставляет стандартизированный выходной буфер для операций подписи в Crypto Service Manager.

Структура и размерность типа являются конфигурируемыми:

  • Размер буфера: количество элементов uint8 задается через конфигурационный параметр CsmSignatureGenerateResultLength соответствующей конфигурации генерации подписи ([SWS_Csm_01077]).
  • Вариант имени: идентификатор содержит суффикс _{Crypto}, который соответствует короткому имени сконфигурированного примитива ([SWS_Csm_01077]).

Поскольку это чистое определение типа, [SWS_Csm_01077] не содержит спецификации кодов ошибок, сообщений DET или свойств реентерабельности. Семантика времени выполнения и передача буфера, вероятно, определяются синхронными или асинхронными соглашениями о вызовах интерфейсов служб CSM. Вопрос Q-3304c06a29f069a2 (открытый) Вызывающие стороны должны следить за тем, чтобы сконфигурированный размер массива всегда был достаточным для принимаемой подписи, включая значение длины.

Этот текст создан ИИ и основан на выдержке из спецификации AUTOSAR.

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

тип Csm_SignatureVerifyDataType [SWS_Csm_01078] 📄 PDF

Array long enough to store the data for whichs signature shall be verified.

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

Тип данных Csm_SignatureVerifyDataType согласно [SWS_Csm_01078] определен как байтовый массив с типом элементов uint8 и служит для буферизации данных, подпись которых подлежит проверке.

Для конфигурации и использования типа согласно [SWS_Csm_01078] действуют следующие положения:

  • Размерность массива: размер массива соответствует конфигурационному значению CsmSignatureVerifyDataMaxLength из пути конфигурации Csm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfig, благодаря чему массив имеет достаточный размер для размещения всего объема проверяемых данных.
  • Вариация имени: имя типа варьируется в зависимости от соответствующего криптографического примитива по схеме Csm_SignatureVerifyDataType_{Crypto}, где {Crypto} соответствует короткому имени CsmPrimitives.SHORT-NAME.
  • Предоставление заголовочного файла: определение типа доступно через заголовочный файл Rte_Csm_Type.h.

Интерпретация: благодаря предоставлению в Rte_Csm_Type.h тип, вероятно, в первую очередь предназначен для программных компонентов на интерфейсе RTE для передачи полезных данных вплоть до сконфигурированной максимальной длины в Crypto Service Manager для проверки подписи [SWS_Csm_01078]. Вопрос Q-c1541703c2bcd199 (открытый)

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

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

тип Csm_SignatureVerifyCompareType [SWS_Csm_01079] 📄 PDF

Array long enough to store a signature to be verified.

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

Тип Csm_SignatureVerifyCompareType определяет байтовый массив на основе uint8, предоставляющий достаточный объем памяти для проверяемой криптографической подписи ([SWS_Csm_01079]). Он предоставляется через заголовочный файл Rte_Csm_Type.h и делает возможным типизированный доступ программных компонентов к данным сравнения подписей ([SWS_Csm_01079]).

Конфигурация и вариативность

Фактический размер массива жестко не задан, а определяется конфигурационным значением CsmSignatureVerifyCompareLength из конфигурации проверки подписи соответствующего примитива ([SWS_Csm_01079]). Кроме того, тип подлежит вариации имени через короткое имя криптографического примитива (Crypto = {ecuc/Csm/CsmPrimitives.SHORT-NAME}), так что типизированный идентификатор формируется как Csm_SignatureVerifyCompareType_{Crypto} ([SWS_Csm_01079]).

Аспекты использования и граничные условия

  • Контекст вызова и семантика: будучи чистой структурой данных, элемент не обладает самостоятельной синхронной или асинхронной семантикой. Инстанцирование обычно выполняется вызывающей стороной служб верификации модуля ([SWS_Csm_01079]).
  • Обработка ошибок: определение типа не содержит собственных кодов ошибок или сообщений DET/DEM ([SWS_Csm_01079]). Интерпретация: проверка длины буфера или целостности указателя, вероятно, должна происходить в использующих его функциях CSM. Вопрос Q-60454c8a7d8035cf (открытый)
  • Параллелизм: для чистых определений типов ограничений по реентерабельности нет; параллельный доступ к экземплярам буфера должен координироваться использующими модулями ([SWS_Csm_01079]).

Этот текст создан ИИ. Он основан исключительно на спецификациях релиза AUTOSAR R20-11.

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

тип Csm_RandomGenerateResultType [SWS_Csm_00930] 📄 PDF

Array long enough to store the data of the random number.

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

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

Тип данных Csm_RandomGenerateResultType определён как массив и служит структурированной областью памяти для размещения выходных данных сгенерированного случайного числа [SWS_Csm_00930]. Отдельные элементы массива имеют базовый тип uint8, благодаря чему результирующее случайное число отображается в виде непрерывной последовательности байтов [SWS_Csm_00930].

Конфигурация и формирование вариантов

Размер буфера не передаётся динамически, а фиксируется статически через конфигурацию модуля: количество элементов массива определяется параметром конфигурации CsmRandomGenerateResultLength по пути Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig [SWS_Csm_00930]. Кроме того, идентификатор подлежит криптографической вариации имени по схеме Csm_RandomGenerateResultType_{Crypto}, где суффикс соответствует короткому имени соответствующего примитива [SWS_Csm_00930]. Таким образом, каждый сконфигурированный экземпляр генерации случайных чисел получает типобезопасный буфер подходящей длины.

Интеграция и граничные условия

Объявление типа предоставляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_00930]. Интерпретация: поскольку предоставление осуществляется через заголовочный файл RTE, этот тип данных, вероятно, предназначен преимущественно для Application Software Components, чтобы типобезопасно принимать случайные значения через порты. Вопрос Q-ea993612037bec12 (открытый) Конкретные контексты вызова API, коды ошибок или аспекты параллелизма закреплены не за самим типом, а за соответствующими сервисами CSM, в то время как этот тип обеспечивает статическое требование к памяти [SWS_Csm_00930].

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

тип Csm_LengthPtr [SWS_Csm_91045] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

тип Csm_VerifyResultPtr [SWS_Csm_91046] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.

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

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

Тип Csm_VerifyResultPtr представляет собой AUTOSAR-Implementation-Data-Type категории DATA_REFERENCE, целевым типом указателя которого является Csm_VerifyResultType (формально Csm_VerifyResultType*) [SWS_Csm_91046]. Определение типа предоставляется через заголовочный файл Rte_Csm_Type.h и, таким образом, доступно для компонентов приложения через RTE, а также для модулей базового программного обеспечения [SWS_Csm_91046].

Функциональная задача Csm_VerifyResultPtr заключается в возврате результата верификации при асинхронных криптографических операциях [SWS_Csm_91046]. При асинхронном выполнении указатель ссылается на буфер, зарезервированный вызывающей стороной, в который модуль Csm записывает результат после завершения проверки [SWS_Csm_91046].

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

Поскольку Csm_VerifyResultPtr явно предназначен для асинхронной обратной связи [SWS_Csm_91046], пользователи должны гарантировать, что действительность адресуемого целевого объекта сохраняется на протяжении всего времени выполнения операции. При этом следует учитывать следующие аспекты:

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

Данное указание по использованию было сгенерировано автоматически и основано исключительно на данных спецификации модуля CSM.

тип Crypto_KeyStatusType [SWS_Csm_91102] 📄 PDF

Enumeration for key status.

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

Перечислимый тип Crypto_KeyStatusType определяет статус действительности криптографических ключей и предоставляется через заголовочный файл Rte_Csm_Type.h [SWS_Csm_91102].

Диапазон значений и семантика

Тип включает два значения [SWS_Csm_91102]:

  • CRYPTO_KEYSTATUS_INVALID (0x00): статус ключа недействителен. Это происходит, например, если после установки элемента ключа с помощью Csm_KeyElementSet функция Csm_KeySetValid еще не была выполнена.
  • CRYPTO_KEYSTATUS_VALID (0x01): ключ действителен, например, после того как статус был установлен успешным вызовом Csm_KeySetValid.

Условия последовательности вызовов и взаимодействие

Логика состояний напрямую связывает действительность с процессами обновления в рамках управления ключами: каждая модификация элементов ключа переводит ключ в недействительное промежуточное состояние, которое завершается только явной валидацией с помощью Csm_KeySetValid [SWS_Csm_91102]. Интерпретация: вызывающие стороны и криптографические службы, вероятно, должны требовать статус CRYPTO_KEYSTATUS_VALID перед выполнением криптографических операций, чтобы исключить сбои в работе из-за неполных данных ключа. Вопрос Q-7ad50e0568814efa (открытый)

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

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

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

Record
AUTOSAR/AP/record/CP_MOD_Csm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Csm@rel:R20-11#b7536be1
Content hash
b7536be1
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoServiceManager.pdf#nameddest=SWS_Csm_00646

Карта тем

Инициализация и состояние

2

Callout-функции и ожидаемые интерфейсы

1

Циклические

1

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

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

Инициализация и состояние

Csm_GetVersionInfo функция

Returns the version information of this module.

void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Csm_Init функция

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

void Csm_Init (const Csm_ConfigType* configPtr);

Сервисы · Key…

Csm_KeyCopy функция

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);
Csm_KeyDerive функция

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);
Csm_KeyElementCopy функция

Service Csm_KeyElementCopyManager.

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);
Csm_KeyElementGet функция

Service Csm_KeyElementGet.

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);
Csm_KeyElementSet функция

Sets the given key element bytes to the key identified by key Id.

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Csm_KeyGenerate функция

Generates new key material and store it in the key identified by key Id.

Std_ReturnType Csm_KeyGenerate (uint32 keyId);
Csm_KeyGetStatus функция

Returns the key state of the key identified by key Id.

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);
Csm_KeySetInvalid функция

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);
Csm_KeySetValid функция

Sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Сервисы · Job…

Csm_JobKeyDerive функция

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Calculates the public value of the current user for the key exchange and stores the

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Csm_JobKeyGenerate функция

Generates new key material and stores it in the key identified by key Id.

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);
Csm_JobKeySetInvalid функция

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);
Csm_JobKeySetValid функция

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);
Csm_JobRandomSeed функция

Provides a new seed for the specified key that is used for an associated random number generator.

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Сервисы · Прочее

Csm_AEADDecrypt функция

Service Csm_AEADDecryptManager.

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);
Csm_AEADEncrypt функция

Service Csm_AEADEncrypt.

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Csm_CancelJob функция

Cancels the job processing from asynchronous or streaming jobs .

Csm_Decrypt функция

Service Csm_Decrypt.

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Encrypt функция

Service Csm_Encrypt.

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Hash функция

Uses the given data to perform the hash calculation and stores the hash.

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_MacGenerate функция

Service Csm_MacGenerate.

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);
Csm_MacVerify функция

Service Csm_MacVerify.

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);
Csm_RandomGenerate функция

Generate a random number and stores it in the memory location pointed by th e result pointer.

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);
Csm_RandomSeed функция

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);
Csm_RestoreContextJob функция

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);
Csm_SaveContextJob функция

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);
Csm_SignatureGenerate функция

Service Csm_SignatureGenerate.

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);
Csm_SignatureVerify функция

Service Csm_SignatureVerify.

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Callout-функции и ожидаемые интерфейсы

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

Циклические

Csm_MainFunction функция

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

void Csm_MainFunction (void);

Типы

Type Crypto_AlgorithmFamilyType.

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

Type Crypto_AlgorithmModeType.

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

Structure which contains further information, which depends on the job and the crypto primitive.

Type Crypto_JobPrimitiveInputOutputType.

Type Crypto_JobRedirectionInfoType.

Enumeration of the current job state.

Structure which contains further information, which depends on the job and the crypto primitive.

Enumeration for key status.

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Enumeration of the processing type.

Return for Std_ Return Type for Cryptostack.

Enumeration of the kind of the service.

Enumeration of the result type of verification operations.

Array long enough to store the data of the header.

Array long enough to store the ciphertext to be decrypted with AEAD.

Array long enough to store the data of the plaintext.

Array long enough to store the data of the Tag.

Array long enough to store the data of the header.

Array long enough to store the data of the cipher.

Array long enough to store the plaintext to be encrypted with AEAD.

Array long enough to store the data of the Tag.

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

Configuration data structure of Csm module

Array long enough to store the data to be decrypted.

Array long enough to store the data of the decrypted plaintext.

Array long enough to store the data to be encrypted.

Array long enough to store the data of the cipher.

Array long enough to store the data which shall be hashed.

Array long enough to store the data of the hash.

Array long enough to store any key element of the considered key

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

Array long enough to store the data from which a MAC shall be generated.

Array long enough to store the data of the MAC.

Array long enough to store a MAC to be verified.

Array long enough to store the data for whichs MAC shall be verified.

Array long enough to store the data of the random number.

Array long enough to store the data from which the signature shall be generated.

Array long enough to store the signature and its length.

Array long enough to store a signature to be verified.

Array long enough to store the data for whichs signature shall be verified.

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.