Key Manager (KeyM)
Manages lifecycle, storage, and distribution of cryptographic keys and certificates.
Funktionen — Übersicht
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);This function initializes the key management module.void KeyM_Deinit (void);This function resets the key management module to the uninitialized state.void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);Provides the version information of this module.Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true.Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is used to prepare a key update operation.Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);The function is used to finalize key update operations.Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);This function provides the certificate data to the key managem ent module to temporarily store the certificate.Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);This function provides the certificate dataStd_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);This function verifies two certificates that are stored and parsed internally against each other.Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);Service KeyM_VerifyCertificate.Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);Service KeyM_VerifyCertificateChain.Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGet.Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);Service KeyM_CertificateElementGetByIndex.Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);This function provides the total number of data elements that a re available for the specified certificate element.Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetFirst.Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetNext.Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);This function provides the sta tus of a certificate.void KeyM_MainFunction (void);Function is called periodically according the specified time interval.void KeyM_MainBackgroundFunction (void);Function is called from a pre - emptive operating system when no other task operation is needed.Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto KeyStd_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both...Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this...void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key update operation has been finished.void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Service KeyM_CryptoKeyFinalizeCallbackNotification.void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key verify operation has been finished.void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that the certificate service operation has been finished.Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);Notifies the application that a certificate verification has been finished.
Typen — Übersicht
struct KeyM_ConfigTypeThis structure is the base type to initialize the Key Manager module.KeyM_KH_UpdateOperationTypeSpecifies the type of key handler update operation that was performed in the callback.struct KeyM_CertElementIteratorTypeThis structure is used to iterate through a number of elements of a certificate.KeyM_CryptoKeyIdTypeCrypto key handle.KeyM_CertDataPointerTypeByte - pointer to the data of the certificateKeyM_StartTypeThis type specifies in which mode the key operation will start.KeyM_CertElementIdTypeCertificate Element handle.KeyM_CertificateIdTypeCertificate handle.KeyM_ServiceCertificateTypeThis type specifies the requested service operation and what information is provided with this function.MaxArray long enough to store the key or certificate name.enum KeyM_CertificateStatusTypeType KeyM_CertificateStatusType.KeyM_CertificateElementTypeArray long enough to store dataKeyM_CryptoKeyDataTypeByte - pointer to the input or output dataenum KeyM_ResultTypeSpecifies the result type of an asynchronous key management fu nction.struct KeyM_CertDataTypeThis structure is used to exchange certificate data through interface functions.
Funktionen & Typen — Detailansicht
функция KeyM_Init [SWS_KeyM_00043] 📄 PDF
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);
This function initializes the key management module.
Функция KeyM_Init служит для инициализации модуля управления ключами ([SWS_KeyM_00043]). Вызов выполняется синхронно и определен как нереентерабельный ([SWS_KeyM_00043]). В качестве единственного входного параметра ожидается ConfigPtr, представляющий собой указатель на набор конфигурационных данных для VARIANT-POST-BUILD; функция не имеет возвращаемого значения ([SWS_KeyM_00043]).
Что касается взаимодействия с другими функциями модуля, KeyM_Init представляет собой обязательное предварительное условие: при включенном обнаружении ошибок разработки все остальные функции Key Manager проверяют, был ли модуль предварительно инициализирован через KeyM_Init и еще не деинициализирован с помощью KeyM_Deinit ([SWS_KeyM_00144]). Если функция модуля вызывается в неинициализированном состоянии, Key Manager сообщает об ошибке разработки KEYM_E_UNINIT ([SWS_KeyM_00144]).
Поскольку KeyM_Init специфицирована как нереентерабельная ([SWS_KeyM_00043]), данная функция на этапе инициализации системы может выполняться только однократно и при исключении параллельных вызовов. После успешного выполнения модуль доступен через заголовочный файл KeyM.h ([SWS_KeyM_00043]).
Это указание по использованию было создано автоматически на основе полезной нагрузки спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_Deinit [SWS_KeyM_00047] 📄 PDF
void KeyM_Deinit (void);
This function resets the key management module to the uninitialized state.
Функция KeyM_Deinit служит для возврата модуля Key Manager обратно в неинициализированное состояние ([SWS_KeyM_00047]).
Использование и контекст вызова
Вызов KeyM_Deinit выполняется синхронно и специфицирован как нереентерабельный (Non Reentrant). Функция имеет Service-ID 0x02, не принимает параметров и не возвращает значения ([SWS_KeyM_00047]).
Параллелизм и взаимодействие
Из-за нереентерабельности KeyM_Deinit не разрешается вызывать параллельно самой себе или в противоречии с выполняющимися операциями. После выполнения этой деинициализации модуль находится в неинициализированном состоянии. Если ошибки разработки активированы, Key Manager при каждом последующем вызове функции проверяет, был ли модуль предварительно инициализирован через KeyM_Init() и еще не деинициализирован с помощью KeyM_Deinit(); в противном случае выдается сообщение об ошибке разработки KEYM_E_UNINIT ([SWS_KeyM_00144]).
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_GetVersionInfo [SWS_KeyM_00049] 📄 PDF
void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
Provides the version information of this module.
функция KeyM_Start [SWS_KeyM_00050] 📄 PDF
Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true. It intents to allow key update operation.
Синхронная функция KeyM_Start служит для того, чтобы разрешать операции по обновлению ключей в Key Manager ([SWS_KeyM_00050]). Она является опциональной и доступна только тогда, когда параметр конфигурации KeyMCryptoKeyStartFinalizeFunctionEnabled сконфигурирован как true (AUTOSAR_SWS_KeyManager с. 35). Функция предоставляется через KeyM.h и ожидает через StartType режим работы, подлежащий выполнению, а через Request Data и Request Data Length — дополнительные данные запроса, такие как, например, подпись.
Данные ответа возвращаются через выходной буфер Response Data. Параметр Response Data Length при этом действует как входной и выходной параметр: перед вызовом он определяет максимальное количество байтов, доступное в буфере, а после выполнения содержит фактически записанную длину данных ([SWS_KeyM_00050]).
Обработка ошибок и возвращаемые значения:
E_OK: операция запуска успешно выполнена; обновление ключей теперь разрешено.E_NOT_OK: операция запуска не принята.KEYM_E_PARAMETER_MISMATCH: входные параметры не соответствуют ожидаемым значениям.KEYM_E_KEY_CERT_SIZE_MISMATCH: переданный размер параметра не соответствует ожидаемому размеру.
Функция специфицирована как нереентерабельная (Non Reentrant) ([SWS_KeyM_00050]). Поскольку внутримодульные блокировки не описаны, вызывающей стороне, вероятно, придется обеспечить скоординированное, сериализованное выполнение. Вопрос Q-82276b712a8dd170 (открытый)
Этот текст был сгенерирован автоматически на основе AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_Prepare [SWS_KeyM_00051] 📄 PDF
Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is used to prepare a key update operation. The main intent is to provide information for the key operation to the key server. Other operations may start the negotiation for a common secret that is used further to derive key material. This function is only av ailable if Key MCrypto Key Prepare Function Enabled is set to TRUE.
Синхронная функция KeyM_Prepare служит для подготовки обновления ключей (Key Update Operation) и передает необходимую информацию на сервер ключей либо инициирует согласование общего секрета для формирования ключа [SWS_KeyM_00051]. Функция имеет идентификатор сервиса 0x05, объявлена через заголовочный файл KeyM.h и доступна исключительно в том случае, если параметр конфигурации Key MCrypto Key Prepare Function Enabled установлен в TRUE [SWS_KeyM_00051].
При вызове необходимо передать следующие буферы и указания длины [SWS_KeyM_00051]:
Request DataиRequest Data Length: входные данные и их длина для запроса [SWS_KeyM_00051].Response Data: указатель на буфер для приема выходных данных [SWS_KeyM_00051].Response Data Length: входной/выходной параметр, который перед вызовом указывает максимально доступный размер буфера, а при возврате содержит фактически записанное количество байтов [SWS_KeyM_00051].
Если вызов подтверждается значением E_OK, служба была принята и обрабатывается внутренне; окончательные результаты впоследствии предоставляются через callback [SWS_KeyM_00051]. Если прием завершается неудачно, функция возвращает E_NOT_OK при внутренних ошибках, KEYM_E_PARAMETER_MISMATCH при отклоняющихся значениях параметров или KEYM_E_KEY_CERT_SIZE_MISMATCH при неподходящих указаниях размера [SWS_KeyM_00051].
Поскольку KeyM_Prepare специфицирована как нереентерабельная (Non Reentrant), одновременные или вложенные вызовы недопустимы [SWS_KeyM_00051].
Этот текст был сгенерирован автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_Finalize [SWS_KeyM_00053] 📄 PDF
Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);
The function is used to finalize key update operations. It is typi cally used in conjunction with the Key M_
Функция KeyM_Finalize завершает процессы обновления для ключей и переводит операцию над ключами обратно в состояние покоя (режим Idle) [SWS_KeyM_00053]. Обычно она используется в сочетании с предшествующей операцией KeyM_Start. После вызова модуль не принимает дальнейших операций подготовки или обновления (Prepare/Update), пока через KeyM_Start не будет инициирован новый процесс [SWS_KeyM_00053]. Кроме того, обновленный ключевой материал сохраняется в энергонезависимой памяти и путем вызова Csm_KeySetValid переводится в действительное состояние [SWS_KeyM_00053].
Использование и параллелизм: KeyM_Finalize не является реентерабельной (Non Reentrant) и работает асинхронно [SWS_KeyM_00053]. Интерпретация: из-за отсутствия реентерабельности вызов, вероятно, обычно должен происходить в контексте задачи. Вопрос Q-895ebec2d0d2e635 (открытый) Интерфейс доступен только тогда, когда параметр конфигурации KeyMCryptoKeyStartFinalizeFunctionEnabled установлен в TRUE, и объявлен через KeyM.h [SWS_KeyM_00053].
Параметры и возвращаемые значения: через RequestDataPtr и RequestDataLength передаются данные, специфичные для запроса. Данные ответа предоставляются через ResponseDataPtr; ResponseMaxDataLength на входе служит размером буфера, а при синхронном возврате передает фактическое количество байтов [SWS_KeyM_00053]. Если операция принимается и обрабатывается внутренне, функция возвращает E_OK (результаты следуют асинхронно через callback), а ResponseMaxDataLength остается нетронутым [SWS_KeyM_00053].
Обработка ошибок: в случае ошибки KeyM_Finalize сигнализирует о сбое через специфические возвращаемые значения [SWS_KeyM_00053]:
E_NOT_OK: операция не принята из-за внутренней ошибки.KEYM_E_BUSY: KeyM занят другими заданиями; валидация пока не может быть выполнена.KEYM_E_PARAMETER_MISMATCH: параметры не соответствуют ожидаемому значению.KEYM_E_KEY_CERT_SIZE_MISMATCH: размер параметра не совпадает.
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_SetCertificate [SWS_KeyM_00057] 📄 PDF
Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data to the key managem ent module to temporarily store the certificate.
Использование
Синхронная функция KeyM_SetCertificate передает модулю управления ключами данные сертификата для временного сохранения сертификата [SWS_KeyM_00057]. В качестве входных параметров она ожидает идентификатор сертификата CertId (тип KeyM_CertificateIdType), а также указатель CertificateDataPtr (тип const KeyM_CertDataType*), который ссылается на структуру сертификата, подлежащую предоставлению [SWS_KeyM_00057]. Интерфейс объявлен через заголовочный файл KeyM.h и имеет идентификатор сервиса 0x0a [SWS_KeyM_00057].
Возвращаемые значения и обработка ошибок
Возвращаемое значение типа Std_ReturnType предоставляет информацию о принятии данных [SWS_KeyM_00057]:
E_OK: сертификат успешно принят [SWS_KeyM_00057].E_NOT_OK: не удалось установить сертификат [SWS_KeyM_00057].KEYM_E_PARAMETER_MISMATCH: переданные параметры не соответствуют ожидаемым значениям [SWS_KeyM_00057].KEYM_E_KEY_CERT_SIZE_MISMATCH: размер переданных данных сертификата отличается от ожидаемого размера [SWS_KeyM_00057].
Параллелизм и ограничения
Функция классифицируется как нереентерабельная (Non Reentrant) [SWS_KeyM_00057]. Поэтому параллельные вызовы должны быть синхронизированы или исключены на стороне вызывающего объекта. Поскольку спецификация явно предусматривает временное хранение, переданные данные сертификата, вероятно, сначала остаются в энергозависимой памяти модуля, прежде чем будет выполнено постоянное хранение или верификация. Вопрос Q-c35c4b02344d5bc9 (открытый)
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_GetCertificate [SWS_KeyM_00058] 📄 PDF
Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data
Использование
Синхронная функция KeyM_GetCertificate служит для предоставления данных сертификата для заданного идентификатора сертификата [SWS_KeyM_00058]. Вызывающая сторона передает через параметр CertId идентификатор требуемого сертификата, а через входной/выходной параметр CertificateDataPtr — указатель на структуру данных сертификата. Вызывающая сторона отвечает за предоставление буфера, на который указывает указатель в структуре [SWS_KeyM_00058]. Перед вызовом в структуре должна быть указана максимальная длина этого буфера; при успешном возврате (E_OK) поле длины содержит фактическую длину предоставленных данных сертификата [SWS_KeyM_00058].
Обработка ошибок
Функция сообщает об успехе или специфических ошибках через возвращаемое значение типа Std_ReturnType [SWS_KeyM_00058]:
E_OK: Данные сертификата доступны и успешно переданы.KEYM_E_PARAMETER_MISMATCH: переданный ID сертификата (CertId) недействителен.KEYM_E_KEY_CERT_SIZE_MISMATCH: Предоставленный буфер слишком мал для сертификата.KEYM_E_KEY_CERT_EMPTY: Данные сертификата отсутствуют, так как слот сертификата пуст.KEYM_E_KEY_CERT_READ_FAIL: Сертификат не может быть предоставлен, так как в доступе отказано.E_NOT_OK: Операция не была принята из-за внутренней ошибки.
Параллелизм и ограничения
Функция специфицирована как нереентерабельная (Non Reentrant) и доступна через заголовочный файл KeyM.h [SWS_KeyM_00058]. Поэтому вызывающие стороны должны гарантировать, что параллельные вызовы функции синхронизированы друг с другом.
Этот текст сгенерирован ИИ и служит в качестве ориентира. Определяющей является официальная спецификация AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_VerifyCertificates [SWS_KeyM_00059] 📄 PDF
Std_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);
This function verifies two certificates that are stored and parsed internally against each other. The certificat e referenced with Cert Id was signed by the certificate referenced with cert Upper Id. Only these two certificates are validated against each other.
Функция KeyM_VerifyCertificates служит для асинхронной взаимной проверки двух внутренне сохраненных и распарсенных сертификатов согласно [SWS_KeyM_00059]. При этом проверяется, подписан ли подчиненный сертификат, на который ссылается CertId, вышестоящим сертификатом, на который ссылается CertUpperId.
Поскольку служба определена как нереентерабельная (Non Reentrant), ее нельзя вызывать параллельно для перекрывающихся процессов [SWS_KeyM_00059]. Выполнение происходит асинхронно в фоновом режиме: возвращаемое значение E_OK сигнализирует лишь об успешном приеме запроса на проверку. Фактический результат проверки сообщается вызывающей стороне через сконфигурированную функцию обратного вызова KeyMCertificateVerifyCallbackNotificationFunc, если она корректно настроена [SWS_KeyM_00153].
Если запрос не принимается, функция возвращает специфические возвращаемые значения для обработки ошибок [SWS_KeyM_00059]:
KEYM_E_BUSY: Key Manager занят другими задачами; валидация в данный момент еще не может быть запущена.KEYM_E_PARAMETER_MISMATCH: как минимум один переданный ID сертификата недействителен.KEYM_E_KEY_CERT_EMPTY: один из указанных слотов сертификата пуст.KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: вышестоящий сертификат (CertUpperId) недействителен.E_NOT_OK: запрос был отклонен из-за внутренней ошибки.
Этот текст был сгенерирован ИИ и служит для технической ориентации на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_VerifyCertificate [SWS_KeyM_00060] 📄 PDF
Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);
Service KeyM_VerifyCertificate.
Функция KeyM_VerifyCertificate служит для асинхронной верификации сертификата, который ранее был предоставлен через KeyM_SetCertificate() [SWS_KeyM_00060]. Проверка выполняется на основе переданного идентификатора сертификата CertId относительно сертификатов с другими ID сертификатов, уже сохраненных в Key Manager [SWS_KeyM_00060]. Объявление доступно через заголовочный файл KeyM.h [SWS_KeyM_00060].
Семантика вызова и возвращаемые значения
Возвращаемое значение E_OK подтверждает, что запрос на верификацию успешно принят и операция выполняется в фоновом режиме [SWS_KeyM_00060]. Если запрос не может быть принят, ответ возвращается синхронно через специфические коды ошибок [SWS_KeyM_00060]:
E_NOT_OK: Операция отклонена из-за внутренней ошибки [SWS_KeyM_00060].KEYM_E_BUSY: Модуль KeyM в данный момент занят другими задачами, поэтому валидация пока не может быть выполнена [SWS_KeyM_00060].KEYM_E_PARAMETER_MISMATCH: переданныйCertIdнедействителен [SWS_KeyM_00060].KEYM_E_KEY_CERT_EMPTY: Как минимум один из требуемых слотов сертификатов пуст [SWS_KeyM_00060].KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: вышестоящий сертификат в цепочке доверия недействителен [SWS_KeyM_00060].
Конкурентность и асинхронность
Поскольку KeyM_VerifyCertificate специфицирована как нереентерабельная (Non Reentrant), вызывающая сторона должна обеспечить отсутствие одновременных или прерывающих вызовов [SWS_KeyM_00060]. После успешного принятия запроса на проверку (возврат E_OK) результат фоновой операции передается в сконфигурированную функцию обратного вызова KeyMCertificateVerifyCallbackNotificationFunc, если для нее задано допустимое имя функции [SWS_KeyM_00153].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_VerifyCertificateChain [SWS_KeyM_00061] 📄 PDF
Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);
Service KeyM_VerifyCertificateChain.
Функция KeyM_VerifyCertificateChain служит для асинхронной верификации сертификата по цепочке переданных сертификатов [SWS_KeyM_00061]. В качестве параметров передаются идентификатор последнего сертификата цепочки (CertId), указатель на массив сертификатов, отсортированный в соответствии с порядком PKI (certChainData), а также количество сертификатов (NumberOfCertificates) [SWS_KeyM_00061]. Перед вызовом проверяемый сертификат должен быть внесен через KeyM_SetCertificate(), а корневой сертификат должен либо содержаться в списке, либо уже быть сопоставлен с одним из других сертификатов [SWS_KeyM_00061].
Функция является нереентерабельной (Non Reentrant) и предоставляется через заголовочный файл KeyM.h [SWS_KeyM_00061]. Следующие синхронные возвращаемые значения показывают статус приема запроса [SWS_KeyM_00061]:
E_OK: запрос на проверку принят и выполняется в фоновом режиме [SWS_KeyM_00061].E_NOT_OK: запрос был отклонен из-за внутренней ошибки [SWS_KeyM_00061].KEYM_E_BUSY: модуль занят другими запросами; валидация пока не может быть выполнена [SWS_KeyM_00061].KEYM_E_PARAMETER_MISMATCH: переданный ID сертификата недействителен [SWS_KeyM_00061].KEYM_E_KEY_CERT_EMPTY: один из требуемых слотов сертификата пуст [SWS_KeyM_00061].KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: вышестоящий сертификат в цепочке доверия недействителен [SWS_KeyM_00061].
Если запрос был принят со значением E_OK, обработка выполняется в фоновом режиме. Если KeyMCertificateVerifyCallbackNotificationFunc сконфигурирован с допустимой функцией, KeyM возвращает окончательный результат операции верификации вызывающему приложению через эту функцию обратного вызова [SWS_KeyM_00061] [SWS_KeyM_00153].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertElementGet [SWS_KeyM_00063] 📄 PDF
Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGet.
Использование и контекст вызова
Синхронная функция KeyM_CertElementGet служит для считывания данных определенного элемента сертификата из слота сертификата в буфер, предоставленный вызывающей стороной [SWS_KeyM_00063]. Она используется, когда идентификатору объекта (OID), сохраненному в конфигурации сертификата, сопоставлен ровно один отдельный элемент [SWS_KeyM_00063].
Вызывающая сторона передает идентификатор сертификата CertId, идентификатор элемента CertElementId, а также указатель на целевой буфер CertElementData [SWS_KeyM_00063]. Параметр CertElementDataLength служит комбинированным входным и выходным значением: перед вызовом он должен содержать максимальный размер буфера. В случае успеха (E_OK) он перезаписывается фактической длиной записанных данных; в случае ошибки функция сбрасывает указанное значение в ноль [SWS_KeyM_00063].
Обработка ошибок и возвращаемые значения
Функция сообщает о статусе выполнения через следующие возвращаемые значения [SWS_KeyM_00063]:
E_OK: Элемент найден и успешно скопирован в буфер [SWS_KeyM_00063].E_NOT_OK: Данные элемента не найдены [SWS_KeyM_00063].KEYM_E_PARAMETER_MISMATCH: НедопустимыйCertIdилиCertElementId[SWS_KeyM_00063].KEYM_E_KEY_CERT_SIZE_MISMATCH: Предоставленный буфер слишком мал для данных элемента [SWS_KeyM_00063].KEYM_E_KEY_CERT_EMPTY: Для указанного слота данные отсутствуют, слот пуст [SWS_KeyM_00063].KEYM_E_KEY_CERT_INVALID: Сертификат недействителен или еще не был верифицирован [SWS_KeyM_00063].
Параллелизм
Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_KeyM_00063]. При конкурентных вызовах из различных задач или контекстов, следовательно, вероятно, потребуется синхронизация на стороне вызывающей стороны. Вопрос Q-238a3e53ce0e3a45 (открытый)
Этот текст был создан ИИ. Все сведения основаны исключительно на стандарте AUTOSAR версии R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertificateElementGetByIndex [SWS_KeyM_91014] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);
Service KeyM_CertificateElementGetByIndex.
Синхронная функция KeyM_CertificateElementGetByIndex служит для целенаправленного считывания данных элемента сертификата на основе отсчитываемого от нуля индекса (0..N), если для одного типа элемента имеется несколько записей [SWS_KeyM_91014]. Таким образом, она представляет собой альтернативу прямого доступа последовательной итерации.
Использование и параметры
Вызывающая сторона передает идентификатор сертификата CertId, идентификатор элемента CertElementId, а также требуемый Index [SWS_KeyM_91014]. Кроме того, вызывающая сторона должна выделить память для CertElementDataPtr и передать максимально доступный размер буфера через CertElementDataLengthPtr. При успешном возврате CertElementDataLengthPtr перезаписывается фактической длиной скопированных данных [SWS_KeyM_91014].
Возвращаемые значения и обработка ошибок
Функция сигнализирует о результате с помощью специфических возвращаемых значений Std_ReturnType [SWS_KeyM_91014]:
E_OK: элемент найден и успешно скопирован в целевой буфер.KEYM_E_PARAMETER_MISMATCH: недействительныйCertId, недействительныйCertElementIdили переданныйIndexнаходится вне допустимого диапазона.KEYM_E_KEY_CERT_SIZE_MISMATCH: предоставленный буфер слишком мал для элемента сертификата.KEYM_E_KEY_CERT_EMPTY: указанный сертификат не содержит данных или пуст.KEYM_E_CERT_INVALID: сертификат недействителен или верификация завершилась неудачно.E_NOT_OK: считывание данных элемента не удалось.
Параллелизм
Согласно спецификации сервис классифицирован как нерентабельный (Non Reentrant) [SWS_KeyM_91014]. Поэтому вызовы не должны выполняться параллельно без защиты.
Это указание по использованию было автоматически сгенерировано ИИ-ассистентом на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertificateElementGetCount [SWS_KeyM_91015] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);
This function provides the total number of data elements that a re available for the specified certificate element. Typically, only one data element is available. But in some cases, several data elements can be assigned to one certificate element in a row. This function retrieves the total number of elements. The indiv idual data elements can then accessed with Key M_ Certificate Element Get By Index(). It is similar to the functions Key M_ Cert Element Get First/ Key M_ Cert Element Get Next to retrieve a group of data elements of one certificate element. AUTOSAR CP R20 - of
Синхронный интерфейс KeyM_CertificateElementGetCount определяет общее количество элементов данных, сохраненных для специфического элемента сертификата, и записывает результат в буфер CountPtr [SWS_KeyM_91015].
Использование и параметры
Функция объявляется через заголовочный файл KeyM.h и имеет идентификатор сервиса (Service-ID) 0x1c [SWS_KeyM_91015]. Она обрабатывает следующие параметры:
CertId(IN): уникальный идентификатор запрашиваемого сертификата ([SWS_KeyM_91015]).CertElementId(IN): определяет конкретный элемент внутри сертификата ([SWS_KeyM_91015]).CountPtr(OUT): указатель на буфер типаuint16, в который копируется количество доступных элементов данных ([SWS_KeyM_91015]).
Обработка ошибок и возвращаемые значения
Возвращаемое значение типа Std_ReturnType предоставляет информацию о результате выполнения [SWS_KeyM_91015]:
E_OK: значение счетчика успешно записано в буфер ([SWS_KeyM_91015]).E_NOT_OK: значение счетчика не удалось предоставить ([SWS_KeyM_91015]).KEYM_E_PARAMETER_MISMATCH: ID сертификата (CertId) или ID элемента (CertElementId) недействителен либо находится вне допустимого диапазона ([SWS_KeyM_91015]).
Параллелизм и взаимодействие
Выполнение является синхронным, однако классифицировано как нерентабельное (Non Reentrant), поэтому одновременные вызовы должны координироваться [SWS_KeyM_91015]. Хотя элементам сертификата обычно присвоен только один отдельный элемент данных, в определенных случаях подряд может присутствовать несколько элементов данных [SWS_KeyM_91015]. Определенное общее количество служит основой для последующего целенаправленного считывания отдельных элементов через KeyM_CertificateElementGetByIndex(), что функционально аналогично итеративному подходу с использованием KeyM_CertElementGetFirst и KeyM_CertElementGetNext [SWS_KeyM_91015].
Это указание по использованию основано на спецификации AUTOSAR SWS_KeyM_91015.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertElementGetFirst [SWS_KeyM_00064] 📄 PDF
Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetFirst.
Синхронная функция KeyM_CertElementGetFirst служит согласно [SWS_KeyM_00064] для запуска итеративного извлечения данных сертификата. Она считывает самый верхний элемент элемента сертификата, адресованного через CertElementId, из сертификата CertId и инициализирует конструкцию итератора CertElementIterator для последующих вызовов KeyM_CertElementGetNext().
При вызове необходимо соблюдать следующие требования к параметрам и памяти согласно [SWS_KeyM_00064]:
CertElementIterator: Указатель на структуру, выделенную и управляемую вызывающей стороной; приложению запрещается уничтожать или изменять ее до тех пор, пока не будут получены все данные черезKeyM_CertElementGetNext().CertElementData: Указатель на выходной буфер, предоставленный вызывающей стороной, в который при успешном обнаружении (E_OK) копируются полезные данные.CertElementDataLength: Передает в качестве входного значения максимальную длину буфера данных и перезаписывается фактически записанной длиной данных при возвратеE_OK.
Что касается конкурентности, сервис согласно [SWS_KeyM_00064] является реентерабельным, однако применительно ровно к одному итератору («Reentrant for one iterator»).
В случае ошибки функция дифференцирует состояние с помощью специфических возвращаемых значений согласно [SWS_KeyM_00064]: E_NOT_OK указывает на то, что данные элемента не найдены (после этого итератор нельзя использовать для дальнейших вызовов). KEYM_E_PARAMETER_MISMATCH сигнализирует о недопустимом ID сертификата или элемента, KEYM_E_KEY_CERT_SIZE_MISMATCH — о слишком малом буфере данных, KEYM_E_KEY_CERT_EMPTY — о пустом сертификате без доступных данных, а KEYM_E_CERT_INVALID — о недействительном или неуспешно верифицированном сертификате.
Это указание по использованию было создано автоматически на основе данных спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_CertElementGetNext [SWS_KeyM_00065] 📄 PDF
Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetNext.
Синхронная функция KeyM_CertElementGetNext (идентификатор сервиса 0x11, предоставляемый через KeyM.h) служит для непрерывного считывания дальнейших данных из элемента сертификата, если в нем последовательно сохранено несколько наборов данных [SWS_KeyM_00065]. В качестве обязательного условия вызова спецификация требует, чтобы предварительно хотя бы один раз была вызвана функция KeyM_CertElementGetFirst() [SWS_KeyM_00065].
Области памяти для всех параметров должны предоставляться вызывающим приложением [SWS_KeyM_00065]:
CertElementIterator: Указатель на выделенную структуру итератора, которую приложению запрещается изменять или уничтожать во время обхода до тех пор, пока все элементы не будут полностью считаны [SWS_KeyM_00065].CertElementData: Указатель на выходной буфер, в который функция копирует полезные данные при успешном выполнении [SWS_KeyM_00065].CertElementDataLength: Передает при вызове максимальную емкость буфера данных и при успешном возврате перезаписывается фактической длиной скопированных данных [SWS_KeyM_00065].
Если вызов возвращает E_OK, то следующий элемент найден, записан в буфер, а итератор продвинут соответствующим образом [SWS_KeyM_00065]. При E_NOT_OK дальнейшие данные элемента найти не удалось; в этом случае итератор больше нельзя использовать для последующих вызовов [SWS_KeyM_00065]. Ошибочные ситуации передаются через специфические возвращаемые значения: KEYM_E_KEY_CERT_SIZE_MISMATCH указывает на недостаточный размер буфера данных, KEYM_E_PARAMETER_MISMATCH — на недопустимый ID сертификата или элемента, KEYM_E_KEY_CERT_EMPTY — на пустой сертификат, а KEYM_E_CERT_INVALID — на недействительный или неуспешно верифицированный сертификат [SWS_KeyM_00065].
Что касается конкурентности, синхронная функция специфицирована как реентерабельная для каждого отдельного итератора [SWS_KeyM_00065].
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertGetStatus [SWS_KeyM_00066] 📄 PDF
Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);
This function provides the sta tus of a certificate.
Синхронная функция KeyM_CertGetStatus служит для запроса статуса сертификата и его предоставления через выходной параметр [SWS_KeyM_00066]. Объявление функции доступно через заголовочный файл KeyM.h, а сервису назначен шестнадцатеричный идентификатор сервиса 0x12 [SWS_KeyM_00066].
Для вызова используются следующие параметры [SWS_KeyM_00066]:
CertId(IN): Содержит идентификатор опрашиваемого сертификата и передается с типом данныхKeyM_CertificateIdType[SWS_KeyM_00066].Status(OUT): Указатель на область памяти типаKeyM_CertificateStatusType, в которую функция записывает определенный статус сертификата [SWS_KeyM_00066].
Возвращаемое значение типа Std_ReturnType информирует об исходе запроса статуса [SWS_KeyM_00066]:
E_OK: Статус сертификата успешно определен и предоставлен [SWS_KeyM_00066].E_NOT_OK: Предоставление статуса в данный момент невозможно [SWS_KeyM_00066]. Это происходит, например, при передаче недопустимого ID сертификата, задокументированного кодом ошибкиKEYM_E_PARAMETER_MISMATCH[SWS_KeyM_00066].
В отношении выполнения и конкурентности интерфейс ведет себя чисто синхронно и специфицирован как нереентерабельный (Non Reentrant) [SWS_KeyM_00066]. Одновременные вызовы из нескольких контекстов выполнения, соответственно, недопустимы. Дополнительные входные и выходные параметры для этого интерфейса не предусмотрены [SWS_KeyM_00066].
Данное указание по использованию было сгенерировано ИИ на основе спецификации.
Руководство разработчика реализации в подготовке (сложность I2)
функция KeyM_MainFunction [SWS_KeyM_00074] 📄 PDF
void KeyM_MainFunction (void);
Function is called periodically according the specified time interval.
Функция KeyM_MainFunction служит периодической главной функцией для модуля Classic AUTOSAR KeyM [SWS_KeyM_00074]. Согласно спецификации функция имеет Service-ID 0x19 в шестнадцатеричном представлении, а также сигнатуру void KeyM_MainFunction (void) [SWS_KeyM_00074]. Таким образом, вызывающие компоненты не передают входных параметров и не получают возвращаемого значения [SWS_KeyM_00074].
Для управления временным поведением установлено, что функцию необходимо вызывать периодически в соответствии с определенным временным интервалом [SWS_KeyM_00074]. В качестве файла интерфейса объявлен заголовочный файл SchM_KeyM.h [SWS_KeyM_00074]. Из этого следует интерпретация: благодаря предоставлению через SchM_KeyM.h регулярный вызов функции, вероятно, происходит в контексте планировщика базового программного обеспечения (SchM) [SWS_KeyM_00074]. Вопрос Q-761ff71812bda3c2 (открытый) Кроме того, циклический запуск, предположительно, служит для внутренней обработки зависящих от времени процессов в модуле KeyM.
Что касается обработки и поведения при ошибках, то для этой службы в элементе спецификации не задокументированы коды возврата, константы ошибок или сообщения в DET или DEM [SWS_KeyM_00074]. Поскольку входные параметры отсутствуют, проверка передаваемых значений при вызове также не требуется [SWS_KeyM_00074].
Это указание по использованию было автоматически сгенерировано системой ИИ на основе спецификации для AUTOSAR Release R20-11.
функция KeyM_MainBackgroundFunction [SWS_KeyM_00075] 📄 PDF
void KeyM_MainBackgroundFunction (void);
Function is called from a pre - emptive operating system when no other task operation is needed. Can be used for calling time consuming synchronous functions such as Key M_ KH_ Update().
Использование и контекст вызова
Функция KeyM_MainBackgroundFunction имеет сигнатуру void KeyM_MainBackgroundFunction(void) и специфицирована под Service-ID 0x1a [SWS_KeyM_00075]. Она не принимает входных параметров и не возвращает вызывающей стороне никакого значения [SWS_KeyM_00075]. Для интеграции интерфейс объявляется и предоставляется через заголовочный файл SchM_KeyM.h [SWS_KeyM_00075].
Вызов выполняется вытесняющей операционной системой в фоновом режиме, как только отсутствует какая-либо иная задача для обработки [SWS_KeyM_00075]. Основное назначение этой функции заключается в предоставлении некритичного фонового контекста для трудоемких синхронных операций модуля KeyM, как, например, описано для выполнения KeyM_KH_Update() [SWS_KeyM_00075].
Параллелизм и обработка ошибок
Поскольку функция выполняется в фоновом контексте вытесняющей операционной системы, она, вероятно, может быть в любой момент прервана любыми обычными задачами с более высоким приоритетом. Вопрос Q-a2394a51ba63467f (открытый) Для этой фоновой службы стандарт не определяет ни конкретных кодов ошибок, ни уведомлений для DET или DEM [SWS_KeyM_00075]. Кроме того, в заданном наборе данных не предписывается особых свойств реентерабельности или фиксированных условий последовательности относительно других функций модуля [SWS_KeyM_00075].
Этот текст был создан ИИ и основан исключительно на данных спецификации из полезной нагрузки.
функция KeyM_KH_Start [SWS_KeyM_00067] 📄 PDF
Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key
Синхронная и нереентерабельная функция KeyM_KH_Start объявляется через заголовочный файл KeyM_Externals.h [SWS_KeyM_00067]. Если параметры конфигурации KeyMCryptoKeyStartFinalizeFunctionEnabled и KeyMCryptoKeyHandlerStartFinalizeEnabled установлены в TRUE, она выполняется непосредственно при вызове KeyM_Start [SWS_KeyM_00067].
Через параметр StartType задается режим выполнения операции с ключом. С помощью RequestData и RequestDataLength функция принимает сопутствующие данные, специфичные для запроса, такие как, например, подписи. Вызывающая сторона передает через входной/выходной параметр ResponseDataLength максимальный объем байтов, доступный в буфере ResponseData; в случае успеха функция сообщает через него фактически записанное количество байтов ответа [SWS_KeyM_00067].
В качестве возвращаемого значения функция возвращает статус типа Std_ReturnType [SWS_KeyM_00067]:
E_OK: Операция запуска прошла успешно. Только благодаря этому возвращаемому значению Key Manager переходит в активное состояние, что делает допустимыми последующие обновления ключей (Key Updates).E_NOT_OK: операция запуска не принята.KEYM_E_PARAMETER_MISMATCH: переданный параметр не совпадает с ожидаемым значением.KEYM_E_KEY_CERT_SIZE_MISMATCH: Указанный размер параметра не соответствует ожидаемому размеру.
Поскольку KeyM_KH_Start определена как нереентерабельная, вызовы для параллельных операций с ключами не должны происходить конкурентно [SWS_KeyM_00067].
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_KH_Prepare [SWS_KeyM_00068] 📄 PDF
Std_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);
If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both set to TRUE, then this function w ill be called immediately when Key M_ Prepare gets called. The function takes over the task to prepare a key management operation. The response data will be passed on as is to the caller of Key_ Prepare.
Использование и контекст вызова
Функция KeyM_KH_Prepare объявляется через заголовочный файл KeyM_Externals.h и служит для подготовки операции управления ключами [SWS_KeyM_00068]. Она инициируется непосредственно при вызове KeyM_Prepare, если оба параметра конфигурации KeyMCryptoKeyPrepareFunctionEnabled и KeyMCryptoKeyHandlerPrepareEnabled установлены соответственно в TRUE [SWS_KeyM_00068]. Выполнение происходит синхронно и специфицировано как нереентерабельное [SWS_KeyM_00068].
Передача данных осуществляется через четыре параметра [SWS_KeyM_00068]:
RequestData: Входные данные, передаваемые вместе с запросом [SWS_KeyM_00068].RequestDataLength: Длина данных в массивеRequestData[SWS_KeyM_00068].ResponseDataPtr: Указатель на буфер для данных ответа, возвращаемых функцией, которые без изменений перенаправляются вызывающей сторонеKey_Prepare[SWS_KeyM_00068].ResponseDataLength: Входной и выходной параметр; передает при вызове максимальное количество байтов, доступное в буфере, и возвращает после завершения фактически записанный объем байтов [SWS_KeyM_00068].
Возвращаемые значения и обработка ошибок
Функция возвращает в качестве результата значение статуса Std_ReturnType [SWS_KeyM_00068]:
E_OK: Сервис принят и обрабатывается внутренне; результаты передаются через callback [SWS_KeyM_00068].E_NOT_OK: Сервис не принят из-за внутренней ошибки [SWS_KeyM_00068].KEYM_E_PARAMETER_MISMATCH: параметр не соответствует ожидаемому значению [SWS_KeyM_00068].KEYM_E_KEY_CERT_SIZE_MISMATCH: Размер параметра не подходит [SWS_KeyM_00068].
Этот текст был создан ИИ. Все сведения основаны исключительно на стандарте AUTOSAR версии R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_KH_Finalize [SWS_KeyM_00070] 📄 PDF
Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this function will be called immediately when Key M_
Использование и делегирование
Функция KeyM_KH_Finalize объявляется через заголовочный файл KeyM_Externals.h и выступает в качестве пользовательского обработчика ключей (Key-Handler) [SWS_KeyM_00070]. Если в конфигурации как KeyMCryptoKeyStartFinalizeFunctionEnabled, так и KeyMCryptoKeyHandlerStartFinalizeEnabled установлены в TRUE, KeyM_Finalize() не выполняет самостоятельную операцию, а непосредственно делегирует обработку этой функции-обработчику [SWS_KeyM_00070].
Контекст вызова и параметры
Вызов KeyM_KH_Finalize выполняется синхронно, однако классифицирован как нереентерабельный (Non Reentrant) и требует защищенного контекста вызова [SWS_KeyM_00070]. Передача данных осуществляется через следующие параметры:
RequestDataиRequestDataLength: Указатель на входные данные, переданные с запросом, а также длина массива данных [SWS_KeyM_00070].ResponseData: Буфер для выходных данных, предоставляемых функцией [SWS_KeyM_00070].ResponseDataLength: Параметр In/Out, который при вызове задает максимальный объем байтов, доступный в буфере ответа, а при возврате содержит фактически записанное количество байтов [SWS_KeyM_00070].
Возвращаемые значения и обработка ошибок
Результат операции возвращается через Std_ReturnType [SWS_KeyM_00070]:
E_OK: Операция принята и обрабатывается внутренне; результаты предоставляются через callback [SWS_KeyM_00070]. Интерпретация: хотя интерфейс функции определен как синхронный, фактическая обработка, вероятно, продолжается в фоновом режиме. Вопрос Q-02c4aac040570c03 (открытый)E_NOT_OK: Операция не была принята из-за внутренней ошибки [SWS_KeyM_00070].KEYM_E_BUSY: Key Manager занят другими задачами, поэтому валидация в настоящее время не может быть выполнена [SWS_KeyM_00070].KEYM_E_PARAMETER_MISMATCH: параметр не соответствует ожидаемому значению [SWS_KeyM_00070].KEYM_E_KEY_CERT_SIZE_MISMATCH: Переданный размер параметра не соответствует заданным требованиям [SWS_KeyM_00070].
Этот текст был сгенерирован ИИ и служит в качестве справочного руководства. Определяющей является спецификация AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CryptoKeyUpdateCallbackNotification [SWS_KeyM_00077] 📄 PDF
void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key update operation has been finished. This function is used by the key manager.
Функция обратного вызова KeyM_CryptoKeyUpdateCallbackNotification() уведомляет приложение о том, что обновление криптографического ключа завершено ([SWS_KeyM_00077]). Функция предоставляется через KeyM_Externals.h, является синхронной и реентерабельной и не имеет возвращаемого значения ([SWS_KeyM_00077]).
Параметры
Result: Передает информацию о результате операции обновления через типKeyM_ResultType([SWS_KeyM_00077], [SWS_KeyM_00156]).ResultDataLength: Указывает длину результирующих данных этой операции ([SWS_KeyM_00077], [SWS_KeyM_00156]).ResultDataPtr: Указатель на данные результата ([SWS_KeyM_00077]).
Взаимодействие и управление буферами
Вызов KeyM_CryptoKeyUpdateCallbackNotification() выполняется модулем KeyM_Update(), как только обработчик ключей возвращает управление и предоставляет тип операции KEYM_KH_UPDATE_FINISH ([SWS_KeyM_00093]). При этом данные результата из KeyM_KH_Update::ResultDataPtr копируются в буфер, который был передан при вызове KeyM_Update(), и принимается возвращаемое значение обработчика ключей ([SWS_KeyM_00093]).
Если KeyM_Update() принял операцию со значением E_OK, вызывающей функции ни в коем случае нельзя изменять буфер ResultDataPtr до тех пор, пока не поступит callback-уведомление KeyM_CryptoKeyUpdateCallbackNotification() ([SWS_KeyM_00156]). Тот же указатель на буфер передается в обратном вызове как ResultDataPtr со скопированными в него результатами операции ([SWS_KeyM_00156]).
Данное указание по использованию основано на спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CryptoKeyFinalizeCallbackNotification [SWS_KeyM_00079] 📄 PDF
void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Service KeyM_CryptoKeyFinalizeCallbackNotification.
Функция обратного вызова KeyM_CryptoKeyFinalizeCallbackNotification уведомляет приложение о завершении операции финализации ключа [SWS_KeyM_00079]. Она специфицирована как синхронная, а также реентерабельная, не имеет возвращаемого значения и объявляется через заголовочный файл KeyM_Externals.h [SWS_KeyM_00079].
Интерфейс при вызове передает приложению следующие параметры [SWS_KeyM_00079]:
Result(типKeyM_ResultType): Передает результат и статусную информацию завершенной операции [SWS_KeyM_00079].Result Data Length(типuint16): Указывает длину результирующих данных этой операции [SWS_KeyM_00079].Result Data Ptr(типconst uint8*): Указатель на буфер с данными результата, который ранее был предоставлен сервисной функции [SWS_KeyM_00079].
Что касается конфигурации, функция обратного вызова вызывается и требуется только в том случае, если параметр конфигурации KeyMCryptoKeyStartFinalizeFunctionEnabled установлен в TRUE [SWS_KeyM_00079]. Специфические сообщения об ошибках DET или DEM для этой функции обратного вызова не определены. Предположительно, приложение реализует этот callback для приема асинхронных результатов ранее инициированной финализации ключа. Вопрос Q-6d9e4e062b008832 (открытый)
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CryptoKeyVerifyCallbackNotification [SWS_KeyM_00081] 📄 PDF
void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key verify operation has been finished. This function is used by the key manager.
Использование и параметры
Функция обратного вызова KeyM_CryptoKeyVerifyCallbackNotification уведомляет приложение о завершении операции верификации криптографического ключа модулем KeyM [SWS_KeyM_00081]. Интерпретация: поскольку данный элемент согласно спецификации доступен через заголовочный файл KeyM_Externals.h и служит для уведомления приложения, его реализация, вероятно, выполняется использующим программным компонентом, тогда как вызов осуществляется менеджером ключей [SWS_KeyM_00081]. Вопрос Q-e88e332a7d2cac40 (открытый)
Для вызова определены четыре исключительно входных параметра [SWS_KeyM_00081]:
Result(KeyM_ResultType): передает результат завершенной верификации [SWS_KeyM_00081].KeyId(uint32): указывает идентификатор ключа, для которого была запущена верификация [SWS_KeyM_00081].ResultDataLength(uint16): содержит длину полученных результирующих данных, если таковые имеются [SWS_KeyM_00081].ResultDataPtr(const uint8*): указывает на данные результата верификации [SWS_KeyM_00081].
Параллелизм и ограничения
Функция не имеет возвращаемого значения (void), а также выходных или входных/выходных параметров [SWS_KeyM_00081]. Вызов является синхронным и рентабельным (reentrant) [SWS_KeyM_00081]. Специфические коды ошибок, а также сообщения DET или DEM для этого обратного вызова не специфицированы; информация о состоянии и ошибках передается приложению исключительно через параметр Result [SWS_KeyM_00081].
Этот текст был создан ИИ на основе спецификации.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_ServiceCertificateCallbackNotification [SWS_KeyM_00147] 📄 PDF
void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that the certificate service operation has been finished. This function is used by the certificate submodule. Thi s callback is only provided if Key MService Certificate Function Enabled is set to TRUE. The function name is configurable by Key MService Certificate Callback Notification Func.
Использование и семантика
Функция обратного вызова KeyM_ServiceCertificateCallbackNotification вызывается субмодулем сертификатов KeyM для уведомления приложения о завершении операции службы сертификатов [SWS_KeyM_00147]. Предшествующая операция с сертификатом выполняется асинхронно и по своему завершению выполняет этот обратный вызов для передачи результатов приложению [SWS_KeyM_00149].
Через параметры функции передаются все релевантные данные результата [SWS_KeyM_00147]:
CertId: идентификатор сертификата, для которого была инициирована операция.Result: типKeyM_ResultTypeсо статусом или результатом операции.ResultDataLength: длина данных результата, если таковые имеются.ResultDataPtr: указатель на данные результата.
Сама функция не возвращает значения (void) и обладает синхронной семантикой выполнения [SWS_KeyM_00147].
Конфигурация и ограничения
Обратный вызов предоставляется через заголовочный файл KeyM_Externals.h, однако доступен только в том случае, если параметр конфигурации KeyMServiceCertificateFunctionEnabled установлен в TRUE [SWS_KeyM_00147]. Фактическое имя функции уведомления настраивается с помощью параметра конфигурации KeyMServiceCertificateCallbackNotificationFunc [SWS_KeyM_00147].
Параллелизм и обработка ошибок
Согласно спецификации, функция классифицирована как реентерабельная [SWS_KeyM_00147]. Состояния ошибки или успешного выполнения предшествующей асинхронной операции сигнализируются через переданный параметр Result; специфические сообщения DET или DEM для этого интерфейса обратного вызова в полезной нагрузке не определены [SWS_KeyM_00147].
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция KeyM_CertificateVerifyCallbackNotification [SWS_KeyM_00073] 📄 PDF
Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);
Notifies the application that a certificate verification has been finished. The function name is configurable by Key MCertificate Verify Callback Notification Func. Availabl e via Key M_ Externals.h
Использование
Функция обратного вызова KeyM_CertificateVerifyCallbackNotification служит для уведомления приложения о завершении верификации сертификата [SWS_KeyM_00073]. Объявление доступно через заголовочный файл KeyM_Externals.h, при этом имя функции можно сконфигурировать через параметр конфигурации KeyMCertificateVerifyCallbackNotificationFunc [SWS_KeyM_00073].
При вызове передаются два входных параметра [SWS_KeyM_00073]:
CertId(типKeyM_CertificateIdType): Идентификатор верифицированного сертификата [SWS_KeyM_00073].Result(типKeyM_CertificateStatusType): Содержит информацию о результате операции верификации [SWS_KeyM_00073].
Функция возвращает в качестве значения статуса типа Std_ReturnType значение E_OK [SWS_KeyM_00073].
Выполнение и обработка ошибок
Выполнение уведомления определено как синхронное и реентерабельное [SWS_KeyM_00073]. Специфические коды ошибок, отклоняющиеся возвращаемые значения или сообщения в DET или DEM для этого callback не предусмотрены [SWS_KeyM_00073]. Интерпретация: реализация на стороне приложения, вероятно, должна быть потокобезопасной, чтобы обрабатывать одновременные вызовы для различных сертификатов без побочных эффектов. Вопрос Q-6bf5313c425fe1a8 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
тип KeyM_ConfigType [SWS_KeyM_00157] 📄 PDF
This structure is the base type to initialize the Key Manager module. A pointer to an instance of this structure will be used in the initialization of the Key Manager module.
тип KeyM_KH_UpdateOperationType [SWS_KeyM_00055] 📄 PDF
Specifies the type of key handler update operation that was performed in the callback.
тип KeyM_CertElementIteratorType [SWS_KeyM_00042] 📄 PDF
This structure is used to iterate through a number of elements of a certificate.
Использование
Тип данных KeyM_CertElementIteratorType согласно [SWS_KeyM_00042] определен как структура (Structure) и предоставляется через заголовочный файл KeyM.h. Согласно спецификации данный тип служит для итерации по набору элементов сертификата ([SWS_KeyM_00042]). Поскольку конкретное содержимое структуры данных явно определено как зависящее от реализации ([SWS_KeyM_00042]), пользователям, вероятно, следует рассматривать этот тип как непрозрачное состояние итерации и не обращаться к внутренним полям структуры напрямую. Вопрос Q-81b5deb7dcdf2812 (открытый)
Обращение и ограничения
Из спецификации следуют следующие практические рамочные условия использования:
- Зависящая от реализации структура: поскольку поля
KeyM_CertElementIteratorTypeреализуются специфично для конкретного поставщика ([SWS_KeyM_00042]), внутреннее размещение в памяти зависит от конкретной реализации BSW. - Управление состоянием: Интерпретация: экземпляр структуры, вероятно, должен выделяться вызывающей стороной в качестве контекста итератора и передаваться в соответствующие функции обхода элементов сертификата для отслеживания хода проверки или извлечения полей сертификата. Вопрос Q-5ddb438001abe656 (открытый)
- Параллелизм: вероятно, экземпляр итератора нельзя использовать параллельно из нескольких задач без внешней синхронизации, если выполняются одновременные обращения к одному и тому же сертификату. Вопрос Q-6b4b8b1cdc35f021 (открытый)
Этот текст был создан ИИ. Он основан исключительно на данных спецификации из AUTOSAR Classic R20-11.
тип KeyM_CryptoKeyIdType [SWS_KeyM_00302] 📄 PDF
Crypto key handle.
тип KeyM_CertDataPointerType [SWS_KeyM_91011] 📄 PDF
Byte - pointer to the data of the certificate
тип KeyM_StartType [SWS_KeyM_00038] 📄 PDF
This type specifies in which mode the key operation will start. The OEM production mode provides higher privileges compared to workshop mode.
тип KeyM_CertElementIdType [SWS_KeyM_00300] 📄 PDF
Certificate Element handle.
тип KeyM_CertificateIdType [SWS_KeyM_00301] 📄 PDF
Certificate handle.
тип KeyM_ServiceCertificateType [SWS_KeyM_00039] 📄 PDF
This type specifies the requested service operation and what information is provided with this function.
Тип перечисления KeyM_ServiceCertificateType предоставляется через заголовочный файл Rte_KeyM_Type.h и определяет запрошенную Key-сервером сервисную операцию сертификата, а также характер информации, передаваемой с функцией [SWS_KeyM_00039]. Объявление в заголовочном файле RTE, по-видимому, указывает на то, что этот тип преимущественно находит применение при обмене данными между программными компонентами и модулем Key Manager. Вопрос Q-37ed693ea3eda646 (открытый)
Для управления сертификатами определены следующие стандартизированные коды операций [SWS_KeyM_00039]:
KEYM_SERVICE_CERT_REQUEST_CSR(0x01): Key-сервер запрашивает у Key-клиента генерацию сертификата или запроса на подпись сертификата (CSR) [SWS_KeyM_00039].KEYM_SERVICE_CERT_UPDATE_SIGNED_CSR(0x02): сервер возвращает ранее полученный сертификат, к настоящему моменту подписанный центром сертификации (CA) [SWS_KeyM_00039].KEYM_SERVICE_CERT_SET_ROOT(0x03) иKEYM_SERVICE_CERT_UPDATE_ROOT(0x04): создание нового или обновление существующего корневого сертификата [SWS_KeyM_00039].KEYM_SERVICE_CERT_SET_INTERMEDIATE(0x05) иKEYM_SERVICE_CERT_UPDATE_INTERMEDIATE(0x06): добавление или обновление промежуточного сертификата (сертификата CA) [SWS_KeyM_00039].KEYM_SERVICE_CERT_UPDATE_CRL(0x07): предоставление или обновление списка отзыва сертификатов (CRL) [SWS_KeyM_00039].
В качестве существенного предварительного условия KEYM_SERVICE_CERT_SET_INTERMEDIATE требует, чтобы перед установкой промежуточного сертификата уже был сохранен соответствующий корневой сертификат для обеспечения успешной верификации [SWS_KeyM_00039]. Для проектно-специфических расширений спецификация предусматривает зарезервированный диапазон значений от 0x80 до 0x9F [SWS_KeyM_00039].
Этот текст был создан ИИ и основан на спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
тип Max [SWS_KeyM_91000] 📄 PDF
Array long enough to store the key or certificate name. base Type Encoding = UTF -
тип KeyM_CertificateStatusType [SWS_KeyM_91003] 📄 PDF
Type KeyM_CertificateStatusType.
Тип перечисления KeyM_CertificateStatusType представляет результат проверок сертификата и отображает текущий статус верификации и обработки сертификата в Key Manager [SWS_KeyM_91003]. Этот тип предоставляется через заголовочный файл Rte_KeyM_Type.h и служит вызывающим сторонам для дифференцированной оценки состояния или специфических причин ошибок верификации сертификата [SWS_KeyM_91003].
Значения перечисления охватывают как стандартные промежуточные и успешные состояния, так и точные картины ошибок [SWS_KeyM_91003]:
KEYM_CERTIFICATE_VALID(0x00): сертификат был успешно распарсен и верифицирован [SWS_KeyM_91003].KEYM_CERTIFICATE_INVALID(0x01): сертификат недействителен из-за неуточненной ошибки [SWS_KeyM_91003].KEYM_CERTIFICATE_NOT_PARSED(0x02): сертификат до сих пор не был распарсен [SWS_KeyM_91003].KEYM_CERTIFICATE_PARSED_NOT_VALIDATED(0x03): сертификат был распарсен, но еще не валидирован [SWS_KeyM_91003].KEYM_CERTIFICATE_NOT_AVAILABLE(0x04): сертификат не задан [SWS_KeyM_91003].- Специфические для ошибок результаты проверки: неудачный срок действия (
KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL, 0x05), некорректная подпись (KEYM_E_CERTIFICATE_SIGNATURE_FAIL, 0x06), недействительная цепочка доверия (KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST, 0x07), недействительный тип (KEYM_E_CERTIFICATE_INVALID_TYPE, 0x08), некорректный формат (KEYM_E_CERTIFICATE_INVALID_FORMAT, 0x09), недействительное содержимое (KEYM_E_CERTIFICATE_INVALID_CONTENT, 0x0A), а также отзыв или недействительная область действия (KEYM_E_CERTIFICATE_REVOKED, 0x0B) [SWS_KeyM_91003].
Вызывающим сторонам следует проверять статус перед использованием криптографических ключей; операции обычно могут основываться на сертификате только в том случае, если статус явно сигнализирует KEYM_CERTIFICATE_VALID. Поскольку этот тип объявляется через Rte_KeyM_Type.h, он, вероятно, применяется преимущественно в стандартизированных сервисных интерфейсах и портах для взаимодействия между KeyM и прикладными SWC. Вопрос Q-f3ca10ee673798df (открытый)
Этот текст был создан ИИ. Он не заменяет изучение официальных спецификаций AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I2)
тип KeyM_CertificateElementType [SWS_KeyM_91004] 📄 PDF
Array long enough to store data
Использование и структура
Тип данных KeyM_CertificateElementType специфицирован как байтовый массив с типом элементов uint8 и согласно спецификации служит областью памяти достаточного размера для хранения данных элемента сертификата [SWS_KeyM_91004]. Предоставление и объявление типа данных для модуля KeyM осуществляется через заголовочный файл Rte_KeyM_Type.h [SWS_KeyM_91004].
Конфигурация и формирование вариантов
Вариант типа данных подлежит зависящему от конфигурации изменению имени и размера, которое определяется на основе сконфигурированных параметров модуля [SWS_KeyM_91004]:
- Шаблон имени: конкретное имя типа генерируется для каждого элемента по схеме
KeyM_CertificateElementType_{KeyMCertificate}_{KeyMCertificateElement}, при этом заполнители соответствуют сконфигурированным кратким именамSHORT-NAMEсоответствующих экземпляров сертификата и элемента сертификата [SWS_KeyM_91004]. - Размер массива: количество элементов
uint8определяется параметром конфигурацииKeyMCertificateElementMaxLength, чтобы массив предоставлял достаточно места в памяти для необработанных данных соответствующего элемента [SWS_KeyM_91004].
Ограничения и допущения
Поскольку определение предоставляется в Rte_KeyM_Type.h, данный тип, вероятно, преимущественно используется в качестве стандартизированного буфера на интерфейсах с программными компонентами для обмена содержимым сертификатов [SWS_KeyM_91004]. Вопрос Q-994f8ac6772de3c1 (открытый) При этом максимально обрабатываемая длина данных остается статически привязанной к максимальной длине, определенной во время конфигурации [SWS_KeyM_91004].
Это указание по использованию было создано ИИ на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
тип KeyM_CryptoKeyDataType [SWS_KeyM_91012] 📄 PDF
Byte - pointer to the input or output data
Использование и определение типа
Тип данных KeyM_CryptoKeyDataType определен как тип указателя на uint8* и служит байтовым указателем для входных или выходных данных внутри модуля KeyM [SWS_KeyM_91012]. Определение типа предоставляется через заголовочный файл Rte_KeyM_Type.h [SWS_KeyM_91012].
Ограничения и управление памятью
При использовании KeyM_CryptoKeyDataType в качестве указателя на байтовые буферы необходимо учитывать специфические граничные условия:
- Интерпретация: поскольку данный тип специфицирован как простой байтовый указатель (
uint8*) [SWS_KeyM_91012], выделение памяти, определение её размера, а также обеспечение валидности адресуемой памяти, по-видимому, возлагаются на соответствующую вызывающую сторону. Вопрос Q-07c167f400cbfb9c (открытый) - Интерпретация: при передаче в качестве выходного буфера, вероятно, необходимо гарантировать, что адресуемая область памяти достаточно велика для размещения данных ключей или криптографических данных во избежание переполнения буфера. Вопрос (открытый)
- Интерпретация: для параллельного доступа к адресуемому буферу вызывающему программному обеспечению, по всей видимости, потребуются дополнительные меры синхронизации, поскольку сам тип не предоставляет механизма синхронизации. Вопрос (открытый)
Интеграция
Вызывающие компоненты, передающие данные криптографических ключей или сертификатов в интерфейсы KeyM либо принимающие их из них, подключают Rte_KeyM_Type.h, чтобы получить доступ к типизированному определению указателя KeyM_CryptoKeyDataType [SWS_KeyM_91012].
Данное указание по применению было сгенерировано автоматически и опирается исключительно на спецификацию AUTOSAR для модуля KeyM.
Руководство разработчика реализации в подготовке (сложность I1)
тип KeyM_ResultType [SWS_KeyM_91008] 📄 PDF
Specifies the result type of an asynchronous key management fu nction.
Тип перечисления KeyM_ResultType специфицирует результат асинхронных функций модуля KeyM для управления ключами и сертификатами [SWS_KeyM_91008]. Тип предоставляется через заголовочный файл Rte_KeyM_Type.h и служит для обратной связи об исходе запрошенного асинхронного рабочего задания [SWS_KeyM_91008].
Диапазон значений охватывает стандартизированные коды состояния и ошибок для дифференцированной оценки вызывающей стороной [SWS_KeyM_91008]:
KEYM_RT_OK(0x00): операция управления ключами успешно завершена [SWS_KeyM_91008].KEYM_RT_NOT_OK(0x01): во время операции управления ключами произошла общая ошибка [SWS_KeyM_91008].KEYM_RT_KEY_CERT_INVALID(0x02): указанный ключ или сертификат недействителен и не может быть использован для данной операции [SWS_KeyM_91008].KEYM_RT_KEY_CERT_WRITE_FAIL(0x03): запись ключа или сертификата в предназначенную целевую память не удалась [SWS_KeyM_91008].KEYM_RT_KEY_CERT_UPDATE_FAIL(0x04): общая ошибка при обновлении ключа или сертификата, которую не удалось конкретизировать более точным кодом [SWS_KeyM_91008].KEYM_RT_CERT_INVALID_CHAIN_OF_TRUST(0x05): верификация сертификата не удалась из-за недействительной цепочки доверия [SWS_KeyM_91008].
Вызывающие стороны асинхронных функций KeyM должны анализировать этот возвращаемый тип, чтобы в случае ошибки иметь возможность целенаправленно реагировать на недействительные цепочки доверия, ошибки доступа к памяти или некорректный ключевой материал [SWS_KeyM_91008].
Этот текст сгенерирован ИИ на основе спецификации.
Руководство разработчика реализации в подготовке (сложность I2)
тип KeyM_CertDataType [SWS_KeyM_00041] 📄 PDF
This structure is used to exchange certificate data through interface functions.
Структура KeyM_CertDataType используется в модуле KeyM для передачи данных сертификата и обмена ими через интерфейсные функции [SWS_KeyM_00041]. Определение типа доступно через заголовочный файл KeyM.h [SWS_KeyM_00041].
Структура объединяет два основных элемента [SWS_KeyM_00041]:
certDataLength: элемент типаuint32, указывающий длину данных сертификата [SWS_KeyM_00041].certData: элемент типаVoidPtr, который в качестве указателя напрямую ссылается на данные сертификата в локальной области данных вызывающей стороны [SWS_KeyM_00041].
Поскольку certData ссылается на области памяти в локальном контексте вызывающей стороны [SWS_KeyM_00041], управление буфером возлагается на вызывающий экземпляр. Интерпретация: вызывающая сторона, вероятно, должна гарантировать, что адресуемая память остается действительной на протяжении всей длительности выполнения соответствующей интерфейсной функции и охватывает как минимум количество байтов, указанное в certDataLength. Вопрос Q-7da9d5ed0975ddbd (открытый) Кроме того, можно предположить, что при длине больше нуля должен передаваться действительный указатель, отличный от NULL, чтобы избежать некорректных обращений к памяти внутри интерфейсной функции.
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_KeyM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_KeyM@rel:R20-11#06cc40c5- Content hash
06cc40c5- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_KeyManager.pdf#nameddest=SWS_KeyM_00043
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал