Crypto Service Manager (CSM)
Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.
Funktionen — Übersicht
void Csm_Init (const Csm_ConfigType* configPtr);Initializes the CSM module.void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.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.Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);Service Csm_MacGenerate.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.Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Encrypt.Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Decrypt.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.Std_ReturnType Csm_AEADDecryptManager (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.Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);Service Csm_SignatureGenerate.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.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.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.Std_ReturnType Csm_KeySetValid (uint32 keyId);Sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_KeySetInvalid (uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by key Id.Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);Service Csm_KeyElementGet.Std_ReturnType Csm_KeyElement Csm_KeyElementCopyManager (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId); ⚠️Service Csm_KeyElementCopyManager.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.Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);Service Csm_KeyElementCopyPartial.Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed.Std_ReturnType Csm_KeyGenerate (uint32 keyId);Generates new key material and store it in the key identified by key Id.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.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...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...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.Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);Sets the key status to invalid.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.Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);Generates new key material and stores it in the key identified by key Id.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.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 theStd_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...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.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...Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);Cancels the job processing from asynchronous or streaming jobs.void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CSM that a job has finished.void Csm_MainFunction (void);API to be called cyclically to process the requested jobs.void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);CSM notifies the application that a job has finished.
Typen — Übersicht
struct Csm_ConfigTypeConfiguration data structure of Csm moduleCrypto_AlgorithmFamilyTypeType Crypto_AlgorithmFamilyType.enum Crypto_AlgorithmModeTypeType Crypto_AlgorithmModeType.struct Crypto_InputOutputRedirectionConfigTypeDefines which of the input/ output parameters are re - directed to a key element.struct Crypto_JobTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_JobStateTypeEnumeration of the current job state.Crypto_JobPrimitiveInputOutputTypeType Crypto_JobPrimitiveInputOutputType.struct Crypto_JobPrimitiveInfoTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_ServiceInfoTypeEnumeration of the kind of the service.Crypto_JobRedirectionInfoTypeType Crypto_JobRedirectionInfoType.struct Crypto_AlgorithmInfoTypeStructure which determines the exact algorithm.enum Crypto_ProcessingTypeEnumeration of the processing type.struct Crypto_PrimitiveInfoTypeStructure which contains basic information about the crypto primitive.Csm_ConfigIdTypeIdentification of a CSM service configuration via a numeric identifier, that is unique within a service.enum Crypto_OperationModeTypeEnume ration which operation shall be performed.enum Crypto_VerifyResultTypeEnumeration of the result type of verification operations.Csm_KeyDataTypeArray long enough to store any key element of the considered keyenum Crypto_ResultTypeReturn for Std_ Return Type for Cryptostack.Csm_HashDataTypeArray long enough to store the data which shall be hashed.enum Csm_HashResultTypeArray long enough to store the data of the hash.Csm_MacGenerateDataTypeArray long enough to store the data from which a MAC shall be generated.enum Csm_MacGenerateResultTypeArray long enough to store the data of the MAC.Csm_MacVerifyDataTypeArray long enough to store the data for whichs MAC shall be verified.Csm_MacVerifyCompareTypeArray long enough to store a MAC to be verified.Csm_EncryptDataTypeArray long enough to store the data to be encrypted.enum Csm_EncryptResultTypeArray long enough to store the data of the cipher.Csm_DecryptDataTypeArray long enough to store the data to be decrypted.enum Csm_DecryptResultTypeArray long enough to store the data of the decrypted plaintext.Csm_AEADEncryptPlaintextTypeArray long enough to store the plaintext to be encrypted with AEAD.Csm_AEADEncryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADEncryptCiphertextTypeArray long enough to store the data of the cipher.Csm_AEADEncryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptCiphertextTypeArray long enough to store the ciphertext to be decrypted with AEAD.Csm_AEADDecryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADDecryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptPlaintextTypeArray long enough to store the data of the plaintext.Csm_SignatureGenerateDataTypeArray long enough to store the data from which the signature shall be generated.enum Csm_SignatureGenerateResultTypeArray long enough to store the signature and its length.Csm_SignatureVerifyDataTypeArray long enough to store the data for whichs signature shall be verified.Csm_SignatureVerifyCompareTypeArray long enough to store a signature to be verified.enum Csm_RandomGenerateResultTypeArray long enough to store the data of the random number.Csm_LengthPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the...Csm_VerifyResultPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return...enum Crypto_KeyStatusTypeEnumeration for key status.
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.
Синхронная функция 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_GetVersionInfo [SWS_Csm_00705] 📄 PDF
void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция 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.
Использование
Функция 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.
Реентерабельная функция 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.
Функция 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.
Функция 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.
Функция 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.
Использование
Функция 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.
Сервис 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.
Функция 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.
Сервис 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.
Функция 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.
Использование и семантика
Синхронная функция 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.
Синхронная функция 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.
Синхронная функция 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.
Использование
Синхронная функция 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.
Синхронная и реентерабельная функция 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.
Синхронная функция 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
Использование
Синхронная сервисная функция 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.
Синхронная функция 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
Использование и контекст вызова
Синхронная функция 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.
Синхронная функция 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.
Синхронная функция 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.
Синхронный интерфейс 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.
Синхронная функция 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.
Использование
Функция 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.
Использование
Функция 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.
Использование и контекст вызова
Функция 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.
Использование
Функция 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
Использование и семантика
Функция 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
Использование
Функция 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.
Использование и семантика
Функция 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.
Функция 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.
Использование и семантика
Функция 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 .
Использование и контекст вызова
Функция 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).
Синхронный интерфейс 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_
Использование
Функция 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".
Конфигурируемая функция обратного вызова <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.
тип Csm_ConfigType [SWS_Csm_01085] 📄 PDF
Configuration data structure of Csm module
тип Crypto_AlgorithmFamilyType [SWS_Csm_01047] 📄 PDF
Type Crypto_AlgorithmFamilyType.
тип Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF
Type Crypto_AlgorithmModeType.
Перечислимый тип 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.
Применение и структура 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.
Тип перечисления 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_JobPrimitiveInputOutputType [SWS_Csm_01009] 📄 PDF
Type Crypto_JobPrimitiveInputOutputType.
тип Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
Структура данных 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_ServiceInfoType [SWS_Csm_01031] 📄 PDF
Enumeration of the kind of the service.
тип Crypto_JobRedirectionInfoType [SWS_Csm_91026] 📄 PDF
Type Crypto_JobRedirectionInfoType.
тип 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.
Использование
Структура данных 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_ProcessingType [SWS_Csm_01049] 📄 PDF
Enumeration of the processing type.
тип 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
Структура 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_
тип 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".
Тип перечисления 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.
Тип перечисления 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.
тип Csm_KeyDataType [SWS_Csm_00828] 📄 PDF
Array long enough to store any key element of the considered key
тип Crypto_ResultType [SWS_Csm_91044] 📄 PDF
Return for Std_ Return Type for Cryptostack.
Тип перечисления 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.
Использование и структура 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.
Использование и структура 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.
Тип данных 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.
Тип данных 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.
Тип данных 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.
Использование и структура
Тип 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.
Тип 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.
Использование и назначение
Тип данных 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.
Использование и структура данных
Тип 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.
Тип данных 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.
Использование и определение типа
Тип данных 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.
Тип данных 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.
Тип данных 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.
Тип данных 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.
Использование и структура
Тип данных 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.
Тип данных 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.
Использование и назначение
Тип данных 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.
Использование и структура
Тип данных 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.
Тип 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.
Тип данных 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.
Тип данных 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.
Тип 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.
Использование и назначение
Тип данных 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.
Использование и семантика
Тип 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.
Перечислимый тип 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
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал