DEENESPTFRRUARHIKOZHNL

класс ara::diag::TransmitCertificate

[SWS_DM_01961] Upstream: RS_Diag_04251

class TransmitCertificate {...};

Class to implement the subfunction TransmitCertificate (29 04) of UDS service Authentication as interface to application. This class implements a so called generic interface, where the application has means to handle one ore more certificateEvaluationId transferred certificates.

Header-Datei#include "ara/diag/transmit_certificate.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Руководство пользователяСОЗДАНО ИИ

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

Позволяет приложению принимать и проверять диагностические сертификаты в UDS-службе Authentication.

Класс ara::diag::TransmitCertificate реализует интерфейс приложения для подфункции UDS TransmitCertificate (0x29 0x04) службы Authentication [SWS_DM_01961]. После предоставления через Offer() приложение принимает переданные данные сертификата в асинхронном методе Process() и инициирует проверку, специфичную для приложения [SWS_DM_01968]. При успешной проверке Diagnostic Management инициирует положительный ответ UDS с возвращаемым параметром 0x13 (CertificateVerified), тогда как при ошибках отправляется отрицательный ответ с соответствующим NRC. Экземпляр жестко привязан к интерфейсу порта и не подлежит ни копированию, ни перемещению.

Контекст

Класс ara::diag::TransmitCertificate [SWS_DM_01961] в заголовке ara/diag/transmit_certificate.h (AUTOSAR_AP_SWS_Diagnostics §8.26 «Header: ara/diag/transmit_certificate.h») представляет собой интерфейс адаптивного приложения для реализации подфункции UDS TransmitCertificate (0x29 0x04) службы Authentication. Будучи универсальным интерфейсом, он позволяет приложению принимать и обрабатывать один или несколько переданных сертификатов на основе 16-битного идентификатора (certificateEvaluationId).

Во взаимодействии участвуют три основных компонента:

  • Внешний диагностический тестер, отправляющий автомобилю UDS-запрос на передачу сертификата [SWS_DM_01968].
  • Diagnostic Server (Diagnostic Management, DM) платформы Adaptive Platform, который фильтрует и перенаправляет входящие диагностические запросы, а также формирует итоговые UDS-ответы [SWS_DM_01251], [SWS_DM_01969].
  • Адаптивное приложение, предоставляющее производный от ara::diag::TransmitCertificate экземпляр, выполняющий проверку сертификата и асинхронно возвращающий результат серверу [SWS_DM_01968].
TransmitCertificateKontext Tester Tester DiagnosticServer DiagnosticServer Tester->DiagnosticServer UDS-Anfrage 0x29 04 DiagnosticServer->Tester Positive / Negative UDS-Antwort TransmitCertificate TransmitCertificate DiagnosticServer->TransmitCertificate Weiterleitung via Process() TransmitCertificate->DiagnosticServer Dienststeuerung via Offer() / StopOffer()

Контекстная диаграмма: компоненты, участвующие в передаче сертификата через UDS 0x29 04. Источники: [SWS_DM_01968], [SWS_DM_01969], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate».

Жизненный цикл

Экземпляры ara::diag::TransmitCertificate создаются через конструктор с указанием ara::core::InstanceSpecifier, а также режима параллелизма ConcurrencyType [SWS_DM_01962]. InstanceSpecifier должен указывать в манифесте на PortPrototype, типизированный через DiagnosticTransmitCertificateInterface [SWS_DM_01962]. Если это сопоставление завершается ошибкой или идентификатор экземпляра используется в текущем процессе многократно, возникают нарушения времени выполнения, такие как InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation или InstanceSpecifierAlreadyInUseViolation [SWS_DM_01962].

Класс подчиняется строгим правилам владения и инстанцирования: обработчик аутентификации спроектирован как уникальный, некопируемый и неперемещаемый экземпляр. Соответственно, конструктор копирования [SWS_DM_01964], оператор присваивания с копированием [SWS_DM_01966], а также конструктор перемещения [SWS_DM_01963] и оператор присваивания с перемещением [SWS_DM_01965] явно удалены (=delete).

Сам конструктор специфицирован как потокобезопасный и исключающе-безопасный [SWS_DM_01962]. Освобождение выполняется через виртуальный стандартный деструктор [SWS_DM_01967]. Должен ли фактический метод выполнения Process быть реализован потокобезопасным, зависит от выбранного concurrencyType (kConcurrent или kNotConcurrent) [SWS_DM_01962], [SWS_DM_01968].

Путь использования

Штатный процесс включает регистрацию обработчика, обработку входящих сертификатов и последующую отмену регистрации:

  1. Предложение службы (Offer): приложение вызывает Offer(), чтобы сигнализировать Diagnostic Management о том, что запросы для сконфигурированного интерфейса разрешено перенаправлять данному обработчику [SWS_DM_01969].
  2. Получение запроса (Process): при поступлении на Diagnostic Server UDS-запроса подфункции TransmitCertificate он перенаправляет данные чисто виртуальному методу Process() приложения [SWS_DM_01968]. Метод получает 16-битный идентификатор certificateEvaluationId, необработанные данные сертификата в виде ara::core::Span<ara::core::Byte const>, метаданные (metaInfo), а также cancellationHandler [SWS_DM_01968].
  3. Анализ и действие: поскольку AUTOSAR не предписывает фиксированной семантики для сертификатов, проверка и вывод необходимых мер полностью возлагаются на приложение [SWS_DM_01968]. Интерпретация: как правило, приложение должно криптографически проверить переданный сертификат или использовать его для обновления внутреннего хранилища ключей. Вопрос Q-34844f9257d074c6 (открытый)
  4. Передача результата: метод возвращает ara::core::Future<void> [SWS_DM_01968]. Если приложение успешно завершает future без ошибок, Diagnostic Server передает тестеру положительный ответ UDS, в котором параметр authenticationReturnParameter (RV) устанавливается в значение 0x13 (CertificateVerified) [SWS_DM_01251] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate»).
  5. Остановка службы (StopOffer): если обработчик больше не должен принимать запросы, приложение прекращает перенаправление вызовом StopOffer() [SWS_DM_01970].
Процесс передачи сертификатаTesterDiagnosticServerTransmitCertificateOffer()Result<void>Use Case: Передача сертификата (UDS 0x29 04)UDS-Anfrage 0x29 04(certificateEvaluationId, certificateData)Process(certificateEvaluationId, certificateData, metaInfo, cancellationHandler)Проверка сертификата / определение действияaltVerifizierung erfolgreichFuture<void> выполненоPositive Response (RV 0x13 CertificateVerified)Verifizierung fehlgeschlagenFuture<void> с DiagUdsNrcErrcNegative Response (NRC)Use Case: Dienstangebot beendenStopOffer()

Диаграмма последовательности: типичный процесс передачи сертификата от Offer до ответа UDS. Источники: [SWS_DM_01968], [SWS_DM_01969], [SWS_DM_01970], [SWS_DM_01249], [SWS_DM_01251].

Сценарии ошибок

Состояния ошибок могут возникать на различных этапах жизненного цикла:

  • Уже активное предложение: если Offer() вызывается, когда служба для этого экземпляра уже активно предлагается, вызов завершается ошибкой и возвращает в ara::core::Result<void> код ошибки DiagOfferErrc::kAlreadyOffered с семантикой отката [SWS_DM_01969]. Offer() и StopOffer() не являются потокобезопасными и не должны вызываться параллельно [SWS_DM_01969], [SWS_DM_01970].
  • Неудавшаяся проверка сертификата: если приложение при анализе в Process() обнаруживает ошибку, оно завершает future соответствующим кодом ошибки из DiagUdsNrcErrc согласно ISO 14229-1 [SWS_DM_01968]. Diagnostic Server перехватывает это возвращаемое значение и отправляет тестеру отрицательный диагностический ответ (Negative Response), чей Negative Response Code (NRC) в точности соответствует переданному коду ошибки [SWS_DM_01249] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Handling Negative return values of ara::diag::TransmitCertificate::Process method»).
  • Прерывание текущих сеансов взаимодействия: во время асинхронной обработки приложение может запросить статус через cancellationHandler.IsCanceled(), чтобы определить, был ли прерван диагностический сеанс взаимодействия [SWS_DM_01968]. Дополнительно через cancellationHandler.SetNotifier(...) можно зарегистрировать функцию обратного вызова, которая немедленно уведомляется при прерывании [SWS_DM_01968].

Данное руководство основано на спецификации AUTOSAR Adaptive Platform R25-11 (модуль diag) и подготовлено с помощью ИИ.

Карта членов

Конструкторы и деструктор

2

Операторы

1

Диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__TransmitCertificate785 TransmitCertificate + TransmitCertificate() + operator=() + ~TransmitCertificate() + Offer() + Process() + StopOffer()

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

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

Конструкторы и деструктор

TransmitCertificate функция 3

Constructor of TransmitCertificate.

Перегрузки TransmitCertificate 3
explicit TransmitCertificate (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_01962
TransmitCertificate (TransmitCertificate &&) noexcept=delete; SWS_DM_01963
TransmitCertificate (TransmitCertificate &)=delete; SWS_DM_01964
~TransmitCertificate функция

Destructor of TransmitCertificate.

virtual ~TransmitCertificate () noexcept=default;

Методы

Offer функция

This Offer will enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
Process функция

This method is used to process certificates send by a diagnostic tester, via the UDS subfunction TransmitCertificate inside the application. There is no specific semantics for the certificate and it is left to the application to process the received certificate and derive the needed actions.

virtual ara::core::Future< void > Process (std::uint16_t certificate EvaluationId, ara::core::Span< ara::core::Byte const > certificate Data, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;
StopOffer функция

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;

Операторы

operator= функция 2

Move assignment operator of TransmitCertificate.

Перегрузки = 2

Документация методов

функция Offer [SWS_DM_01969] Upstream: RS_Diag_04251

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler.

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

С помощью метода Offer Adaptive Application активирует пересылку диагностических запросов модулем Diagnostic Management (DM) соответствующему обработчику класса ara::diag::TransmitCertificate [SWS_DM_01969]. Вызов выполняется синхронно и без параметров; интерфейс определен как безопасный по исключениям (noexcept) [SWS_DM_01969]. В качестве типа возвращаемого значения служит ara::core::Result<void>, с помощью которого вызывающей стороне передается успешность регистрации или состояние ошибки [SWS_DM_01969].

Если функция для соответствующего экземпляра обработчика уже вызывалась ранее, повторный вызов завершается сбоем и возвращает специфическую ошибку DiagOfferErrc::kAlreadyOffered с семантикой отката [SWS_DM_01969], которая соответствует стандартизированному значению ошибки в DiagErrc [SWS_DM_00514]. Поскольку метод явно специфицирован как непотокобезопасный [SWS_DM_01969], необходимо избегать параллельного доступа к одному и тому же экземпляру (Интерпретация: защита от параллельных вызовов возлагается на прикладное программное обеспечение). Вопрос Q-b44b11a0a2dcb2b4 (открытый)

Шаблон функционирования Offer следует единой концепции предоставления диагностических обработчиков, которая также применяется в ara::diag::Authentication::Offer [SWS_DM_01130], ara::diag::CommunicationControl::Offer [SWS_DM_00809] или ara::diag::GenericRoutine::Offer [SWS_DM_00557]. AUTOSAR разъясняет, что, несмотря на аналогичное именование, сходное с ara::com, речь идет о независимой диагностической реализации (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). До момента предоставления через Offer DM не пересылает запросы обработчику, аналогично службам DoIP, которые до вызова считаются не готовыми [SWS_DM_01525].

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

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

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_01969
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01969@rel:R25-11#4f5e2fe0
Content hash
4f5e2fe0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01969
Status: valid/unmigrated Version: rel:R25-11#b76c9464 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01969@rel:R25-11#b76c9464
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#3e7453c82026-09-30
  • R24-11rel:R24-11#bec87af22026-10-14
  • R25-11rel:R25-11#b76c94642026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция Process [SWS_DM_01968] Upstream: RS_Diag_04251

virtual ara::core::Future< void > Process (std::uint16_t certificate EvaluationId, ara::core::Span< ara::core::Byte const > certificate Data, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;

This method is used to process certificates send by a diagnostic tester, via the UDS subfunction TransmitCertificate inside the application. There is no specific semantics for the certificate and it is left to the application to process the received certificate and derive the needed actions.

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

Метод Process интерфейсного класса ara::diag::TransmitCertificate служит для внутриприкладной обработки сертификатов, передаваемых диагностическим тестером в рамках службы UDS 0x29 (Authentication) через субфункцию TransmitCertificate (0x04) [SWS_DM_01968], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.11.5 «Service 0x29 – transmitCertificate (0x04)». Поскольку AUTOSAR не задает специфической семантики для сертификата, содержательная проверка и вывод необходимых действий полностью возлагаются на приложение [SWS_DM_01968].

Метод вызывается асинхронно и принимает следующие параметры [SWS_DM_01968]:

  • certificateEvaluationId: 16-битный ID вычисления из сообщения диагностического запроса UDS для идентификации анализа сертификата [SWS_DM_01968], [SWS_DM_01247].
  • certificateData: данные сертификата, переданные тестером, в виде ara::core::Span<ara::core::Byte const> [SWS_DM_01968].
  • metaInfo: метаинформация о диагностическом запросе [SWS_DM_01968].
  • cancellationHandler: позволяет опрашивать статус отмены через cancellationHandler.IsCanceled(), а также регистрировать уведомление через cancellationHandler.SetNotifier() при преждевременном прерывании диагностической беседы [SWS_DM_01968].

Возврат осуществляется асинхронно в виде ara::core::Future<void> [SWS_DM_01968]. В случае сбоя обработки необходимо предоставить соответствующий Negative Response Code (NRC) согласно ISO 14229-1 через DiagUdsNrcErrc [SWS_DM_01968]. Функция объявлена как noexcept и является безопасной по исключениям (exception safe) [SWS_DM_01968].

Потокобезопасность является условной (conditional): она определяется ConcurrencyType, переданным конструктору ara::diag::TransmitCertificate [SWS_DM_01968]. Перед пересылкой менеджер диагностики проверяет запрос на основе certificateEvaluationId [SWS_DM_01247].

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

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

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
certificateEvaluationIdRepresents the 16bit certificate evaluation ID as part of the UDS request message
certificateDataCertificate to be verified, transmitted by the tester
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >void

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01968
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01968@rel:R25-11#a6f33373
Content hash
a6f33373
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01968
Status: valid/unmigrated Version: rel:R25-11#2f57ac3d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01968@rel:R25-11#2f57ac3d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#80309d8f2026-09-30
  • R24-11rel:R24-11#2e314ad32026-10-14
  • R25-11rel:R25-11#2f57ac3d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция StopOffer [SWS_DM_01970] Upstream: RS_Diag_04251

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

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

Метод StopOffer класса ara::diag::TransmitCertificate ([SWS_DM_01970]) завершает предоставление службы передачи сертификатов для Diagnostic Management (DM). Вызов деактивирует пересылку входящих сообщений диагностических запросов от DM этому обработчику ([SWS_DM_01970]).

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

Вызов выполняется без параметров с помощью сигнатуры void StopOffer() noexcept; из заголовка ara/diag/transmit_certificate.h ([SWS_DM_01970]). Функция не возвращает значения и специфицирована как noexcept, а также exception safe ([SWS_DM_01970]), благодаря чему гарантированно не генерирует исключений.

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

Метод явно специфицирован как not thread-safe ([SWS_DM_01970]). Поэтому вызывающие стороны должны гарантировать, что конкурирующие вызовы на одном и том же экземпляре ara::diag::TransmitCertificate синхронизируются внешними механизмами. Интерпретация: перед уничтожением экземпляра службы или при временной деактивации, вероятно, вызывается StopOffer, чтобы предотвратить поступление новых запросов во время смены состояния. Вопрос Q-9ab97301565c5bf9 (открытый)

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

Концепция соответствует стандартизированному паттерну DM по деактивации пересылки сообщений, как это также определено в связанных интерфейсах, таких как [SWS_DM_00767] (SecurityAccess), [SWS_DM_00810] (CommunicationControl) или [SWS_DM_01017] (EcuResetRequest). Хотя эта специфичная для производителя диагностическая реализация имеет общее наименование с коммуникационным фреймворком, ее следует отличать от ara::com (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). Элемент служит для выполнения требований верхнего уровня RS_Diag_04251, на которых также основан интерфейс аутентификации (AUTOSAR_AP_SWS_Diagnostics §8.3.1.1.3.2 «StopOffer»; [SWS_DM_01131]).

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

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

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01970
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01970@rel:R25-11#949549dc
Content hash
949549dc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01970
Status: valid/unmigrated Version: rel:R25-11#e825f7c2 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01970@rel:R25-11#e825f7c2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#27dc0f262026-09-30
  • R24-11rel:R24-11#7f4933e22026-10-14
  • R25-11rel:R25-11#e825f7c22026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция TransmitCertificate [SWS_DM_01962] Upstream: RS_Diag_04251, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit TransmitCertificate (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of TransmitCertificate.

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

Конструктор инициализирует экземпляр класса ara::diag::TransmitCertificate для обработки сертификатов в рамках службы UDS 0x29 (подфункция TransmitCertificate) [SWS_DM_01962].

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

Вызов выполняется синхронно и специфицирован как noexcept, а также exception safe [SWS_DM_01962]. При вызове передаются два параметра:

  • specifier: ara::core::InstanceSpecifier, который должен указывать на PortPrototype, типизированный через DiagnosticAuthenticationPortMapping на DiagnosticTransmitCertificateInterface в манифесте [SWS_DM_01962].
  • concurrencyType: определяет через kConcurrent или kNotConcurrent, разрешает ли интерфейс параллельные вызовы виртуального метода Process или обработка должна выполняться последовательно [SWS_DM_01962], [SWS_DM_01968].

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

Создание объекта является потокобезопасным [SWS_DM_01962]. Поскольку экземпляр аутентификации должен быть уникальным, конструкторы копирования и перемещения, а также операторы присваивания явно удалены [SWS_DM_01963], [SWS_DM_01964], [SWS_DM_01965], [SWS_DM_01966]. При ошибочных конфигурациях в манифесте или повторном использовании идентификатора регистрируются нарушения (такие как InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation или InstanceSpecifierAlreadyInUseViolation) [SWS_DM_01962]. Поскольку конструктор не генерирует исключений, эти сообщения, вероятно, сигнализируются через отчетность времени выполнения фреймворка ara. Вопрос Q-140f1e794355ad96 (открытый)

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

После конструирования экземпляр должен быть разблокирован с помощью Offer(), чтобы демон Diagnostic Management пересылал запросы [SWS_DM_01969]. При успешной обработке через Process() сервер отвечает положительно с параметром CertificateVerified (0x13) [SWS_DM_01251], тогда как ошибки приводят к отрицательным ответам UDS [SWS_DM_01249]. С помощью StopOffer() пересылка завершается [SWS_DM_01970].

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

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

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticAuthenticationPortMapping needs to be typed by a DiagnosticTransmitCertificateInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticTransmitCertificateInterface service instance in the manifest.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

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

Record
AUTOSAR/AP/record/SWS_DM_01962
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01962@rel:R25-11#945975e7
Content hash
945975e7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01962
Status: valid/unmigrated Version: rel:R25-11#4bc6b226 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01962@rel:R25-11#4bc6b226
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a2a421fd2026-09-30
  • R24-11rel:R24-11#038e02882026-10-14
  • R25-11rel:R25-11#4bc6b2262026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция TransmitCertificate [SWS_DM_01963] Upstream: RS_AP_00147

TransmitCertificate (TransmitCertificate &&) noexcept=delete;

Move constructor of TransmitCertificate.

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate

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

Record
AUTOSAR/AP/record/SWS_DM_01963
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01963@rel:R25-11#5c66d9bb
Content hash
5c66d9bb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01963
Status: valid/unmigrated Version: rel:R25-11#e75646b3 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01963@rel:R25-11#e75646b3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#448fd6ae2026-09-30
  • R24-11rel:R24-11#e75646b32026-10-14
  • R25-11rel:R25-11#e75646b32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция TransmitCertificate [SWS_DM_01964] Upstream: RS_AP_00147

TransmitCertificate (TransmitCertificate &)=delete;

Authentication shall be a single not copy-able instance.

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate

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

Record
AUTOSAR/AP/record/SWS_DM_01964
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01964@rel:R25-11#08034f71
Content hash
08034f71
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01964
Status: valid/unmigrated Version: rel:R25-11#54c14617 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01964@rel:R25-11#54c14617
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#aef5a0482026-09-30
  • R24-11rel:R24-11#54c146172026-10-14
  • R25-11rel:R25-11#54c146172026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01965] Upstream: RS_AP_00147

TransmitCertificate & operator= (TransmitCertificate &&)=delete;

Move assignment operator of TransmitCertificate.

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate

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

Record
AUTOSAR/AP/record/SWS_DM_01965
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01965@rel:R25-11#8606882b
Content hash
8606882b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01965
Status: valid/unmigrated Version: rel:R25-11#a9a5dc1b Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01965@rel:R25-11#a9a5dc1b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#72b99e592026-09-30
  • R24-11rel:R24-11#a9a5dc1b2026-10-14
  • R25-11rel:R25-11#a9a5dc1b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01966] Upstream: RS_AP_00147

TransmitCertificate & operator= (TransmitCertificate &)=delete;

Authentication shall be a single not assignable instance.

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate

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

Record
AUTOSAR/AP/record/SWS_DM_01966
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01966@rel:R25-11#fc5cf156
Content hash
fc5cf156
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01966
Status: valid/unmigrated Version: rel:R25-11#e8fa3524 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01966@rel:R25-11#e8fa3524
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#be2979622026-09-30
  • R24-11rel:R24-11#e8fa35242026-10-14
  • R25-11rel:R25-11#e8fa35242026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ~TransmitCertificate [SWS_DM_01967] Upstream: RS_Diag_04251

virtual ~TransmitCertificate () noexcept=default;

Destructor of TransmitCertificate.

Header-Datei#include "ara/diag/transmit_certificate.h"
Scopeclass ara::diag::TransmitCertificate
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01967
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01967@rel:R25-11#1f0d3929
Content hash
1f0d3929
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01967
Status: valid/unmigrated Version: rel:R25-11#9015cb63 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01967@rel:R25-11#9015cb63
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#c09be9702026-09-30
  • R24-11rel:R24-11#07c76de42026-10-14
  • R25-11rel:R25-11#9015cb632026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill