DEENESPTFRRUARHIKOZHNL

class 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

User GuideKI-GENERIERT

Ermöglicht der Anwendung die Entgegennahme und Prüfung von Diagnose-Zertifikaten im UDS-Dienst Authentication.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 82e724c2cab7 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht der Anwendung die Entgegennahme und Prüfung von Diagnose-Zertifikaten im UDS-Dienst Authentication.

Die Klasse ara::diag::TransmitCertificate implementiert die Anwendungsschnittstelle für die UDS-Unterfunktion TransmitCertificate (0x29 0x04) des Dienstes Authentication [SWS_DM_01961]. Nach der Freigabe über Offer() nimmt die Anwendung übertragene Zertifikatsdaten in der asynchronen Methode Process() entgegen und leitet die anwendungsspezifische Verifizierung ein [SWS_DM_01968]. Bei erfolgreicher Prüfung veranlasst das Diagnose-Management eine positive UDS-Antwort mit dem Rückgabeparameter 0x13 (CertificateVerified), während Fehler als negative Antwort mit entsprechendem NRC beantwortet werden. Die Instanz ist fest an ein Port-Interface gebunden und darf weder kopiert noch verschoben werden.

Kontext

Die Klasse ara::diag::TransmitCertificate [SWS_DM_01961] im Header ara/diag/transmit_certificate.h (AUTOSAR_AP_SWS_Diagnostics §8.26 „Header: ara/diag/transmit_certificate.h“) stellt die Schnittstelle der Adaptive-Anwendung zur Realisierung der UDS-Unterfunktion TransmitCertificate (0x29 0x04) des Dienstes Authentication dar. Als generische Schnittstelle ermöglicht sie es der Anwendung, ein oder mehrere übermittelte Zertifikate anhand einer 16-Bit-Kennung (certificateEvaluationId) entgegenzunehmen und zu verarbeiten.

An der Interaktion sind drei Hauptkomponenten beteiligt:

  • Der externe Diagnosetester, der die UDS-Anfrage zur Zertifikatsübermittlung an das Fahrzeug sendet [SWS_DM_01968].
  • Der Diagnostic Server (Diagnose-Management, DM) der Adaptive Platform, welcher eingehende Diagnoseanfragen filtert, weiterleitet und die abschließenden UDS-Antworten generiert [SWS_DM_01251], [SWS_DM_01969].
  • Die Adaptive-Anwendung, welche eine von ara::diag::TransmitCertificate abgeleitete Instanz bereitstellt, die Zertifikatsprüfung vornimmt und das Ergebnis asynchron an den Server zurückliefert [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()

Kontextdiagramm: Beteiligte Komponenten bei der Zertifikatsübermittlung über UDS 0x29 04. Quellen: [SWS_DM_01968], [SWS_DM_01969], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 „Successful verification of transmitCertificate“.

Lebenszyklus

Instanzen von ara::diag::TransmitCertificate werden über den Konstruktor unter Angabe eines ara::core::InstanceSpecifier sowie des Nebenläufigkeitsmodus ConcurrencyType erzeugt [SWS_DM_01962]. Der InstanceSpecifier muss im Manifest auf einen PortPrototype verweisen, der durch ein DiagnosticTransmitCertificateInterface typisiert ist [SWS_DM_01962]. Schlägt diese Zuordnung fehl oder wird die Instanzkennung im aktuellen Prozess mehrfach verwendet, treten Laufzeitverletzungen wie InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation oder InstanceSpecifierAlreadyInUseViolation auf [SWS_DM_01962].

Die Klasse unterliegt strengen Besitz- und Instanziierungsregeln: Ein Authentifizierungs-Handler ist als eindeutige, nicht kopierbare und nicht verschiebbare Instanz ausgelegt. Dementsprechend sind der Kopierkonstruktor [SWS_DM_01964], der Kopierzuweisungsoperator [SWS_DM_01966] sowie der Move-Konstruktor [SWS_DM_01963] und der Move-Zuweisungsoperator [SWS_DM_01965] explizit gelöscht (=delete).

Der Konstruktor selbst ist threadsicher und ausnahmesicher spezifiziert [SWS_DM_01962]. Die Freigabe erfolgt über den virtuellen Standard-Destruktor [SWS_DM_01967]. Ob die eigentliche Ausführungsmethode Process threadsicher implementiert werden muss, hängt vom gewählten concurrencyType ab (kConcurrent oder kNotConcurrent) [SWS_DM_01962], [SWS_DM_01968].

Nutzungspfad

Der reguläre Ablauf umfasst die Registrierung des Handlers, die Verarbeitung eingehender Zertifikate und die spätere Deregistrierung:

  1. Dienst anbieten (Offer): Die Anwendung ruft Offer() auf, um dem Diagnose-Management zu signalisieren, dass Anfragen für die konfigurierte Schnittstelle an diesen Handler weitergeleitet werden dürfen [SWS_DM_01969].
  2. Anfrage empfangen (Process): Trifft beim Diagnostic Server ein UDS-Request der Unterfunktion TransmitCertificate ein, leitet dieser die Daten an die rein virtuelle Methode Process() der Anwendung weiter [SWS_DM_01968]. Die Methode erhält die 16-Bit-Kennung certificateEvaluationId, die Rohdaten des Zertifikats als ara::core::Span<ara::core::Byte const>, Metadaten (metaInfo) sowie einen cancellationHandler [SWS_DM_01968].
  3. Auswertung und Aktion: Da AUTOSAR keine feste Semantik für die Zertifikate vorschreibt, obliegt die Prüfung und das Ableiten erforderlicher Maßnahmen vollständig der Anwendung [SWS_DM_01968]. Interpretation: Die Anwendung dürfte das übermittelte Zertifikat typischerweise kryptografisch verifizieren oder zur Aktualisierung eines internen Schlüsselspeichers nutzen. Frage Q-34844f9257d074c6 (offen)
  4. Ergebnisübermittlung: Die Methode liefert ein ara::core::Future<void> zurück [SWS_DM_01968]. Schließt die Anwendung das Future erfolgreich ohne Fehler ab, übermittelt der Diagnostic Server eine positive UDS-Antwort an den Tester, in der der Parameter authenticationReturnParameter (RV) auf den Wert 0x13 (CertificateVerified) gesetzt wird [SWS_DM_01251] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 „Successful verification of transmitCertificate“).
  5. Dienst beenden (StopOffer): Soll der Handler keine weiteren Anfragen empfangen, beendet die Anwendung die Weiterleitung durch Aufruf von StopOffer() [SWS_DM_01970].
Ablauf der ZertifikatsübertragungTesterDiagnosticServerTransmitCertificateOffer()Result<void>Use Case: Zertifikatsübermittlung (UDS 0x29 04)UDS-Anfrage 0x29 04(certificateEvaluationId, certificateData)Process(certificateEvaluationId, certificateData, metaInfo, cancellationHandler)Zertifikatsprüfung / Aktion ableitenaltVerifizierung erfolgreichFuture<void> erfülltPositive Response (RV 0x13 CertificateVerified)Verifizierung fehlgeschlagenFuture<void> mit DiagUdsNrcErrcNegative Response (NRC)Use Case: Dienstangebot beendenStopOffer()

Sequenzdiagramm: Typischer Ablauf der Zertifikatsübertragung von Offer bis zur UDS-Antwort. Quellen: [SWS_DM_01968], [SWS_DM_01969], [SWS_DM_01970], [SWS_DM_01249], [SWS_DM_01251].

Fehlerszenarien

Fehlerzustände können in verschiedenen Phasen des Lebenszyklus auftreten:

  • Bereits aktives Angebot: Wird Offer() aufgerufen, obwohl der Dienst für diese Instanz bereits aktiv angeboten wird, schlägt der Aufruf fehl und liefert im ara::core::Result<void> den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik zurück [SWS_DM_01969]. Offer() und StopOffer() sind nicht threadsicher und dürfen nicht nebenläufig aufgerufen werden [SWS_DM_01969], [SWS_DM_01970].
  • Fehlgeschlagene Zertifikatsprüfung: Stellt die Anwendung bei der Auswertung in Process() einen Fehler fest, schließt sie das Future mit einem entsprechenden Fehlercode aus DiagUdsNrcErrc gemäß ISO 14229-1 ab [SWS_DM_01968]. Der Diagnostic Server fängt diesen Rückgabewert ab und sendet eine negative Diagnoseantwort (Negative Response) an den Tester, deren Negative Response Code (NRC) exakt dem übermittelten Fehlercode entspricht [SWS_DM_01249] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 „Handling Negative return values of ara::diag::TransmitCertificate::Process method“).
  • Abbruch laufender Konversationen: Während der asynchronen Verarbeitung kann die Anwendung den Status über cancellationHandler.IsCanceled() abfragen, um festzustellen, ob die Diagnosekonversation abgebrochen wurde [SWS_DM_01968]. Ergänzend kann über cancellationHandler.SetNotifier(...) eine Rückruffunktion registriert werden, die bei einem Abbruch sofort benachrichtigt wird [SWS_DM_01968].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 (Modul diag) und wurde mit Hilfe von KI kuratiert.

Mitgliederkarte

Konstruktoren und Destruktor

2

Operatoren

1

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of TransmitCertificate.

Überladungen 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

Destructor of TransmitCertificate.

virtual ~TransmitCertificate () noexcept=default;

Methoden

Offer function

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

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

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 function

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

void StopOffer () noexcept;

Operatoren

operator= function 2

Move assignment operator of TransmitCertificate.

Überladungen = 2

Dokumentation der Methoden

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: db62dd9c27e2 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Über die Methode Offer aktiviert eine Adaptive Application die Weiterleitung von Diagnoseanfragen durch den Diagnostic Management (DM) an den zuständigen Handler der Klasse ara::diag::TransmitCertificate [SWS_DM_01969]. Der Aufruf erfolgt synchron und parameterlos; die Schnittstelle ist als ausnahmesicher (noexcept) definiert [SWS_DM_01969]. Als Rückgabetyp dient ara::core::Result<void>, womit der Erfolg der Registrierung oder ein Fehlerzustand an den Aufrufer übermittelt wird [SWS_DM_01969].

Wurde die Funktion für die betreffende Handler-Instanz bereits zuvor aufgerufen, schlägt ein erneuter Aufruf fehl und liefert den spezifischen Fehler DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik zurück [SWS_DM_01969], welcher dem standardisierten Fehlerwert in DiagErrc entspricht [SWS_DM_00514]. Da die Methode explizit als nicht threadsicher spezifiziert ist [SWS_DM_01969], müssen parallele Zugriffe auf derselben Instanz vermieden werden (Interpretation: Ein Schutz vor nebenläufigen Aufrufen obliegt der anwendenden Software). Frage Q-b44b11a0a2dcb2b4 (offen)

Das Funktionsmuster von Offer folgt dem einheitlichen Bereitstellungskonzept diagnostischer Handler, wie es auch bei ara::diag::Authentication::Offer [SWS_DM_01130], ara::diag::CommunicationControl::Offer [SWS_DM_00809] oder ara::diag::GenericRoutine::Offer [SWS_DM_00557] angewendet wird. AUTOSAR stellt klar, dass trotz namensgleicher Anlehnung an ara::com eine eigenständige Diagnose-Implementierung vorliegt (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“). Vor der Bereitstellung durch Offer leitet der DM keine Anfragen an den Handler weiter, analog zu DoIP-Diensten, die vor dem Aufruf als nicht bereit gelten [SWS_DM_01525].

Dieser Verwendungshinweis wurde automatisiert generiert und basiert auf den Spezifikationen des Releases R25-11.

Implementer's Guide folgt (Komplexität 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#3e7453c8
Content hash
3e7453c8
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d261181b4bb6 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode Process der Schnittstellenklasse ara::diag::TransmitCertificate dient der anwendungsinternen Verarbeitung von Zertifikaten, die ein Diagnose-Tester im Rahmen des UDS-Dienstes 0x29 (Authentication) über die Subfunktion TransmitCertificate (0x04) übermittelt [SWS_DM_01968], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.11.5 „Service 0x29 – transmitCertificate (0x04)“. Da AUTOSAR keine spezifische Semantik für das Zertifikat vorgibt, obliegt die inhaltliche Prüfung und das Ableiten erforderlicher Aktionen vollständig der Anwendung [SWS_DM_01968].

Die Methode wird asynchron aufgerufen und nimmt folgende Parameter entgegen [SWS_DM_01968]:

  • certificateEvaluationId: 16-Bit-Evaluierungs-ID aus der UDS-Anforderungsnachricht zur Identifikation der Zertifikatsauswertung [SWS_DM_01968], [SWS_DM_01247].
  • certificateData: Die vom Tester übermittelten Zertifikatsdaten als ara::core::Span<ara::core::Byte const> [SWS_DM_01968].
  • metaInfo: Metainformationen zur Diagnoseanforderung [SWS_DM_01968].
  • cancellationHandler: Ermöglicht das Abfragen des Abbruchstatus via cancellationHandler.IsCanceled() sowie das Registrieren einer Benachrichtigung via cancellationHandler.SetNotifier() bei einem vorzeitigen Abbruch der Diagnose-Konversation [SWS_DM_01968].

Die Rückgabe erfolgt asynchron als ara::core::Future<void> [SWS_DM_01968]. Schlägt die Verarbeitung fehl, ist ein zutreffender Negative Response Code (NRC) nach ISO 14229-1 über DiagUdsNrcErrc bereitzustellen [SWS_DM_01968]. Die Funktion ist als noexcept deklariert und ausnahmesicher (exception safe) [SWS_DM_01968].

Die Thread-Sicherheit ist bedingt (conditional): Sie richtet sich nach dem ConcurrencyType, der dem Konstruktor von ara::diag::TransmitCertificate übergeben wird [SWS_DM_01968]. Vor der Weiterleitung validiert der Diagnose-Manager die Anfrage anhand der certificateEvaluationId [SWS_DM_01247].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#80309d8f
Content hash
80309d8f
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

function StopOffer [SWS_DM_01970] Upstream: RS_Diag_04251

void StopOffer () noexcept;

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7da07a83c1d7 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode StopOffer der Klasse ara::diag::TransmitCertificate ([SWS_DM_01970]) beendet die Bereitstellung des Zertifikatsübertragungs-Dienstes für das Diagnostic Management (DM). Durch den Aufruf wird die Weiterleitung eingehender Diagnose-Anforderungsnachrichten vom DM an diesen Handler deaktiviert ([SWS_DM_01970]).

Verwendung und Semantik

Der Aufruf erfolgt parameterlos über die Signatur void StopOffer() noexcept; aus dem Header ara/diag/transmit_certificate.h ([SWS_DM_01970]). Die Funktion liefert keinen Rückgabewert und ist als noexcept sowie exception safe spezifiziert ([SWS_DM_01970]), sodass sie garantiert keine Ausnahmen wirft.

Nebenläufigkeit und Einschränkungen

Die Methode ist explizit als not thread-safe spezifiziert ([SWS_DM_01970]). Aufrufer müssen daher sicherstellen, dass konkurrierende Aufrufe auf derselben Instanz von ara::diag::TransmitCertificate durch externe Mechanismen synchronisiert werden. Interpretation: Vor der Zerstörung einer Dienstinstanz oder bei temporärer Deaktivierung dürfte StopOffer aufgerufen werden, um ein Eintreffen neuer Anfragen während des Zustandswechsels zu unterbinden. Frage Q-9ab97301565c5bf9 (offen)

Zusammenspiel

Das Konzept entspricht dem standardisierten DM-Muster zur Deaktivierung der Nachrichtenweiterleitung, wie es auch in verwandten Schnittstellen wie [SWS_DM_00767] (SecurityAccess), [SWS_DM_00810] (CommunicationControl) oder [SWS_DM_01017] (EcuResetRequest) definiert ist. Diese herstellerspezifische Diagnose-Implementierung teilt zwar die Namensgebung mit dem Kommunikations-Framework, ist jedoch von ara::com zu unterscheiden (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“). Das Element dient der Erfüllung des Upstream-Requirements RS_Diag_04251, welches auch der Authentifizierungsschnittstelle zugrunde liegt (AUTOSAR_AP_SWS_Diagnostics §8.3.1.1.3.2 „StopOffer“; [SWS_DM_01131]).

Dieser Text wurde durch ein KI-System auf Basis der Spezifikationsdokumente erstellt.

Implementer's Guide folgt (Komplexität 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#27dc0f26
Content hash
27dc0f26
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b553bcd9da3e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Konstruktor initialisiert eine Instanz der Klasse ara::diag::TransmitCertificate zur Verarbeitung von Zertifikaten im Rahmen des UDS-Dienstes 0x29 (Subfunktion TransmitCertificate) [SWS_DM_01962].

Verwendung

Der Aufruf erfolgt synchron und ist als noexcept sowie exception safe spezifiziert [SWS_DM_01962]. Beim Aufruf werden zwei Parameter übergeben:

  • specifier: Ein ara::core::InstanceSpecifier, der auf einen PortPrototype verweisen muss, welcher über ein DiagnosticAuthenticationPortMapping auf ein DiagnosticTransmitCertificateInterface im Manifest typisiert ist [SWS_DM_01962].
  • concurrencyType: Bestimmt über kConcurrent oder kNotConcurrent, ob die Schnittstelle nebenläufige Aufrufe der virtuellen Methode Process erlaubt oder sequenziell verarbeitet werden muss [SWS_DM_01962], [SWS_DM_01968].

Fehlerbehandlung und Randbedingungen

Die Objekterzeugung ist thread-safe [SWS_DM_01962]. Da eine Authentifizierungsinstanz eindeutig sein muss, sind Kopier- und Verschiebekonstruktoren sowie Zuweisungsoperatoren explizit gelöscht [SWS_DM_01963], [SWS_DM_01964], [SWS_DM_01965], [SWS_DM_01966]. Bei Fehlkonfigurationen im Manifest oder doppelter Verwendung eines Bezeichners werden Violations gemeldet (wie InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation oder InstanceSpecifierAlreadyInUseViolation) [SWS_DM_01962]. Da der Konstruktor keine Exceptions wirft, dürften diese Meldungen über das Laufzeit-Reporting des ara-Frameworks signalisiert werden. Frage Q-140f1e794355ad96 (offen)

Zusammenspiel

Nach der Konstruktion muss die Instanz mittels Offer() freigegeben werden, damit der Diagnostic Management Daemon Anfragen weiterleitet [SWS_DM_01969]. Bei erfolgreicher Bearbeitung über Process() antwortet der Server positiv mit dem Parameter CertificateVerified (0x13) [SWS_DM_01251], während Fehler zu negativen UDS-Antworten führen [SWS_DM_01249]. Mit StopOffer() wird die Weiterleitung beendet [SWS_DM_01970].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich sind ausschließlich die offiziellen AUTOSAR-Spezifikationen.

Implementer's Guide folgt (Komplexität 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#a2a421fd
Content hash
a2a421fd
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

function 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#448fd6ae
Content hash
448fd6ae
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

function 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#aef5a048
Content hash
aef5a048
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

function 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#72b99e59
Content hash
72b99e59
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

function 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#be297962
Content hash
be297962
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

function ~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#c09be970
Content hash
c09be970
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