Secure Onboard Communication (SecOC)
Provides cryptographic authentication and freshness protection for critical communication PDUs.
Funktionen — Übersicht
void SecOC_Init (const SecOC_ConfigType* config);Initializes the the Sec OC module.void SecOC_DeInit (void);This service stops the secure onboard communication.void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);Service SecOC_VerifyStatusOverride.Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);The service provides the ability to enable the sending of un - authenticated PDU to lower layer.void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission...Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size...BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer.BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Service SecOC_CopyTxData.BufReq_ReturnType SecOC_StartOf SecOC_StartReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr); ⚠️Service SecOC_StartReception.Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshness.Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);Service SecOC_GetRxFreshnessAuthData.Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value),...Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);Service SecOC_GetTxFreshnessTruncData.void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.void SecOC_MainFunctionRx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path.void SecOC_MainFunctionTx (void);This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path.void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);Service is used to propagate the status of each verification attempt from the Sec OC module to other modules.void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by...
Typen — Übersicht
struct SecOC_ConfigTypeConfiguration data structure of Sec OC moduleenum SecOC_StateTypeStates of the Sec OC moduleSecOC_FreshnessArrayType-enum SecOC_VerificationResultTypeEnumeration to indicate veri fication results.enum SecOC_VerificationStatusTypeData structure to bundle the status of a verification attempt for a specific Freshness Value and Data IDenum SecOC_OverrideStatusTypeType SecOC_OverrideStatusType.
Funktionen & Typen — Detailansicht
функция SecOC_Init [SWS_SecOC_00106] 📄 PDF
void SecOC_Init (const SecOC_ConfigType* config);
Initializes the the Sec OC module. Successful initialization leads to state Sec OC_ INIT. In configurations, in which Sec OC is assigned to more than one partition (i.e. Sec OC_ Main Functions are mapped to partition s), Sec OC may provide one init AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_SecureOnboardCommunication function per partition. The decision on whether a single Sec OC_ Init() function or one per partition is provided is implementation - specific. In case a given implementation provides one Sec OC_ Init() function per partition, it is up to the implementation to devise a naming pattern that prevents name clashes among the different Sec OC_ Init() functions (e.g., by adding a suffix containing short name the Ecuc Partition.
Синхронная функция SecOC_Init служит для инициализации модуля SecOC и при успешном завершении переводит его в состояние SecOC_INIT [SWS_SecOC_00106]. Вызов осуществляется через интерфейс из SecOC.h с Service ID 0x01 [SWS_SecOC_00106].
Параметры и возвращаемые значения
- Передаваемые параметры: через входной параметр
configпередается указатель на выбранную структуру конфигурации типаSecOC_ConfigType[SWS_SecOC_00106]. - Возвращаемое значение: функция не имеет возвращаемого значения (
void) [SWS_SecOC_00106].
Параллелизм и секционирование
Выполнение SecOC_Init специфицировано как нереентерабельное (Non Reentrant) [SWS_SecOC_00106].
Особые требования действуют для систем с несколькими разделами: если модуль SecOC сопоставлен нескольким разделам (путем распределения основных функций, таких как SecOC_MainFunction, по разделам), для каждого раздела может существовать функция Init [SWS_SecOC_00106]. Предоставляется ли центральная функция SecOC_Init или отдельные функции для каждого раздела, зависит от реализации [SWS_SecOC_00106]. Если предлагаются функции для конкретных разделов, реализация должна предотвращать коллизии имен, например, путем добавления суффикса с коротким именем соответствующей EcucPartition [SWS_SecOC_00106].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_DeInit [SWS_SecOC_00161] 📄 PDF
void SecOC_DeInit (void);
This service stops the secure onboard communication. All buffered I - PDU are removed and have to be obtained again, if needed, after Sec OC_ Init has been called. By a call to Sec OC_ De Init the AUTOSAR Sec OC module is put into a not in itialized state (Sec OC_ UNINIT).
Использование и семантика
Синхронная функция SecOC_DeInit завершает работу безопасной бортовой коммуникации в модуле SecOC и переводит его в состояние SecOC_UNINIT [SWS_SecOC_00161]. Функция объявлена в заголовочном файле SecOC.h и имеет Service-ID 0x05, а также сигнатуру void SecOC_DeInit(void) [SWS_SecOC_00161]. Она не обрабатывает ни входных, ни выходных параметров и не возвращает значения [SWS_SecOC_00161].
Очистка буферов и переход между состояниями
При вызове SecOC_DeInit все промежуточно сохраненные в модуле I-PDU отбрасываются и удаляются из буферов [SWS_SecOC_00161]. Если эти данные по-прежнему требуются после повторного запуска защищенной коммуникации, их необходимо получить заново после повторного вызова SecOC_Init [SWS_SecOC_00161].
Параллелизм и ограничения
Для выполнения деинициализации действуют фиксированные предписания и граничные условия [SWS_SecOC_00161]:
- Нереентерабельная: интерфейс специфицирован как нереентерабельный (
Non Reentrant) и поэтому не должен выполняться конкурентно [SWS_SecOC_00161]. - Условия очередности: модуль после вызова остается в неинициализированном состоянии, вследствие чего последующие службы коммуникации обязательно требуют повторного вызова
SecOC_Init[SWS_SecOC_00161].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_GetVersionInfo [SWS_SecOC_00107] 📄 PDF
void SecOC_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция SecOC_IfTransmit [SWS_SecOC_00112] 📄 PDF
Std_ReturnType SecOC_IfTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Использование
Синхронная сервисная функция SecOC_IfTransmit служит для запроса передачи PDU в модуле SecOC [SWS_SecOC_00112]. Она имеет Service-ID 0x49 и объявляется через заголовочный файл SecOC.h [SWS_SecOC_00112].
Функция ожидает два входных параметра [SWS_SecOC_00112]:
TxPduId: идентификатор передаваемой PDU (типPduIdType).PduInfoPtr: указатель на структуру типаPduInfoType, которая предоставляет длину данных, а также указатели на данные PDU и на метаданные.
Не существует ни входных/выходных, ни чисто выходных параметров [SWS_SecOC_00112].
Возвращаемые значения и обработка ошибок
В качестве синхронного возвращаемого значения возвращается статус типа Std_ReturnType [SWS_SecOC_00112]:
E_OK: запрос на передачу был принят [SWS_SecOC_00112].E_NOT_OK: запрос на передачу не был принят [SWS_SecOC_00112].
В случае сбоя на неудачное выполнение запроса непосредственно указывает E_NOT_OK; специфические коды ошибок для DET или DEM в спецификации функции отдельно не приводятся [SWS_SecOC_00112].
Параллелизм и ограничения
В отношении параллелизма функция является реентерабельной для различных PDU-ID, однако нереентерабельна для одного и того же PDU-ID [SWS_SecOC_00112].
Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR.
функция SecOC_TpTransmit [SWS_SecOC_91008] 📄 PDF
Std_ReturnType SecOC_TpTransmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Синхронный интерфейс SecOC_TpTransmit с Service-ID 0x53 служит для запроса передачи PDU в модуле SecOC и объявляется через заголовочный файл SecOC.h [SWS_SecOC_91008]. Он принимает запрос на отправку и инициирует дальнейшую обработку внутри модуля.
Использование и взаимодействие
В качестве входных параметров функция ожидает идентификатор PDU TxPduId, а также указатель PduInfoPtr на константу типа PduInfoType, которая содержит сведения о длине PDU, а также указатели на полезные данные и метаданные [SWS_SecOC_91008]. Функциональное взаимодействие определяется конфигурацией: если SecOCPduType сконфигурирован на SECOC_TPPDU, вызов SecOC_TpTransmit запускает конкретную операцию отправки для Authentic I-PDU [SWS_SecOC_00253].
Возвращаемые значения и параллелизм
Результат вызова возвращается через Std_ReturnType: значение E_OK подтверждает, что запрос на отправку был успешно принят, в то время как E_NOT_OK означает, что запрос был отклонен [SWS_SecOC_91008]. В отношении параллелизма функция реализована как реентерабельная для различных идентификаторов PDU, однако ни в коем случае не должна вызываться реентерабельно для одного и того же TxPduId [SWS_SecOC_91008].
Интерпретация: отклонение запроса со значением E_NOT_OK на практике, вероятно, может объясняться прежде всего недопустимыми значениями указателя в PduInfoPtr либо уже заблокированной или выполняющейся передачей той же PDU. Вопрос Q-4c6165f6330c4bc2 (открытый)
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_IfCancelTransmit [SWS_SecOC_00113] 📄 PDF
Std_ReturnType SecOC_IfCancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.
Использование и контекст вызова
Синхронная интерфейсная функция SecOC_IfCancelTransmit запрашивает отмену текущей передачи PDU в нижележащем коммуникационном модуле [SWS_SecOC_00113]. Она объявлена через заголовочный файл SecOC.h и имеет Service-ID 0x4a [SWS_SecOC_00113]. Через передаваемый параметр TxPduId типа PduIdType передается та PDU, процесс отправки которой должен быть отменен [SWS_SecOC_00113]. Дополнительные входные или выходные параметры отсутствуют [SWS_SecOC_00113].
Возвращаемые значения и выполнение
Результат запроса на отмену передается вызывающей стороне синхронно через возвращаемое значение типа Std_ReturnType [SWS_SecOC_00113]:
E_OK: нижележащий целевой модуль успешно выполнил отмену передачи PDU [SWS_SecOC_00113].E_NOT_OK: запрос на отмену был отклонен целевым модулем [SWS_SecOC_00113].
Поскольку специфические коды ошибок или уведомления об ошибках для модулей регистрации ошибок разработки или диагностики (DET/DEM) для этой функции не специфицированы, для обнаружения ошибок служит исключительно возвращаемое значение [SWS_SecOC_00113].
Параллелизм и ограничения
В отношении параллельного вызова SecOC_IfCancelTransmit является реентерабельной для различных идентификаторов PDU, но явно нереентерабельна для одного и того же TxPduId [SWS_SecOC_00113]. Поэтому вызывающие модули должны с помощью подходящей синхронизации гарантировать, что несколько экземпляров не инициируют отмену отправки для одной и той же PDU одновременно.
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TpCancelTransmit [SWS_SecOC_91009] 📄 PDF
Std_ReturnType SecOC_TpCancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.
Синхронная функция SecOC_TpCancelTransmit служит для того, чтобы запросить отмену текущей передачи PDU в нижележащем коммуникационном модуле [SWS_SecOC_91009]. Она объявлена через заголовочный файл SecOC.h и имеет ID сервиса 0x54 [SWS_SecOC_91009].
В качестве входного параметра передается идентификатор TxPduId типа PduIdType, который однозначно идентифицирует отменяемую передаваемую PDU [SWS_SecOC_91009]. Результат запроса отмены синхронно возвращается через возвращаемое значение типа Std_ReturnType [SWS_SecOC_91009]:
E_OK: отмена передачи была успешно выполнена целевым модулем [SWS_SecOC_91009].E_NOT_OK: отмена была отклонена целевым модулем [SWS_SecOC_91009].
Что касается параллелизма, функция является реентерабельной для различных ID PDU, но явно нереентерабельной для одного и того же ID PDU [SWS_SecOC_91009]. Поэтому вызывающие компоненты должны гарантировать избежание параллельных вызовов с идентичным TxPduId. Поскольку полезная нагрузка не предусматривает специальных кодов ошибок для Default Error Tracer (DET) или Diagnostic Event Manager (DEM), непосредственная обработка ошибок в контексте вызывающей стороны, по всей видимости, должна происходить в первую очередь посредством анализа возвращаемого значения E_NOT_OK [SWS_SecOC_91009]. Вопрос Q-c1f907444c4ca270 (открытый)
Данное указание по использованию сгенерировано автоматически и основано на спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TpCancelReceive [SWS_SecOC_91010] 📄 PDF
Std_ReturnType SecOC_TpCancelReceive (PduIdType RxPduId);
Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.
Синхронная функция SecOC_TpCancelReceive служит для того, чтобы запросить отмену текущей операции приема PDU в нижележащем модуле транспортного протокола [SWS_SecOC_91010]. Через единственный входной параметр RxPduId модулю передается однозначная идентификация отменяемой PDU [SWS_SecOC_91010].
Возвращаемые значения и выполнение
Обратная связь об успехе отмены происходит непосредственно через возвращаемое значение типа Std_ReturnType [SWS_SecOC_91010]:
E_OK: отмена приема была успешно выполнена целевым модулем [SWS_SecOC_91010].E_NOT_OK: отмена была отклонена целевым модулем [SWS_SecOC_91010].
Специфические коды ошибок, ошибки разработки (DET) или производственные ошибки (DEM) в данных спецификации функции не предусмотрены. Интерпретация: под указанным в спецификации целевым модулем («destination module»), по-видимому, подразумевается нижележащий модуль транспортного протокола, которому адресован запрос на отмену. Вопрос Q-bce6ed77e65a6b9b (открытый)
Параллелизм и интеграция
Что касается параллелизма, функция объявлена как нереентерабельная (Non Reentrant) [SWS_SecOC_91010]. Поэтому одновременный или прерывающий вызов выполняться не должен; вызывающие программные модули должны соответствующим образом координировать обращения. Функция обладает ID сервиса 0x4c и объявляется через заголовочный файл SecOC.h [SWS_SecOC_91010].
Данное указание по использованию сгенерировано ИИ и основано исключительно на спецификациях релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_VerifyStatusOverride [SWS_SecOC_00122] 📄 PDF
Std_ReturnType SecOC_VerifyStatusOverride (uint16 ValueID, SecOC_OverrideStatusType overrideStatus, uint8 numberOfMessagesToOverride);
Service SecOC_VerifyStatusOverride.
Синхронная функция SecOC_VerifyStatusOverride позволяет приложению целенаправленно переопределять поведение SecOC при верификации и пересылке, чтобы принимать или отклонять I-PDU независимо от фактического результата верификации, а также управлять обработкой ошибок [SWS_SecOC_00122].
Параметры и контекст вызова
Адресация зависит от конфигурации модуля: если параметр SecOCOverrideStatusWithDataId установлен в FALSE, Value ID идентифицирует Freshness Value всех назначенных Secured I-PDU; если параметр установлен в TRUE, Value ID напрямую обозначает Data ID некоторой Secured I-PDU [SWS_SecOC_00122]. С помощью overrideStatus определяются требуемое поведение и его срок действия. Счетчик numberOfMessagesToOverride определяет количество последовательно переопределяемых верификаций, однако обрабатывается исключительно в режимах SECOC_OVERRIDE_DROP_UNTIL_LIMIT, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT и SECOC_OVERRIDE_PASS_UNTIL_LIMIT [SWS_SecOC_00122].
Для режимов SECOC_OVERRIDE_PASS_UNTIL_NOTICE, SECOC_OVERRIDE_SKIP_UNTIL_LIMIT, SECOC_OVERRIDE_PASS_UNTIL_LIMIT и SECOC_OVERRIDE_SKIP_UNTIL_NOTICE параметр SecOCEnableForcedPassOverride должен быть обязательно сконфигурирован в TRUE [SWS_SecOC_00122].
Параллелизм и возвращаемые значения
Функция является реентерабельной для различных Freshness Value ID, но нереентерабельна для одного и того же Freshness Value ID [SWS_SecOC_00122]. Успешный вызов возвращает E_OK, тогда как неудачный вызов подтверждается значением E_NOT_OK [SWS_SecOC_00122].
Взаимодействие при верификации
Установленное переопределение (override) вмешивается в логику обработки тракта приема:
- Если используются раздельные Authentic и Cryptographic I-PDU (
SecOCRxSecuredPduCollection),overrideStatusуправляет поведением, как только обе PDU с подходящим Message Linker будут приняты [SWS_SecOC_00203], [SWS_SecOC_00206], [SWS_SecOC_00211]. - Даже при превышении
SecOCAuthenticationBuildAttemptsилиSecOCAuthenticationVerifyAttempts, а также при неустранимых ошибках (таких какKEY_FAILURE), результат верификации и пересылка PDU определяются преимущественно значениемoverrideStatus[SWS_SecOC_00240], [SWS_SecOC_00241].
Этот текст был создан ИИ и основан на требованиях спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I2)
функция SecOC_SendDefaultAuthenticationInformation [SWS_SecOC_91013] 📄 PDF
Std_ReturnType SecOC_SendDefaultAuthenticationInformation (uint16 FreshnessValueID, boolean sendDefaultAuthenticationInformation);
The service provides the ability to enable the sending of un - authenticated PDU to lower layer. (example: in case authentication build counter has reached the configuration value Sec OCAuthentication Build Attempts or the query of the freshness function returns E_ NOT_ OK or the calculation of the authenticator has returned a non - recoverable error such as returning E_ NOT_ OK or KEY_ FAILURE). T his service is optional (the service is available only if Sec OCDefault Authentication Information Pattern is configured). If the service is not available or the service is available but the service was called with send Default
Использование
Синхронная функция SecOC_SendDefaultAuthenticationInformation ([SWS_SecOC_91013]) позволяет целенаправленно разрешать или блокировать передачу неаутентифицированных I-PDU на нижележащие уровни. Служба объявлена через SecOC.h и управляет поведением для конкретного Freshness Value ID с помощью флага send Default Authentication Information. При успешном запросе функция возвращает E_OK, в противном случае — E_NOT_OK ([SWS_SecOC_91013]).
Взаимодействие и поведение при ошибках
Функция является опциональной и доступна только в том случае, если сконфигурирован параметр SecOCDefaultAuthenticationInformationPattern ([SWS_SecOC_91013]). Поведение срабатывает, если генерация информации об аутентификации завершается ошибкой — например, когда достигнут счетчик SecOCAuthenticationBuildAttempts, функция свежести возвращает E_NOT_OK или вычисление аутентификатора возвращает неустранимую ошибку, такую как KEY_FAILURE или E_NOT_OK ([SWS_SecOC_91013], [SWS_SecOC_00229]):
- Если служба была вызвана со значением
TRUE, модуль использует шаблонSecOCDefaultAuthenticationInformationPatternдля всех байтов значения свежести и аутентификатора для построения информации аутентификации и не прерывает запрос на отправку ([SWS_SecOC_91013], [SWS_SecOC_00229]). - Если служба недоступна или была вызвана для соответствующего ID со значением
FALSE, модуль удаляет аутентичный I-PDU из своего внутреннего буфера и прерывает передачу ([SWS_SecOC_91013], [SWS_SecOC_00229]).
Параллелизм
Функция не является реентерабельной для одного и того же Freshness Value ID, однако ее разрешено вызывать реентерабельно для различных ID ([SWS_SecOC_91013]).
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_RxIndication [SWS_SecOC_00124] 📄 PDF
void SecOC_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
Использование и контекст вызова
Синхронная интерфейсная функция SecOC_RxIndication (Service ID 0x42) вызывается нижележащим модулем интерфейса связи, чтобы сообщить о приеме PDU модулю SecOC [SWS_SecOC_00124]. При вызове RxPduId идентифицирует принятую PDU, тогда как через PduInfoPtr передается указатель на информацию о PDU. Данная структура содержит длину полезных данных SduLength, указатель на буфер SduDataPtr, а также соответствующие метаданные PDU [SWS_SecOC_00124]. Функция не имеет возвращаемого значения и объявлена через заголовочный файл SecOC.h [SWS_SecOC_00124].
Обработка ошибок и проверка длины
Для приема I-PDU со статической конфигурацией (защищенных, аутентичных или криптографических I-PDU с параметром EcuC DynamicLength, равным FALSE) действует специальная проверка на ошибки: если принятая длина меньше сконфигурированной длины, модуль SecOC отбрасывает I-PDU без уведомления [SWS_SecOC_00268]. Интерпретация: поскольку функция возвращает void, некорректные или неполные I-PDU, по всей видимости, отбрасываются без обратной связи с вызывающим уровнем. Вопрос Q-6e9a176383e1983b (открытый)
Параллелизм и ограничения
Выполнение SecOC_RxIndication является реентерабельным для вызовов с различными ID PDU, однако явно нереентерабельно для одного и того же ID PDU [SWS_SecOC_00124]. Поэтому вызывающие модули должны посредством управления своей последовательностью выполнения гарантировать предотвращение параллельных вызовов с идентичным RxPduId.
Данное указание по использованию сформировано автоматически и основано на спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TpRxIndication [SWS_SecOC_00125] 📄 PDF
void SecOC_TpRxIndication (PduIdType id, Std_ReturnType result);
Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.
Функция SecOC_TpRxIndication служит callback-интерфейсом модуля SecOC и вызывается после приема I-PDU через API транспортного протокола (TP API) [SWS_SecOC_00125]. Посредством этого уведомления SecOC узнает, завершилась ли передача I-PDU успешно или произошла ошибка передачи [SWS_SecOC_00125].
Интерфейс обладает следующими параметрами и свойствами согласно [SWS_SecOC_00125]:
- id (
PduIdType): идентификатор принятого I-PDU, для которого сигнализируется событие приема. - result (
Std_ReturnType): результат приема PDU, указывающий, была ли транспортировка успешной или завершилась сбоем. - Возвращаемое значение: отсутствует (
void); функция не возвращает вызывающей стороне никакого значения статуса.
Что касается параллелизма, SecOC_TpRxIndication специфицирована как реентерабельная (Reentrant) и работает синхронно (Synchronous) под Service-ID 0x45 [SWS_SecOC_00125]. Декларация предоставляется через заголовочный файл SecOC.h [SWS_SecOC_00125]. Интерпретация: вызов, вероятно, типично инициируется транспортирующим уровнем, таким как PduR или TP-модуль, как только передача данных PDU полностью завершена. Вопрос Q-6448356fa3609004 (открытый)
Для этой функции в спецификации не определены специфические коды ошибок, проверки DET или записи об ошибках DEM [SWS_SecOC_00125]. Обработка ошибок ограничивается передачей результата транспортировки через параметр result, на основании которого модуль SecOC решает, обрабатывать ли принятые данные дальше или отбросить их.
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TxConfirmation [SWS_SecOC_00126] 📄 PDF
void SecOC_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
Использование и контекст вызова
Функция SecOC_TxConfirmation вызывается нижележащим модулем коммуникационного интерфейса для синхронного подтверждения модулю SecOC успешной передачи или сбоя отправки PDU [SWS_SecOC_00126]. Сервис не имеет возвращаемого значения (void), объявлен в заголовочном файле SecOC.h и числится под Service-ID 0x40 [SWS_SecOC_00126].
Функция ожидает два входных параметра [SWS_SecOC_00126]:
TxPduId: идентификатор переданной PDU (типPduIdType).result: результат передачи (типStd_ReturnType) со значениямиE_OKпри успешной доставке илиE_NOT_OKпри неудавшейся передаче.
Обработка ошибок и параллелизм
Ошибки передачи нижних уровней передаются непосредственно через аргумент result со значением E_NOT_OK [SWS_SecOC_00126]. В отношении параллелизма вызов является реентерабельным для различных PDU-ID, однако определен как нереентерабельный для одного и того же PDU-ID [SWS_SecOC_00126]. Конкретный контекст выполнения, вероятно, находится на уровне задач или прерываний нижележащего модуля, так как спецификация не предусматривает ограничений на этот счет. Вопрос Q-8bb15b92df860fc1 (открытый)
Взаимодействие и перенаправление
Если используется конфигурация SecOCTxSecuredPduCollection, SecOC передает подтверждение на вышележащий уровень только после того, как SecOC_TxConfirmation была вызвана как для Authentic I-PDU, так и для Cryptographic I-PDU [SWS_SecOC_00270].
При этом для статуса результата, направляемого на верхний уровень, действует строгое условие: параметр result перенаправленного вызова равен E_OK только тогда, когда подтверждения для обеих составных PDU были переданы соответственно с E_OK; в противном случае статус имеет значение E_NOT_OK [SWS_SecOC_00270].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TpTxConfirmation [SWS_SecOC_00152] 📄 PDF
void SecOC_TpTxConfirmation (PduIdType id, Std_ReturnType result);
This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.
Функция SecOC_TpTxConfirmation служит для подтверждения переданной по сети I-PDU и синхронно информирует модуль SecOC об успехе или неудаче процесса отправки [SWS_SecOC_00152].
Использование и параметры
Вызов выполняется после физической передачи I-PDU в сети [SWS_SecOC_00152]. Интерфейс объявлен в заголовке SecOC.h и имеет Service-ID 0x48 [SWS_SecOC_00152]. Он принимает два входных параметра и не возвращает значения (void):
id(типPduIdType): уникальная идентификация переданной I-PDU [SWS_SecOC_00152].result(типStd_ReturnType): указывает, была ли передача в сети успешной или произошел сбой [SWS_SecOC_00152].
Параллелизм и выполнение
Функция согласно спецификации должна выполняться синхронно и является полностью реентерабельной (Reentrant) [SWS_SecOC_00152]. Таким образом, она может вызываться параллельно для различных или одних и тех же I-PDU, если этого требует контекст вызова.
Обработка ошибок и взаимодействие
Специфические коды ошибок DET или DEM в полезной нагрузке не выделяются. Обработка ошибок, связанных с передачей, осуществляется преимущественно через переданный параметр статуса result, который сообщает модулю, прошла ли отправка успешно [SWS_SecOC_00152]. Интерпретация: по-видимому, функция в первую очередь служит интерфейсом обратного вызова для нижележащих экземпляров транспортного протокола, чтобы после завершения больших или фрагментированных передач возвращать статус отправки. Вопрос Q-a2957406d76ee65f (открытый)
Данное указание по применению создано ИИ и обобщает требования из спецификации AUTOSAR для модуля SecOC.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_TriggerTransmit [SWS_SecOC_00127] 📄 PDF
Std_ReturnType SecOC_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
Синхронный интерфейс SecOC_TriggerTransmit служит для копирования SDU, запрошенной для передачи [SWS_SecOC_00127]. Через параметр TxPduId адресуется SDU, тогда как PduInfoPtr в качестве входного и выходного параметра предоставляет указатель на целевой буфер (SduDataPtr), а также сведения о размере буфера (SduLength) [SWS_SecOC_00127].
Использование и передача данных
Внутри функции модуль проверяет, помещаются ли предоставляемые данные в размер буфера, сообщенный через PduInfoPtr->SduLength [SWS_SecOC_00127]:
- Если данные помещаются, функция копирует их в буфер
PduInfoPtr->SduDataPtr, записывает фактическое количество скопированных байтов вPduInfoPtr->SduLengthи возвращаетE_OK[SWS_SecOC_00127]. - Если объема памяти недостаточно, функция возвращает
E_NOT_OKбез изменения содержимогоPduInfoPtr[SWS_SecOC_00127].
Обработка ошибок и параллелизм
Если возвращается E_NOT_OK, данные SDU скопированы не были. В этом случае вызывающая сторона не должна анализировать или использовать PduInfoPtr, так как он может содержать указатель NULL или указывать на недействительные данные [SWS_SecOC_00127]. Функция является реентерабельной для различных ID PDU, но нереентерабельной для одного и того же TxPduId [SWS_SecOC_00127]. Сервис доступен через заголовочный файл SecOC.h [SWS_SecOC_00127].
Данное указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR Classic Platform Release R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_CopyRxData [SWS_SecOC_00128] 📄 PDF
BufReq_ReturnType SecOC_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
This function is called to provide the received data of an I - PDU segment (N - PDU) to the upper layer. Each call to this function provides the next part of the I - PDU data. The si ze of the remaining buffer is written to the position indicated by buffer Size Ptr.
Использование и семантика
Синхронная функция SecOC_CopyRxData вызывается для передачи принятых данных сегмента I-PDU (N-PDU) на верхний уровень [SWS_SecOC_00128]. Каждый вызов предоставляет очередную следующую часть данных I-PDU [SWS_SecOC_00128]. Сервис имеет ID сервиса 0x44 и доступен через заголовочный файл SecOC.h [SWS_SecOC_00128].
Параметры и запрос буфера
Параметр id однозначно идентифицирует принятую I-PDU [SWS_SecOC_00128]. Через указатель info предоставляются буфер-источник SduDataPtr и количество байтов для копирования SduLength [SWS_SecOC_00128]. Передача SduLength со значением 0 служит для запроса размера приемного буфера, доступного в данный момент в верхнем модуле; в этом случае SduDataPtr допускается передавать как NULL_PTR [SWS_SecOC_00128]. В область, на которую ссылается bufferSizePtr, после копирования записывается оставшийся размер буфера [SWS_SecOC_00128].
Возвращаемые значения и параллелизм
Функция возвращает статус BufReq_ReturnType [SWS_SecOC_00128]. При успешной передаче данных она возвращает BUFREQ_OK [SWS_SecOC_00128]. При возникновении ошибки данные не копируются, и функция возвращает BUFREQ_E_NOT_OK [SWS_SecOC_00128]. SecOC_CopyRxData специфицирована как реентерабельная [SWS_SecOC_00128].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_CopyTxData [SWS_SecOC_00129] 📄 PDF
BufReq_ReturnType SecOC_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service SecOC_CopyTxData.
Использование и семантика
Синхронная и реентерабельная функция SecOC_CopyTxData вызывается для извлечения данных передачи для сегмента I-PDU (N-PDU) [SWS_SecOC_00129]. Через параметр info передаются целевой буфер SduDataPtr, а также запрашиваемый объем байтов SduLength [SWS_SecOC_00129]. Вызов с SduLength, равным 0, позволяет запросить доступный объем данных или сообщить об изменениях статуса через параметр retry; в этом случае SduDataPtr может быть NULL_PTR [SWS_SecOC_00129]. Через availableDataPtr модуль сообщает оставшийся объем данных в буфере передачи [SWS_SecOC_00129].
Повторная попытка и обработка ошибок
Поведение буфера и повторных попыток управляется через retry [SWS_SecOC_00129]:
- Если
retryпредставляет собойNULL_PTR, скопированные данные разрешается освобождать немедленно [SWS_SecOC_00129]. - При
TP_CONFPENDINGранее скопированные данные остаются в буфере для устранения ошибок [SWS_SecOC_00129]. TP_DATACONFподтверждает все данные, переданные до этого вызова, для освобождения буфера [SWS_SecOC_00129].TP_DATARETRYинициирует повторное копирование уже переданных данных, начиная со смещения в байтах, определенногоTxTpDataCnt[SWS_SecOC_00129].
В качестве возвращаемых значений функция возвращает BUFREQ_OK при успешной операции копирования, BUFREQ_E_BUSY, если временно недостаточно готовых к передаче данных (что позволяет вызывающей стороне повторить попытку позже), или BUFREQ_E_NOT_OK при общем сбое [SWS_SecOC_00129].
Параллелизм
Функция спроектирована как реентерабельная, так что параллельные вызовы для различных экземпляров PDU, по-видимому, допустимы [SWS_SecOC_00129]. Вопрос Q-6420f2ca317efcb4 (открытый)
Это указание по использованию было сгенерировано автоматически на основе спецификации.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_StartReception [SWS_SecOC_00130] 📄 PDF
BufReq_ReturnType SecOC_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
Service SecOC_StartReception.
Использование
Синхронная и реентерабельная функция SecOC_StartReception вызывается в начале приема N-SDU для проверки соединения и предоставления необходимого приемного буфера [SWS_SecOC_00130]. При этом N-SDU может приниматься в виде одиночного кадра (Single Frame, SF) или фрагментированно через несколько N-PDU (First Frame, FF, с последующими Consecutive Frames, CF) [SWS_SecOC_00130]. Объявление доступно через заголовочный файл SecOC.h [SWS_SecOC_00130].
Параметры и запрос буфера
id: идентификация принятой I-PDU [SWS_SecOC_00130].info: указатель на структуруPduInfoTypeс полезными данными первого либо одиночного кадра, а также метаданными; если не доступны ни данные, ни метаданные, передаетсяNULL_PTR[SWS_SecOC_00130].TpSduLength: общая длина принимаемой N-SDU. Если параметр передан со значением 0, сервис возвращает текущий максимально доступный размер буфера [SWS_SecOC_00130].bufferSizePtr: выходной параметр для доступного приемного буфера, который используется модулем транспортного протокола для вычисления размера блока (BS) [SWS_SecOC_00130].
Возвращаемые значения и обработка ошибок
BUFREQ_OK: соединение принято, и прием продолжается;bufferSizePtrуказывает доступный размер буфера (если буфер требуемого размера недоступен, возвращается 0) [SWS_SecOC_00130].BUFREQ_E_NOT_OK: соединение отклонено, и прием прерывается;bufferSizePtrостается без изменений [SWS_SecOC_00130].BUFREQ_E_OVFL: невозможно предоставить буфер требуемой длины; прием прерывается, иbufferSizePtrостается без изменений [SWS_SecOC_00130].
Это указание по использованию было автоматически сгенерировано на основе AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_GetRxFreshness [SWS_SecOC_91007] 📄 PDF
Std_ReturnType SecOC_GetRxFreshness (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);
Service SecOC_GetRxFreshness.
Синхронная интерфейсная функция SecOC_GetRxFreshness служит модулю SecOC для запроса текущего значения freshness для принятой защищенной I-PDU [SWS_SecOC_91007]. Вызов происходит, как только защищенная PDU была принята полностью и для ее конфигурации заданы SecOCQueryFreshnessValue == CFUNC, а также SecOCUseAuthDataFreshness == FALSE [SWS_SecOC_00247], [SWS_SecOC_00250].
Функция является реентерабельной [SWS_SecOC_91007] и передает либо ожидает следующие параметры:
SecOCFreshnessValueID: идентификатор запрашиваемого значения freshness [SWS_SecOC_91007].SecOCTruncatedFreshnessValueиSecOCTruncatedFreshnessValueLength: указатель на содержащееся в принятой PDU усеченное значение freshness и его длину в битах [SWS_SecOC_91007].SecOCAuthVerifyAttempts: количество предшествующих попыток верификации с момента приема PDU (начиная с 0, инкрементируется при каждой неудачной попытке) [SWS_SecOC_91007].SecOCFreshnessValueиSecOCFreshnessValueLength: выходной буфер для определенного значения freshness, а также входной/выходной параметр для его длины в битах [SWS_SecOC_91007].
Результат запроса управляет дальнейшей обработкой в SecOC:
E_OK: значение freshness успешно предоставлено и используется для вычисления аутентификатора [SWS_SecOC_91007].E_NOT_OK: предоставление завершилось сбоем из-за общих проблем или неверного ID freshness [SWS_SecOC_91007].E_BUSY: информация временно недоступна [SWS_SecOC_91007]. В этом случае SecOC инкрементирует счетчик Authentication-Build-Counter и не выполняет попытку верификации аутентификации [SWS_SecOC_00236].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция SecOC_GetRxFreshnessAuthData [SWS_SecOC_91006] 📄 PDF
Std_ReturnType SecOC_GetRxFreshnessAuthData (uint16 SecOCFreshnessValueID, const uint8* SecOCTruncatedFreshnessValue, uint32 SecOCTruncatedFreshnessValueLength, const uint8* SecOCAuthDataFreshnessValue, uint16 SecOCAuthDataFreshnessValueLength, uint16 SecOCAuthVerifyAttempts, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);
Service SecOC_GetRxFreshnessAuthData.
Синхронная и реентерабельная функция SecOC_GetRxFreshnessAuthData вызывается модулем SecOC, чтобы при полностью принятых защищенных I-PDU определить текущее значение свежести для аутентификации ([SWS_SecOC_91006], [SWS_SecOC_00246]). Вызов осуществляется конкретно в том случае, когда для соответствующей конфигурации PDU параметризованы SecOCQueryFreshnessValue = CFUNC, а также SecOCUseAuthDataFreshness = TRUE ([SWS_SecOC_00246], [SWS_SecOC_00249]).
Параметры и передаваемые значения
-
Входные данные: передаются идентификатор
SecOCFreshnessValueID, содержащееся в I-PDU усеченное значение свежестиSecOCTruncatedFreshnessValueвместе с длиной в битахSecOCTruncatedFreshnessValueLength, а также счетчикSecOCAuthVerifyAttempts, который инкрементируется при неудачных попытках ([SWS_SecOC_91006]). -
Данные аутентификации: через
SecOCAuthDataFreshnessValueиSecOCAuthDataFreshnessValueLengthопционально передается сконфигурированный фрагмент принятого PDU; начальная позиция и длина определяются черезSecOCAuthDataFreshnessStartPositionиSecOCAuthDataFreshnessLen([SWS_SecOC_91006], [SWS_SecOC_00246]). -
Выходные данные: полное значение свежести предоставляется через выходной буфер
SecOCFreshnessValue, битовая длина которого выступает в качестве входного-выходного параметраSecOCFreshnessValueLength([SWS_SecOC_91006]).
Возвращаемые значения и обработка ошибок
Функция сигнализирует об успехе запроса возвратом E_OK ([SWS_SecOC_91006]). Если значение свежести не может быть предоставлено из-за общих проблем или недействительного Freshness-ID, она возвращает E_NOT_OK; при временной недоступности она возвращает E_BUSY ([SWS_SecOC_91006]). Интерпретация: поскольку функция подключается как C-функция через CFUNC, ее реализация, вероятно, осуществляется внешним модулем управления свежестью. Вопрос Q-01aa77b7235b9001 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_GetTxFreshness [SWS_SecOC_91004] 📄 PDF
Std_ReturnType SecOC_GetTxFreshness (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength);
This API returns th e freshness value from the Most Significant Bits in the first byte in the array (Sec OCFreshness Value), in big endian format.
Синхронная и реентерабельная функция SecOC_GetTxFreshness служит для предоставления актуального значения свежести для отправляемых сообщений и объявлена через заголовок SecOC.h [SWS_SecOC_91004]. Согласно [SWS_SecOC_00231], модуль SecOC вызывает эту функцию для PDU, если в конфигурации установлены SecOCQueryFreshnessValue = CFUNC, а также SecOCProvideTxTruncatedFreshnessValue = FALSE. Интерпретация: поскольку при соответствующей конфигурации SecOC выполняет данный вызов, функция, по-видимому, должна предоставляться в виде callout внешней компонентой. Вопрос Q-99a14f896ffddf5f (открытый)
Интерфейс использует следующие параметры [SWS_SecOC_91004]:
SecOCFreshnessValueID(In): числовой идентификатор запрошенного значения свежести.SecOCFreshnessValueLength(InOut): передает или принимает битовую длину предоставленного значения свежести.SecOCFreshnessValue(Out): указатель на байтовый массив для приема значения свежести в формате Big-Endian, начиная со старших битов в первом байте.
Возвращаемое значение типа Std_ReturnType сигнализирует о результате предоставления [SWS_SecOC_91004]:
E_OK: значение свежести успешно предоставлено.E_BUSY: информация о свежести временно не может быть доставлена.E_NOT_OK: запрос завершился сбоем, так как для данного ID или в целом невозможно определить значение.
Данное указание по использованию создано автоматически и основано исключительно на спецификациях AUTOSAR версии R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_GetTxFreshnessTruncData [SWS_SecOC_91003] 📄 PDF
Std_ReturnType SecOC_GetTxFreshnessTruncData (uint16 SecOCFreshnessValueID, uint8* SecOCFreshnessValue, uint32* SecOCFreshnessValueLength, uint8* SecOCTruncatedFreshnessValue, uint32* SecOCTruncatedFreshnessValueLength);
Service SecOC_GetTxFreshnessTruncData.
Синхронная и реентерабельная функция SecOC_GetTxFreshnessTruncData вызывается модулем SecOC, чтобы при операциях передачи (TX) запрашивать как полное значение freshness, так и усеченное значение freshness (Truncated Freshness) для передаваемой Secured I-PDU [SWS_SecOC_91003]. Вызов осуществляется именно тогда, когда для конфигурации PDU заданы SecOCQueryFreshnessValue = CFUNC, а также SecOCProvideTxTruncatedFreshnessValue = TRUE [SWS_SecOC_00230].
Интерфейс передает следующие параметры [SWS_SecOC_91003]:
SecOCFreshnessValueID(in): идентификатор запрошенного значения freshness.SecOCFreshnessValue(out): целевой буфер для текущего полного значения freshness.SecOCFreshnessValueLength(inout): задает длину предоставленного значения свежести в битах.SecOCTruncatedFreshnessValue(out): опциональный буфер для усеченного значения freshness, которое встраивается в Secured I-PDU.SecOCTruncatedFreshnessValueLength(inout): передает сконфигурированную длину усеченного значения freshness; при необходимости значение может быть скорректировано функцией или сохранено без изменений.
В качестве возвращаемого значения функция возвращает E_OK при успешном предоставлении, E_BUSY, если информация временно недоступна, или E_NOT_OK, если предоставление завершилось сбоем из-за общих проблем или конкретно для переданного ID [SWS_SecOC_91003]. Объявление доступно через заголовочный файл SecOC.h [SWS_SecOC_91003].
Данное указание по использованию сгенерировано ассистентом ИИ-курации на основе данных спецификации из AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_SPduTxConfirmation [SWS_SecOC_91005] 📄 PDF
void SecOC_SPduTxConfirmation (uint16 SecOCFreshnessValueID);
This interface is used by the Sec OC to indicate that the Secured I - PDU has been initiated for transmission.
Использование
Синхронный функциональный интерфейс SecOC_SPduTxConfirmation используется модулем SecOC для индикации того, что была инициирована передача защищенной I-PDU (Secured I-PDU) [SWS_SecOC_91005]. Функция объявлена в заголовочном файле SecOC.h и не имеет возвращаемого значения (void) [SWS_SecOC_91005].
В качестве единственного передаваемого параметра передается SecOCFreshnessValueID как входное значение (in) типа uint16 [SWS_SecOC_91005]. Этот параметр переносит идентификатор соответствующего значения свежести для затрагиваемой I-PDU [SWS_SecOC_91005]. Другие входные, выходные или сквозные параметры (inout/out) в интерфейсе отсутствуют [SWS_SecOC_91005].
Параллелизм и свойства
Интерфейс имеет Service-ID 0x4d, работает синхронно и спроектирован полностью реентерабельным [SWS_SecOC_91005]. Свойство реентерабельности допускает параллельный вызов в конкурирующих контекстах выполнения [SWS_SecOC_91005]. Сообщения об ошибках через DET или DEM, а также специальные коды ошибок в спецификации интерфейса не предусмотрены [SWS_SecOC_91005].
Интерпретация: поскольку SecOC вызывает эту функцию для уведомления о начале передачи PDU и при этом передает исключительно SecOCFreshnessValueID, вызов, вероятно, служит для обновления или подтверждения счетчика свежести во внешней компоненте [SWS_SecOC_91005]. Вопрос Q-f234a3c6e9b16362 (открытый)
Данное указание по использованию создано автоматически и основано исключительно на данных спецификации из AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_MainFunctionRx [SWS_SecOC_00171] 📄 PDF
void SecOC_MainFunctionRx (void);
This function performs the processing of the Sec OC module's authentication and verification processing for the Rx path. Per configured Sec OCMain Function Rx instance one Sec OC_ Main Function Rx_
Использование и контекст вызова
Функция SecOC_MainFunctionRx берет на себя центральную обработку аутентификации и верификации модуля SecOC для входящих сообщений в тракте приема [SWS_SecOC_00171]. Согласно своей спецификации интерфейса функция имеет сигнатуру void SecOC_MainFunctionRx (void), обладает ID сервиса 0x06, не ожидает входных параметров и не возвращает возвращаемого значения [SWS_SecOC_00171]. Она объявляется через заголовочный файл SchM_SecOC.h [SWS_SecOC_00171]; отсюда можно сделать вывод (интерпретация), что ее вызов осуществляется периодически диспетчером BSW в контексте задачи операционной системы. Вопрос Q-d24cb58f541f6674 (открытый)
Инстанцирование и конфигурация
В системных конфигурациях с несколькими экземплярами приема для каждого сконфигурированного контейнера SecOCMainFunctionRx реализуется собственный экземпляр функции по схеме SecOC_MainFunctionRx_<shortName> [SWS_SecOC_00171]. При этом <shortName> соответствует короткому имени контейнера, присвоенному в модели конфигурации ECU [SWS_SecOC_00171]. Это, предположительно, делает возможным раздельное управление по времени или приоритизацию различных путей обработки Rx. Вопрос Q-ebb55c5d3a3da97d (открытый)
Обработка ошибок и параллелизм
Для SecOC_MainFunctionRx в требованиях не задокументированы ни конкретные возвращаемые значения, ни явные коды ошибок для DET или DEM [SWS_SecOC_00171]. Поэтому состояния ошибок или неудачные верификации, по-видимому, обрабатываются сугубо внутренне и асинхронно передаются вышестоящим модулям по тракту приема. Вопрос Q-5d1e45f7a779bea9 (открытый)
Этот текст сгенерирован ИИ и служит в качестве справочного руководства. Решающее значение всегда имеет официальная спецификация AUTOSAR.
функция SecOC_MainFunctionTx [SWS_SecOC_00176] 📄 PDF
void SecOC_MainFunctionTx (void);
This function performs the processing of the Sec OC module's authentication and verification processing for the Tx path. Per configured Sec OCMain Function Tx instance one Sec OC_ Main Function Tx_
Использование и контекст вызова
Основная функция SecOC_MainFunctionTx берет на себя согласно [SWS_SecOC_00176] обработку аутентификации и верификации модуля SecOC в тракте передачи (Tx-тракт). Она имеет сигнатуру void SecOC_MainFunctionTx(void), то есть не принимает входных параметров и не возвращает значения; ей назначен Service-ID 0x03 [SWS_SecOC_00176]. Декларация предоставляется через заголовочный файл SchM_SecOC.h [SWS_SecOC_00176]. Интерпретация: поскольку интеграция осуществляется через Schedule Manager, вызов, вероятно, типично выполняется циклически диспетчером BSW Scheduler в контексте задачи операционной системы. Вопрос Q-34b30208648c8e30 (открытый)
Инстанцирование и соглашение об именовании
Спецификация предусматривает специфическую для каждого экземпляра реализацию для множественных конфигураций: для каждого сконфигурированного контейнера экземпляра SecOCMainFunctionTx в конфигурации ECU должна быть реализована ровно одна функция по схеме именования SecOC_MainFunctionTx_<shortName>, где <shortName> соответствует короткому имени соответствующего конфигурационного контейнера [SWS_SecOC_00176].
Ограничения и обработка ошибок
Специфические коды ошибок, обратная связь от DET или DEM, а также подробности о реентерабельности отдельно не приведены в элементе спецификации [SWS_SecOC_00176]. Интерпретация: из-за привязки к специфическим для экземпляра конфигурационным контейнерам каждый созданный экземпляр, вероятно, отвечает за изолированное подмножество обработок Tx-PDU и в штатном режиме не должен конкурентно прерываться тем же контекстом задачи. Вопрос (открытый)
Это указание по использованию было сгенерировано автоматически ассистентом курации ИИ на основе спецификации AUTOSAR R20-11.
функция SecOC_VerificationStatusCallout [SWS_SecOC_00119] 📄 PDF
void SecOC_VerificationStatusCallout (SecOC_VerificationStatusType verificationStatus);
Service is used to propagate the status of each verification attempt from the Sec OC module to other modules. This service can be configured such that: Only: "False" Verifica tion Status is propagated to modules Both: "True" and "False" Verification Status are propagated to modules None: No Verification Status is propagated
Синхронная функция callout SecOC_VerificationStatusCallout служит для передачи статуса попыток верификации из модуля SecOC внешним программным модулям [SWS_SecOC_00119]. Она объявлена в заголовочном файле SecOC_Externals.h и имеет Service ID 0x50 [SWS_SecOC_00119]. Через входной параметр verificationStatus (тип SecOC_VerificationStatusType) передается структура данных, объединяющая результат верификации для конкретных Freshness Value ID и Data ID [SWS_SecOC_00119]. Функция не имеет выходных параметров и не возвращает значения (тип возврата void) [SWS_SecOC_00119].
Поведение пересылки статуса является конфигурируемым и поддерживает три варианта [SWS_SecOC_00119]:
- Only: распространяются исключительно неудачные попытки верификации («False»).
- Both: модулям передаются как успешные («True»), так и неудачные («False») статусы верификации.
- None: статус верификации не передается.
Что касается параллелизма, SecOC_VerificationStatusCallout является реентерабельной для различных Freshness Value ID, однако нереентерабельна для одного и того же Freshness Value ID [SWS_SecOC_00119]. Поэтому реализующие модули должны гарантировать, что при идентичном Freshness Value ID конкурирующие вызовы не происходят. Контекст вызова, вероятно, находится синхронно в рамках внутренней подпрограммы верификации модуля SecOC. Вопрос Q-cd6928ca22d48f54 (открытый) Специфические коды ошибок или сообщения в DET и DEM для этого callout не определены [SWS_SecOC_00119].
Это указание по использованию было сгенерировано ИИ и основано исключительно на данных спецификации релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция SecOC_VerifyStatus [SWS_SecOC_91014] 📄 PDF
void SecOC_VerifyStatus (SecOC_VerificationStatusType verificationStatus);
This s ervice provides the ability to inform the application about the result of the verification attempt of a received PDU by the Sec OC module.
Использование и семантика
Синхронная функция SecOC_VerifyStatus информирует приложение о результате попытки верификации принятого PDU модулем SecOC [SWS_SecOC_91014]. Интерфейс имеет Service-ID 0x53, не возвращает значения (void) и предоставляется через заголовочный файл SecOC_Externals.h [SWS_SecOC_91014].
Параметры
Единственным передаваемым параметром служит входной параметр verificationStatus типа SecOC_VerificationStatusType [SWS_SecOC_91014]. Эта структура предоставляет подробные сведения о статусе верификации, а также информацию о том, для каких Data-ID и Freshness-Value-ID была выполнена верификация [SWS_SecOC_91014]. Дополнительных входных или выходных параметров не существует [SWS_SecOC_91014].
Обработка ошибок и параллелизм
Специфические коды ошибок, а также уведомления для DET или DEM для этой службы не определены [SWS_SecOC_91014]. Интерпретация: о неудачных верификациях приложению, вероятно, сообщается прежде всего через значения статуса внутри переданной структуры verificationStatus. Вопрос Q-177be3d746f99b24 (открытый) В отношении параллелизма SecOC_VerifyStatus не является реентерабельной для одного и того же Freshness-Value-ID, однако реентерабельна для различных Freshness-Value-ID [SWS_SecOC_91014].
Этот текст был сгенерирован ИИ и служит в качестве справочного руководства. Определяющей является спецификация AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
тип SecOC_ConfigType [SWS_SecOC_00104] 📄 PDF
Configuration data structure of Sec OC module
тип SecOC_StateType [SWS_SecOC_00162] 📄 PDF
States of the Sec OC module
Тип перечисления SecOC_StateType служит для формального представления внутренних рабочих состояний модуля SecOC и предоставляется через заголовочный файл SecOC.h [SWS_SecOC_00162]. Он обеспечивает согласованное управление состоянием на протяжении всего жизненного цикла программного компонента.
Согласно спецификации, диапазон значений этого типа перечисления включает ровно два дискретных состояния [SWS_SecOC_00162]:
SECOC_UNINIT: однозначно сигнализирует о том, что модуль SecOC не инициализирован [SWS_SecOC_00162].SECOC_INIT: обязательно указывает на то, что модуль SecOC был инициализирован [SWS_SecOC_00162].
Что касается взаимодействия и условий очередности, SECOC_UNINIT, предположительно, представляет собой состояние по умолчанию непосредственно после запуска системы. Вопрос Q-4d02fe3a0979113f (открытый) На этой фазе функциональные вызовы для криптографической защиты или верификации сообщений, вероятно, отклоняются, поскольку необходимые структуры данных еще не готовы. Только после успешной инициализации модуля статус, предположительно, меняется на SECOC_INIT. Вызывающие модули или внутренние процедуры контроля, вероятно, используют SecOC_StateType, чтобы синхронно проверять текущий рабочий статус и надежно предотвращать недопустимый доступ до инициализации.
Этот текст был создан ИИ и основан исключительно на данных спецификации из AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип SecOC_FreshnessArrayType [SWS_SecOC_91012] 📄 PDF
-
тип SecOC_VerificationResultType [SWS_SecOC_00149] 📄 PDF
Enumeration to indicate veri fication results.
Тип перечисления SecOC_VerificationResultType служит для сигнализации результатов при верификации защищенных I-PDU в модуле SecOC и предоставляется через заголовочный файл Rte_SecOC_Type.h [SWS_SecOC_00149].
При этом перечисление специфицирует следующие значения результатов для дифференциации статуса верификации [SWS_SecOC_00149]:
SECOC_VERIFICATIONSUCCESS(0x00): верификация данных прошла успешно [SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE(0x01): верификация не увенчалась успехом [SWS_SecOC_00149].SECOC_FRESHNESSFAILURE(0x02): верификация завершилась сбоем из-за некорректного значения freshness [SWS_SecOC_00149].SECOC_AUTHENTICATIONBUILDFAILURE(0x03): верификация не увенчалась успехом из-за некорректно сформированных кодов аутентификации [SWS_SecOC_00149].SECOC_NO_VERIFICATION(0x04): верификация была пропущена, и данные были без изменений перенаправлены на вышестоящий уровень; это состояние возможно только при активном переопределении статусаSecOC_VerifyStatusOverride[SWS_SecOC_00149].SECOC_VERIFICATIONFAILURE_OVERWRITTEN(0x05): верификация завершилась сбоем, однако I-PDU все же была передана на верхний уровень вследствие статуса переопределения; это состояние также возникает исключительно при использованииSecOC_VerifyStatusOverride[SWS_SecOC_00149].
На основе этих значений вышестоящие уровни могут точно определять, прошла ли верификация штатно успешно, завершилась сбоем из-за криптографических кодов или значений freshness, либо же административные состояния переопределения управляли пересылкой данных [SWS_SecOC_00149].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR CP R20-11.
тип SecOC_VerificationStatusType [SWS_SecOC_00160] 📄 PDF
Data structure to bundle the status of a verification attempt for a specific Freshness Value and Data ID
Использование структуры статуса верификации
Тип структуры SecOC_VerificationStatusType объединяет согласно [SWS_SecOC_00160] результат попытки верификации защищенного I-PDU вместе с соответствующим Data-ID и использованным значением свежести. Определение предоставляется через заголовочный файл Rte_SecOC_Type.h и включает в себя следующие элементы:
freshnessValueID(uint16): идентификатор значения свежести, которое привело к данному статусу верификации ([SWS_SecOC_00160]).verificationStatus(SecOC_VerificationResultType): подробный результат попытки верификации ([SWS_SecOC_00160]).secOCDataId(uint16): Data-ID соответствующего PDU ([SWS_SecOC_00160]).
Элемент verificationStatus дифференцирует специфические состояния успеха и ошибки ([SWS_SecOC_00160]):
SECOC_VERIFICATIONSUCCESS: криптографическая проверка прошла успешно.SECOC_VERIFICATIONFAILURE: верификация не удалась.SECOC_FRESHNESSFAILURE: верификация не удалась из-за недействительного значения свежести.SECOC_AUTHENTICATIONBUILDFAILURE: неудачная верификация вследствие некорректно сформированных кодов аутентификации.SECOC_NO_VERIFICATION: попытка верификации для этого I-PDU не выполнялась; он был передан на верхний уровень без изменений.SECOC_VERIFICATIONFAILURE_OVERWRITTEN: верификация завершилась сбоем, однако I-PDU был перенаправлен на верхний уровень из-за активного статуса переопределения (override).
Интерпретация: поскольку данный тип объединяет детали верификации, он, вероятно, применяется прежде всего в интерфейсах обратной связи и уведомлений, чтобы информировать вышестоящие уровни о состоянии аутентификации принятых данных. Вопрос Q-a1099bc88a2981e2 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип SecOC_OverrideStatusType [SWS_SecOC_00991] 📄 PDF
Type SecOC_OverrideStatusType.
Тип перечисления SecOC_OverrideStatusType определяет различные режимы для переопределения статуса верификации I-PDU в модуле SecOC и предоставляется через заголовочный файл Rte_SecOC_Type.h [SWS_SecOC_00991].
Значения типа перечисления управляют тем, выполняется ли верификация аутентификатора и как именно, а также какие действия предпринимаются в отношении входящей I-PDU [SWS_SecOC_00991]:
SECOC_OVERRIDE_DROP_UNTIL_NOTICE(0x00): верификация отменяется без вызова CSM, I-PDU отбрасывается, а результат верификации устанавливается вSECOC_NO_VERIFICATION[SWS_SecOC_00991].SECOC_OVERRIDE_DROP_UNTIL_LIMIT(0x01): как и ранее, верификация приостанавливается и I-PDU отбрасывается, однако с ограничением, пока не будет достигнуто сконфигурированное количество переопределяемых сообщений [SWS_SecOC_00991].SECOC_OVERRIDE_CANCEL(0x02): отменяет активное переопределение статуса верификации и восстанавливает стандартное поведение [SWS_SecOC_00991].SECOC_OVERRIDE_PASS_UNTIL_NOTICE(0x40) иSECOC_OVERRIDE_PASS_UNTIL_LIMIT(0x42): верификация аутентификатора выполняется, и I-PDU перенаправляется на верхний уровень независимо от результата; если верификация завершается сбоем, результат устанавливается вSECOC_VERIFICATIONFAILURE_OVERWRITTEN(либо до дальнейшего уведомления, либо с ограничением по счетчику) [SWS_SecOC_00991].SECOC_OVERRIDE_SKIP_UNTIL_LIMIT(0x41) иSECOC_OVERRIDE_SKIP_UNTIL_NOTICE(0x43): верификация отменяется, результатом являетсяSECOC_NO_VERIFICATION, и I-PDU передается на верхний уровень. Если сконфигурированSecOCRxSecuredPduCollection, SecOC обрабатываетSecOCRxAuthenticPduнапрямую, не ожидаяSecOCRxCryptographicPdu[SWS_SecOC_00991].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_SecOC- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_SecOC@rel:R20-11#de1cb30c- Content hash
de1cb30c- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_SecureOnboardCommunication.pdf#nameddest=SWS_SecOC_00106
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал