Crypto Interface (CryIf)
Abstracts cryptographic hardware and software acceleration engines.
Funktionen — Übersicht
void CryIf_Init (const CryIf_ConfigType* configPtr);Initializes the CRYIF module.void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);Service CryIf_ProcessJob.Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);This interface dispatches the job cancellation function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);This function shall dispatch the set key element function to the configured crypto driver object.Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);This function shall dispatch the set key valid function to the configured crypto driver object.Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);Sets invalid for the status of the key identifi ed by cry If Key Id.Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by cry If Key Id.Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);This function shall dispatch the get key ele ment function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopy.Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopyPartial.Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall co py all key elements from the source key to a target key.Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);This function shall dispatch the random seed function to the configured crypto driver object.Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);This function shall dispatch the key generate function to the configured crypto driver object.Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall dispatch th e key derive function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);This function shall dispatch the key exchange public value calculation function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
Typen — Übersicht
struct CryIf_ConfigTypeConfiguration data structure of Cry If module
Funktionen & Typen — Detailansicht
функция CryIf_Init [SWS_CryIf_91000] 📄 PDF
void CryIf_Init (const CryIf_ConfigType* configPtr);
Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface
Использование
Синхронная функция CryIf_Init служит для полной инициализации модуля Crypto Interface (CryIf) в соответствии с AUTOSAR Classic Platform [SWS_CryIf_91000]. Функция объявлена в заголовочном файле CryIf.h и имеет Service-ID 0x00 [SWS_CryIf_91000]. В качестве единственного входного параметра интерфейс ожидает configPtr, указатель на выбранную структуру конфигурации типа CryIf_ConfigType [SWS_CryIf_91000]. Функция не возвращает значения (void) и не имеет параметров типа inout или out [SWS_CryIf_91000].
Семантика и параллелизм
Вызов CryIf_Init выполняется синхронно [SWS_CryIf_91000]. Таким образом, модуль завершает все необходимые работы по инициализации до того, как управление будет возвращено вызывающей стороне. Что касается параллелизма, функция классифицирована как нереентерабельная (Non Reentrant) [SWS_CryIf_91000]. По этой причине данная подпрограмма ни в какой момент времени не должна вызываться параллельно или вложенно.
Ограничения и интеграция
Интерпретация: вызов CryIf_Init, как правило, должен выполняться централизованно во время запуска системы в рамках фазы инициализации базового программного обеспечения, прежде чем будет разрешено вызывать последующие сервисы криптографического интерфейса. Вопрос Q-31b82ca9b144c843 (открытый) Поскольку payload не содержит сведений о конкретных обработках ошибок, сообщениях DET или событиях DEM, вызывающая сторона должна заранее обеспечить действительный указатель на конфигурацию. Связанные требования (Requirements) в payload не определены.
Это указание по использованию было создано автоматически и основано исключительно на данных спецификации для SWS_CryIf_91000.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
Предоставляемая через заголовочный файл CryIf.h функция CryIf_ProcessJob (Service-ID 0x03) перенаправляет задания на криптографическую обработку соответствующему сконфигурированному объекту криптодрайвера [SWS_CryIf_91003]. В качестве параметров она принимает идентификатор криптоканала (channelId), а также указатель на конфигурацию задания (job) [SWS_CryIf_91003]. При этом структура job содержит всю информацию, релевантную как для пользователя, так и для конкретного криптографического примитива [SWS_CryIf_91003]. Обработка задания выполняется в зависимости от конфигурации синхронно или асинхронно; кроме того, интерфейс реализован как реентерабельный [SWS_CryIf_91003].
При безошибочном принятии функция возвращает E_OK [SWS_CryIf_91003]. В случае сбоя запроса возвращаемое значение сигнализирует либо E_NOT_OK, либо специфическое состояние ошибки драйвера: CRYPTO_E_BUSY (объект драйвера занят), CRYPTO_E_QUEUE_FULL (очередь заполнена), ошибки, касающиеся состояний ключей, такие как CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL или CRYPTO_E_KEY_WRITE_FAIL, а также CRYPTO_E_JOB_CANCELED при отмене синхронного задания и CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
Кроме того, интерфейс выполняет предварительные проверки идентификаторов ключей:
- Если
job->jobPrimitiveInfo->primitiveInfo->serviceустановлено вCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALилиCRYPTO_KEYEXCHANGECALCSECRET, тоjob->cryIfKeyIdдолжен находиться в допустимом диапазоне значений [SWS_CryIf_00134]. В противном случае функция сообщает об ошибкеCRYPTO_E_PARAM_HANDLEв DET и прерывает работу сE_NOT_OK[SWS_CryIf_00134]. - Если запрашивается служба
CRYPTO_KEYDERIVE, то идентификатор целевого ключаjob->cryIfTargetKeyIdдополнительно должен находиться в допустимом диапазоне; в противном случае в DET также сообщаетсяCRYPTO_E_PARAM_HANDLEи возвращаетсяE_NOT_OK[SWS_CryIf_00135].
Этот текст был создан ИИ и основан на спецификации AUTOSAR CP R20-11.
функция CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF
Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);
This interface dispatches the job cancellation function to the configured crypto driver object.
Функция CryIf_CancelJob служит для перенаправления запроса на отмену криптозадания сконфигурированному объекту криптодрайвера [SWS_CryIf_91014]. Она предоставляет стандартизированный интерфейс Crypto Interface, объявлена через заголовочный файл CryIf.h и имеет Service-ID 0x0e [SWS_CryIf_91014].
Для вызова необходимо передать идентификатор целевого канала, а также конфигурацию задания [SWS_CryIf_91014]:
channelId(входной,uint32): содержит идентификатор соответствующего криптоканала [SWS_CryIf_91014].job(входной/выходной,Crypto_JobType*): указатель на конфигурацию задания, включающую структуры с информацией, относящейся к пользователю и примитиву [SWS_CryIf_91014].
Выполнение происходит синхронно и возвращает статус типа Std_ReturnType вызывающей стороне [SWS_CryIf_91014]:
E_OK: запрос был успешным, и задание было удалено из драйвера [SWS_CryIf_91014].E_NOT_OK: запрос завершился неудачно, так как задание не удалось удалить [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: специфицированное криптографическое возвращаемое значение для подтверждения отмены задания [SWS_CryIf_91014].
В отношении поведения при конкурентности CryIf_CancelJob специфицирована как реентерабельная [SWS_CryIf_91014]. Это допускает параллельные вызовы для отмены заданий, при этом обработка с блокировкой делегируется базовому объекту драйвера [SWS_CryIf_91014].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF
Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);
This function shall dispatch the set key element function to the configured crypto driver object.
Синхронная функция CryIf_KeyElementSet (Service-ID 0x04) перенаправляет запрос на установку элемента ключа сконфигурированному объекту криптодрайвера [SWS_CryIf_91004]. Объявление функции предоставляется через заголовочный файл CryIf.h [SWS_CryIf_91004].
Вызов осуществляется с четырьмя входными параметрами [SWS_CryIf_91004]:
cryIfKeyId: обозначает идентификатор ключа, элемент ключа которого должен быть обновлен.keyElementId: обозначает идентификатор конкретного элемента ключа, который должен быть установлен.keyPtr: указатель на буфер с данными ключа, которые должны быть приняты в качестве элемента.keyLength: указывает длину устанавливаемого элемента ключа в байтах.
Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_CryIf_91004]. Поэтому вызывающие стороны должны гарантировать, что вызовы не происходят нескоординированно параллельно.
Возвращаемое значение типа Std_ReturnType сигнализирует о результате перенаправления или выполнения [SWS_CryIf_91004]:
E_OK: запрос был успешен.E_NOT_OK: запрос завершился сбоем.CRYPTO_E_BUSY: назначенный объект криптодрайвера в данный момент занят.CRYPTO_E_KEY_WRITE_FAIL: доступ на запись к элементу ключа отклонен.CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный ключ недоступен.CRYPTO_E_KEY_SIZE_MISMATCH: размер элемента ключа не совпадает с длиной предоставленных данных.
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF
Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);
This function shall dispatch the set key valid function to the configured crypto driver object.
Использование
Синхронный интерфейс CryIf_KeySetValid (Service-ID 0x05) предоставляется через заголовочный файл CryIf.h и перенаправляет запрос на признание ключа действительным соответствующему сконфигурированному объекту криптодрайвера [SWS_CryIf_91005]. В качестве единственного параметра передается идентификатор cryIfKeyId, определяющий целевой ключ, элементы которого должны быть помечены как действительные [SWS_CryIf_91005]. Дополнительные входные/выходные или выходные параметры для этой функции отсутствуют [SWS_CryIf_91005].
Возвращаемые значения и обработка ошибок
Возвращаемое значение типа Std_ReturnType информирует вызывающую сторону о результате перенаправления и обработки в драйвере [SWS_CryIf_91005]:
E_OK: операция была успешно перенаправлена объекту криптодрайвера и успешно завершена [SWS_CryIf_91005].E_NOT_OK: перенаправление или выполнение запроса завершилось сбоем [SWS_CryIf_91005].CRYPTO_E_BUSY: запрос не удалось выполнить, так как ответственный объект криптодрайвера в настоящее время занят [SWS_CryIf_91005].
Параллелизм и ограничения
Функция явно указана в спецификации как нереентерабельная (Non Reentrant) [SWS_CryIf_91005]. Поэтому вызывающие экземпляры должны гарантировать, что вызовы CryIf_KeySetValid никогда не выполняются параллельно или с прерыванием, чтобы надежно предотвратить конфликты при перенаправлении объекту драйвера.
Это указание по использованию было сгенерировано автоматически на основе спецификации.
функция CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF
Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);
Sets invalid for the status of the key identifi ed by cry If Key Id.
Синхронный интерфейс CryIf_KeySetInvalid (Service-ID 0x14) устанавливает статус ключа, идентифицированного через параметр cryIfKeyId, в недействительный [SWS_CryIf_91021]. Объявление функции предоставляется через заголовочный файл CryIf.h [SWS_CryIf_91021].
Для использования функции действуют следующие параметры и возвращаемые значения [SWS_CryIf_91021]:
- Входные параметры: Через входной параметр
cryIfKeyIdтипаuint32передается идентификатор ключа, действие которого требуется аннулировать. Входно-выходные и выходные параметры отсутствуют. - Возвращаемое значение (
Std_ReturnType):E_OK: Запрос на изменение статуса выполнен успешно.E_NOT_OK: запрос завершился сбоем.CRYPTO_E_BUSY: Выполнение не удалось, так как соответствующий Crypto Driver Object занят.
Что касается параллелизма и контекста выполнения, CryIf_KeySetInvalid специфицирована как нереентерабельная (Non Reentrant) [SWS_CryIf_91021]. Поэтому вызывающие сущности должны гарантировать, что вызовы выполняются последовательно и не перекрывают друг друга. При возврате значения CRYPTO_E_BUSY Crypto Driver Object временно заблокирован [SWS_CryIf_91021]; в этом случае вызывающая сторона, вероятно, отвечает за повторную попытку инвалидации статуса позже. Вопрос Q-4377065d4d4eecab (открытый)
Этот текст был создан ИИ и основан исключительно на данных спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF
Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);
Returns the key state of the key identified by cry If Key Id.
Использование и контекст вызова
Функция CryIf_KeyGetStatus служит для синхронного запроса статуса криптографического ключа в пределах Crypto Interface [SWS_CryIf_91012]. Она доступна через заголовочный файл CryIf.h с Service-ID 0x13 [SWS_CryIf_91012]. При вызове передаются следующие параметры:
cryIfKeyId(входной): уникальный идентификатор ключа, статус которого необходимо определить [SWS_CryIf_91012].keyStatusPtr(выходной): указатель на переменную типаCrypto_KeyStatusType, в которую записывается статус ключа [SWS_CryIf_91012].
Обработка ошибок и возвращаемые значения
Возвращаемое значение типа Std_ReturnType сигнализирует о результате выполнения [SWS_CryIf_91012]:
E_OK: запрос статуса прошел успешно, и статус был сохранен в целевой памяти [SWS_CryIf_91012].E_NOT_OK: запрос завершился сбоем [SWS_CryIf_91012].
Специфические коды ошибок, сообщения DET или события DEM в спецификации элемента не указаны; обработка ошибок на стороне вызывающего компонента опирается в первую очередь на анализ возвращаемого значения.
Параллелизм и ограничения
Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_CryIf_91012]. Поэтому вызывающие компоненты должны убедиться, что не происходит одновременных или прерывающих вызовов для одного и того же или различных экземпляров ключей. Кроме того, вызывающая сторона, вероятно, должна предоставить валидную область памяти для выходного указателя keyStatusPtr, поскольку функция производит прямую запись по нему. Вопрос Q-da3a034d4f2e9442 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF
Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);
This function shall dispatch the get key ele ment function to the configured crypto driver object.
Синхронная функция CryIf_KeyElementGet перенаправляет запрос элемента ключа сконфигурированному Crypto Driver Object [SWS_CryIf_91006]. Она объявлена в заголовочном файле CryIf.h и специфицирована как реентерабельная [SWS_CryIf_91006].
Использование и параметры
При вызове cryIfKeyId идентифицирует затрагиваемый ключ, а keyElementId — запрашиваемый элемент ключа [SWS_CryIf_91006]. Полезные данные сохраняются в буфере resultPtr [SWS_CryIf_91006]. Указатель resultLengthPtr служит комбинированным входным и выходным параметром для управления длиной [SWS_CryIf_91006]:
- Перед выполнением вызывающая сторона передает в нем доступный размер буфера
resultPtr[SWS_CryIf_91006]. - Если элемент ключа разрешает частичный доступ, значение вместо этого определяет объем извлекаемых данных, который не обязательно должен совпадать с размером буфера [SWS_CryIf_91006].
- После завершения операции функция сохраняет фактически записанный объем данных по этому адресу памяти [SWS_CryIf_91006].
Обработка ошибок и возвращаемые значения
Возвращаемое значение типа Std_ReturnType сигнализирует о статусе успешного выполнения или ошибки [SWS_CryIf_91006]:
E_OK: запрос был успешно завершен [SWS_CryIf_91006].E_NOT_OK: выполнение не удалось [SWS_CryIf_91006].CRYPTO_E_BUSY: Crypto Driver Object занят [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный ключевой элемент недоступен [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: в доступе на чтение элемента ключа отказано [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: исходный ключевой элемент не инициализирован [SWS_CryIf_91006].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
Синхронная функция CryIf_KeyElementCopy служит для копирования элемента ключа из исходного ключа в целевой ключ согласно [SWS_CryIf_91015]. Служба доступна через заголовочный файл CryIf.h.
Для вызова через входные параметры передаются исходный ключ (cryIfKeyId), копируемый исходный элемент (keyElementId), а также целевой ключ (targetCryIfKeyId) и целевой элемент (targetKeyElementId) [SWS_CryIf_91015]. Функция спроектирована как реентерабельная, однако явно не для одного и того же cryIfKeyId [SWS_CryIf_91015]. В качестве интерпретации логично предположить, что во избежание конфликтов данных одновременные операции записи в один и тот же целевой ключ (targetCryIfKeyId) также должны синхронизироваться вызывающей стороной. Вопрос Q-cba3554c537dd498 (открытый)
Возвращаемое значение типа Std_ReturnType сигнализирует о результате операции [SWS_CryIf_91015]:
E_OK: процесс копирования прошел успешно.E_NOT_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: исходный элемент ключа не инициализирован.
Это указание по использованию было автоматически сгенерировано на основе AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF
Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopyPartial.
Синхронная функция CryIf_KeyElementCopyPartial, предоставляемая через заголовочный файл CryIf.h, копирует поддиапазоны элемента ключа в другой элемент ключа [SWS_CryIf_91018]. Исходный и целевой ключи, а также соответствующие элементы специфицируются через параметры cryIfKeyId, keyElementId, targetCryIfKeyId и targetKeyElementId [SWS_CryIf_91018]. Начальные позиции внутри обоих элементов определяются с помощью keyElementSourceOffset и keyElementTargetOffset, в то время как keyElementCopyLength задает точное количество передаваемых байтов [SWS_CryIf_91018].
В отношении параллелизма подпрограмма спроектирована как реентерабельная, однако явно не для одного и того же исходного ключа (cryIfKeyId) [SWS_CryIf_91018]. Параллельные вызовы с одинаковым ID исходного ключа поэтому должны синхронизироваться или предотвращаться вызывающей стороной.
Возвращаемое значение сообщает подробный статус выполнения синхронного запроса [SWS_CryIf_91018]:
E_OK: операция копирования была успешно выполнена.E_NOT_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: исходный элемент ключа не инициализирован.
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF
Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall co py all key elements from the source key to a target key.
Использование
Синхронная функция CryIf_KeyCopy копирует все элементы ключа из исходного ключа в указанный целевой ключ ([SWS_CryIf_91016]). Она предоставляется через заголовочный файл CryIf.h и имеет Service-ID 0x10 ([SWS_CryIf_91016]).
Функция ожидает два входных параметра ([SWS_CryIf_91016]):
cryIfKeyId: идентификатор ключа, элементы которого служат источником.targetCryIfKeyId: идентификатор ключа, который принимает элементы ключа в качестве цели.
Параллелизм и ограничения
Интерфейс специфицирован как реентерабельный, однако не должен вызываться одновременно для одного и того же идентификатора исходного ключа (cryIfKeyId) ([SWS_CryIf_91016]).
Обработка ошибок
Возвращаемое значение типа Std_ReturnType сигнализирует о результате операции ([SWS_CryIf_91016]):
E_OK: процесс копирования успешно завершен.E_NOT_OK: запрос завершился сбоем.CRYPTO_E_BUSY: сбой, так как базовый объект Crypto-Driver занят.CRYPTO_E_KEY_NOT_AVAILABLE: запрошенный элемент ключа недоступен.CRYPTO_E_KEY_READ_FAIL: считывание элемента ключа недопустимо.CRYPTO_E_KEY_WRITE_FAIL: запись целевого элемента ключа недопустима.CRYPTO_E_KEY_SIZE_MISMATCH: размеры элементов ключей несовместимы друг с другом.CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован.
Это указание по использованию было сгенерировано автоматически на основе спецификации.
функция CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF
Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);
This function shall dispatch the random seed function to the configured crypto driver object.
Функция CryIf_RandomSeed служит для перенаправления генерации или ввода начального случайного значения (Random Seed) сконфигурированному объекту криптографического драйвера [SWS_CryIf_91007]. Она доступна через заголовочный файл CryIf.h и имеет Service-ID 0x07 [SWS_CryIf_91007].
Интерфейс ожидает три входных параметра [SWS_CryIf_91007]:
cryIfKeyId: идентификатор ключа, для которого должен быть сгенерирован новый seed.seedPtr: указатель на область памяти с данными для ввода seed.seedLength: длина Seed в байтах.
Поведение выполнения (синхронное или асинхронное) жестко не задано, а зависит от соответствующей конфигурации [SWS_CryIf_91007]. С точки зрения параллельности функция специфицирована как ревходабельная [SWS_CryIf_91007].
В качестве возвращаемого значения функция возвращает Std_ReturnType со следующими значениями состояния [SWS_CryIf_91007]:
E_OK: запрос выполнен успешно.E_NOT_OK: запрос завершился сбоем.CRYPTO_E_KEY_NOT_VALID: запрос завершился неудачей, так как состояние ключа является «invalid».
Интерпретация: при возврате CRYPTO_E_KEY_NOT_VALID проверка, вероятно, относится к переданному ключу cryIfKeyId, хотя в тексте спецификации в отличие от этого говорится о cryptoKeyId [SWS_CryIf_91007]. Вопрос Q-22b20256f21f131b (открытый)
Этот текст был сгенерирован ИИ и основан на спецификации AUTOSAR CP R20-11.
функция CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF
Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);
This function shall dispatch the key generate function to the configured crypto driver object.
Использование
Функция CryIf_KeyGenerate перенаправляет вызов функции для генерации ключа сконфигурированному объекту Crypto-Driver [SWS_CryIf_91008]. Через входной параметр cryIfKeyId передается уникальный идентификатор ключа, который должен быть обновлен сгенерированным значением ключа [SWS_CryIf_91008]. Объявление этого интерфейса предоставляется через заголовочный файл CryIf.h [SWS_CryIf_91008].
Поведение синхронизации и параллелизм
Выполнение происходит в зависимости от базовой конфигурации либо синхронно, либо асинхронно [SWS_CryIf_91008]. В отношении контекста вызова и параллелизма функция специфицирована как реентерабельная [SWS_CryIf_91008].
Возвращаемые значения и обработка ошибок
Вызов возвращает значение состояния типа Std_ReturnType [SWS_CryIf_91008]:
E_OK: запрос на генерацию ключа успешно выполнен [SWS_CryIf_91008].E_NOT_OK: запрос завершился ошибкой [SWS_CryIf_91008].CRYPTO_E_BUSY: запрос завершился ошибкой, так как опрашиваемый объект Crypto-Driver в данный момент занят [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: запрос завершился ошибкой, так как требуемый исходный элемент ключа не инициализирован [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: запрос завершился ошибкой, так как статус ключа, на который указывает идентификатор ключа, недействителен [SWS_CryIf_91008].
Данное указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Release R20-11.
функция CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF
Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall dispatch th e key derive function to the configured crypto driver object.
Использование
Функция CryIf_KeyDerive служит для того, чтобы синхронно перенаправлять запрос на деривацию ключа соответствующему сконфигурированному Crypto Driver Object [SWS_CryIf_91009]. Интерфейс объявляется через заголовочный файл CryIf.h с Service-ID 0x09 [SWS_CryIf_91009].
При вызове передаются два идентификатора ключей [SWS_CryIf_91009]:
cryIfKeyId: идентификатор ключа, который используется в качестве основы для деривации.targetCryIfKeyId: идентификатор ключа, в котором сохраняется производный ключ.
Обработка ошибок и возвращаемые значения
Результат операции передается через тип возвращаемого значения Std_ReturnType [SWS_CryIf_91009]:
E_OK: запрос успешно выполнен [SWS_CryIf_91009].E_NOT_OK: выполнение не удалось [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: исходный ключевой элемент не инициализирован [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: статус ключа для указанного ключа недействителен [SWS_CryIf_91009].CRYPTO_E_BUSY: нижележащий Crypto Driver Object сообщил оCRYPTO_E_BUSY[SWS_CryIf_91009].
Параллелизм и граничные условия
Интерфейс специфицирован как реентерабельный [SWS_CryIf_91009]. Поскольку процесс протекает синхронно, вызывающим сторонам, вероятно, придется учитывать время выполнения драйвера в соответствующем контексте вызова. Вопрос Q-2b2fd50249878177 (открытый)
Данное указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
функция CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available
Синхронная и реентерабельная функция CryIf_KeyExchangeCalcPubVal перенаправляет вычисление открытого значения обмена ключами сконфигурированному объекту Crypto-Driver [SWS_CryIf_91010]. Сервис доступен через заголовочный файл CryIf.h [SWS_CryIf_91010].
При вызове функции обрабатываются следующие параметры [SWS_CryIf_91010]:
cryIfKeyId: идентификатор ключа, который должен использоваться для протокола обмена ключами.publicValuePtr: указатель на область памяти, в которой сохраняется вычисленное открытое значение.publicValueLengthPtr: указатель на информацию о длине. При вызове этот параметр должен содержать предоставленный размер буфера; после завершения он сохраняет фактическую длину вычисленного значения.
Функция возвращает статус типа Std_ReturnType [SWS_CryIf_91010]:
E_OK: запрос был успешен.E_NOT_OK: запрос завершился сбоем.CRYPTO_E_BUSY: ошибка, так как ответственный объект Crypto-Driver занят.CRYPTO_E_KEY_EMPTY: ошибка из-за неинициализированного исходного элемента ключа.CRYPTO_E_KEY_NOT_VALID: ошибка, так как адресуемый ключ находится в недействительном состоянии.
Этот текст был сгенерирован системой на основе ИИ и базируется исключительно на данных спецификации из AUTOSAR R20-11.
функция CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.
Синхронная функция CryIf_KeyExchangeCalcSecret перенаправляет вычисление общего секрета при обмене ключами сконфигурированному объекту Crypto-Driver [SWS_CryIf_91011]. В сервис передаются идентификатор ключа (cryIfKeyId), указатель на открытое значение ключа партнера по коммуникации (partnerPublicValuePtr), а также его длина в байтах (partnerPublicValueLength) [SWS_CryIf_91011].
Обработка ошибок: функция сообщает о результате через Std_ReturnType [SWS_CryIf_91011]:
E_OK: вычисление было успешно выполнено [SWS_CryIf_91011].CRYPTO_E_BUSY: объект Crypto-Driver занят [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: исходный элемент ключа не инициализирован [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: статус ключа указанного ключа недействителен [SWS_CryIf_91011].E_NOT_OK: запрос завершился сбоем [SWS_CryIf_91011].
Параллелизм: интерфейс специфицирован как реентерабельный [SWS_CryIf_91011]. Поскольку процесс выполняется синхронно, вызов, как правило, должен происходить в контексте задачи. Вопрос Q-b3bca3645b0ef468 (открытый) Сервис предоставляется через заголовочный файл CryIf.h [SWS_CryIf_91011].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
функция CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF
void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
Функция CryIf_CallbackNotification служит согласно [SWS_CryIf_91013] для уведомления Crypto Interface (CryIf) о завершении криптографической операции, а также о ее результате. Объявление доступно через заголовочный файл CryIf.h и имеет Service-ID 0x0d [SWS_CryIf_91013].
Вызов выполняется синхронно и обрабатывает два обязательных входных параметра [SWS_CryIf_91013]:
job(входной,Crypto_JobType*): указывает на информационную структуру завершенного задания и содержит Callback-ID для сопоставления завершенного задания [SWS_CryIf_91013].result(входной,Crypto_ResultType): передает результат выполненной криптографической операции [SWS_CryIf_91013].
Специфические коды ошибок или сообщения об ошибках (DET/DEM) для этой службы не определены; функциональная проверка ошибок осуществляется через параметр result, отражающий статус успеха или ошибки операции [SWS_CryIf_91013].
В отношении конкурентности функция согласно [SWS_CryIf_91013] специфицирована как нереентерабельная (Non Reentrant) и не имеет возвращаемого значения (void). Поэтому вызывающие стороны должны гарантировать, что вызовы происходят последовательно и вложенные или параллельные выполнения отсутствуют. Интерпретация: данное уведомление, как правило, вызывается нижележащими криптодрайверами для возврата результата асинхронно обработанных криптозаданий в Crypto Interface. Вопрос Q-ae17af188a970e00 (открытый)
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
тип CryIf_ConfigType [SWS_CryIf_91118] 📄 PDF
Configuration data structure of Cry If module
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_CryIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#1668e341- Content hash
1668e341- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал