DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite a la aplicación la recepción y comprobación de certificados de diagnóstico en el servicio UDS Authentication.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 82e724c2cab7 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite a la aplicación la recepción y comprobación de certificados de diagnóstico en el servicio UDS Authentication.

La clase ara::diag::TransmitCertificate implementa la interfaz de aplicación para la subfunción UDS TransmitCertificate (0x29 0x04) del servicio Authentication [SWS_DM_01961]. Tras la habilitación mediante Offer(), la aplicación recibe los datos de certificado transmitidos en el método asíncrono Process() e inicia la verificación específica de la aplicación [SWS_DM_01968]. Si la comprobación es correcta, Diagnostic Management emite una respuesta UDS positiva con el parámetro de retorno 0x13 (CertificateVerified), mientras que los errores se responden como respuesta negativa con el NRC correspondiente. La instancia está vinculada de forma fija a una interfaz de puerto y no debe copiarse ni moverse.

Contexto

La clase ara::diag::TransmitCertificate [SWS_DM_01961] en el encabezado ara/diag/transmit_certificate.h (AUTOSAR_AP_SWS_Diagnostics §8.26 «Header: ara/diag/transmit_certificate.h») representa la interfaz de la aplicación Adaptive para la realización de la subfunción UDS TransmitCertificate (0x29 0x04) del servicio Authentication. Como interfaz genérica, permite a la aplicación recibir y procesar uno o más certificados transmitidos a partir de un identificador de 16 bits (certificateEvaluationId).

En la interacción intervienen tres componentes principales:

  • El tester de diagnóstico externo, que envía la petición UDS para la transmisión de certificados al vehículo [SWS_DM_01968].
  • El Diagnostic Server (Diagnostic Management, DM) de la Adaptive Platform, que filtra y reenvía las peticiones de diagnóstico entrantes y genera las respuestas UDS finales [SWS_DM_01251], [SWS_DM_01969].
  • La aplicación Adaptive, que proporciona una instancia derivada de ara::diag::TransmitCertificate, realiza la comprobación del certificado y devuelve el resultado de forma asíncrona al servidor [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()

Diagrama de contexto: componentes involucrados en la transmisión de certificados mediante UDS 0x29 04. Fuentes: [SWS_DM_01968], [SWS_DM_01969], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate».

Ciclo de vida

Las instancias de ara::diag::TransmitCertificate se crean mediante el constructor especificando un ara::core::InstanceSpecifier así como el modo de concurrencia ConcurrencyType [SWS_DM_01962]. En el manifiesto, el InstanceSpecifier debe hacer referencia a un PortPrototype que esté tipificado por un DiagnosticTransmitCertificateInterface [SWS_DM_01962]. Si esta asignación falla o el identificador de instancia se utiliza varias veces en el proceso actual, se producen infracciones en tiempo de ejecución como InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation o InstanceSpecifierAlreadyInUseViolation [SWS_DM_01962].

La clase está sujeta a estrictas reglas de propiedad e instanciación: un manejador de autenticación está diseñado como una instancia única, no copiable y no movible. En consecuencia, el constructor de copia [SWS_DM_01964], el operador de asignación por copia [SWS_DM_01966], así como el constructor de movimiento [SWS_DM_01963] y el operador de asignación por movimiento [SWS_DM_01965] están explícitamente eliminados (=delete).

El propio constructor está especificado como seguro para subprocesos y seguro contra excepciones [SWS_DM_01962]. La liberación se realiza mediante el destructor virtual por defecto [SWS_DM_01967]. Si el método de ejecución propiamente dicho Process debe implementarse de forma segura para subprocesos depende del concurrencyType seleccionado (kConcurrent o kNotConcurrent) [SWS_DM_01962], [SWS_DM_01968].

Ruta de uso

El flujo regular comprende el registro del manejador, el procesamiento de los certificados entrantes y la posterior cancelación del registro:

  1. Ofrecer servicio (Offer): la aplicación invoca Offer() para indicar a Diagnostic Management que las peticiones para la interfaz configurada pueden reenviarse a este manejador [SWS_DM_01969].
  2. Recibir petición (Process): si llega al Diagnostic Server una petición UDS de la subfunción TransmitCertificate, este reenvía los datos al método puramente virtual Process() de la aplicación [SWS_DM_01968]. El método recibe el identificador de 16 bits certificateEvaluationId, los datos sin procesar del certificado como ara::core::Span<ara::core::Byte const>, metadatos (metaInfo), así como un cancellationHandler [SWS_DM_01968].
  3. Evaluación y acción: dado que AUTOSAR no prescribe una semántica fija para los certificados, la verificación y la adopción de las medidas necesarias corresponden por completo a la aplicación [SWS_DM_01968]. Interpretación: la aplicación típicamente debería verificar el certificado transmitido de forma criptográfica o utilizarlo para actualizar un almacén de claves interno. Pregunta Q-34844f9257d074c6 (abierta)
  4. Transmisión del resultado: el método devuelve un ara::core::Future<void> [SWS_DM_01968]. Si la aplicación completa el future con éxito sin errores, el Diagnostic Server transmite una respuesta UDS positiva al tester, en la cual el parámetro authenticationReturnParameter (RV) se establece en el valor 0x13 (CertificateVerified) [SWS_DM_01251] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate»).
  5. Finalizar servicio (StopOffer): si el manejador no debe recibir más peticiones, la aplicación finaliza el reenvío mediante la invocación de StopOffer() [SWS_DM_01970].
Flujo de la transferencia de certificadosTesterDiagnosticServerTransmitCertificateOffer()Result<void>Use Case: Transmisión de certificado (UDS 0x29 04)UDS-Anfrage 0x29 04(certificateEvaluationId, certificateData)Process(certificateEvaluationId, certificateData, metaInfo, cancellationHandler)Comprobación de certificado / derivar acciónaltVerifizierung erfolgreichFuture<void> cumplidoPositive Response (RV 0x13 CertificateVerified)Verifizierung fehlgeschlagenFuture<void> con DiagUdsNrcErrcNegative Response (NRC)Use Case: Dienstangebot beendenStopOffer()

Diagrama de secuencia: flujo típico de la transmisión de certificados desde Offer hasta la respuesta UDS. Fuentes: [SWS_DM_01968], [SWS_DM_01969], [SWS_DM_01970], [SWS_DM_01249], [SWS_DM_01251].

Escenarios de error

Los estados de error pueden producirse en diferentes fases del ciclo de vida:

  • Oferta ya activa: si se invoca Offer() a pesar de que el servicio ya se ofrece activamente para esta instancia, la invocación falla y devuelve en ara::core::Result<void> el código de error DiagOfferErrc::kAlreadyOffered con semántica de reversión [SWS_DM_01969]. Offer() y StopOffer() no son seguros para subprocesos y no deben invocarse concurrentemente [SWS_DM_01969], [SWS_DM_01970].
  • Comprobación de certificado fallida: si la aplicación detecta un error durante la evaluación en Process(), completa el future con el correspondiente código de error de DiagUdsNrcErrc según ISO 14229-1 [SWS_DM_01968]. El Diagnostic Server intercepta este valor de retorno y envía una respuesta de diagnóstico negativa (Negative Response) al tester, cuyo Negative Response Code (NRC) coincide exactamente con el código de error transmitido [SWS_DM_01249] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Handling Negative return values of ara::diag::TransmitCertificate::Process method»).
  • Cancelación de conversaciones en curso: durante el procesamiento asíncrono, la aplicación puede consultar el estado a través de cancellationHandler.IsCanceled() para determinar si la conversación de diagnóstico se ha cancelado [SWS_DM_01968]. De manera complementaria, mediante cancellationHandler.SetNotifier(...) se puede registrar una función de retrollamada a la que se notifica de inmediato en caso de cancelación [SWS_DM_01968].

Esta guía se basa en la especificación AUTOSAR Adaptive Platform R25-11 (módulo diag) y ha sido elaborada con la ayuda de IA.

Mapa de miembros

Constructores y destructor

2

Operadores

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructor of TransmitCertificate.

Sobrecargas 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;

Métodos

Offer función

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

ara::core::Result< void > Offer () noexcept;
Process función

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 función

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

void StopOffer () noexcept;

Operadores

operator= función 2

Move assignment operator of TransmitCertificate.

Sobrecargas = 2

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: db62dd9c27e2 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

A través del método Offer, una Adaptive Application activa el reenvío de solicitudes de diagnóstico por parte del Diagnostic Management (DM) al handler competente de la clase ara::diag::TransmitCertificate [SWS_DM_01969]. La llamada se realiza de forma síncrona y sin parámetros; la interfaz está definida como segura frente a excepciones (noexcept) [SWS_DM_01969]. Como tipo de retorno sirve ara::core::Result<void>, con lo cual se transmite al emisor de la llamada el éxito del registro o un estado de error [SWS_DM_01969].

Si la función ya se había invocado previamente para la instancia del handler en cuestión, una nueva llamada falla y devuelve el error específico DiagOfferErrc::kAlreadyOffered con semántica de rollback [SWS_DM_01969], que corresponde al valor de error estandarizado en DiagErrc [SWS_DM_00514]. Dado que el método está especificado explícitamente como no seguro para subprocesos [SWS_DM_01969], deben evitarse los accesos paralelos sobre la misma instancia (interpretación: la protección contra llamadas concurrentes recae en el software de aplicación). Pregunta Q-b44b11a0a2dcb2b4 (abierta)

El patrón funcional de Offer sigue el concepto uniforme de puesta a disposición de handlers de diagnóstico, tal como se aplica también en ara::diag::Authentication::Offer [SWS_DM_01130], ara::diag::CommunicationControl::Offer [SWS_DM_00809] o ara::diag::GenericRoutine::Offer [SWS_DM_00557]. AUTOSAR aclara que, a pesar de la similitud en la denominación con ara::com, se trata de una implementación de diagnóstico independiente (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). Antes de la puesta a disposición mediante Offer, el DM no reenvía solicitudes al handler, de forma análoga a los servicios DoIP, que se consideran no listos antes de la llamada [SWS_DM_01525].

Esta nota de uso se generó de manera automatizada y se basa en las especificaciones del release R25-11.

Guía del implementador pendiente (complejidad 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#31577bb5
Content hash
31577bb5
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d261181b4bb6 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método Process de la clase de interfaz ara::diag::TransmitCertificate sirve para el procesamiento interno en la aplicación de certificados que un tester de diagnóstico transmite en el marco del servicio UDS 0x29 (Authentication) mediante la subfunción TransmitCertificate (0x04) [SWS_DM_01968], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.11.5 «Service 0x29 – transmitCertificate (0x04)». Dado que AUTOSAR no predetermina una semántica específica para el certificado, la comprobación del contenido y la derivación de las acciones requeridas recaen enteramente en la aplicación [SWS_DM_01968].

El método se invoca de forma asíncrona y recibe los siguientes parámetros [SWS_DM_01968]:

  • certificateEvaluationId: ID de evaluación de 16 bits del mensaje de solicitud UDS para la identificación de la evaluación del certificado [SWS_DM_01968], [SWS_DM_01247].
  • certificateData: los datos del certificado transmitidos por el tester como ara::core::Span<ara::core::Byte const> [SWS_DM_01968].
  • metaInfo: metainformación sobre la solicitud de diagnóstico [SWS_DM_01968].
  • cancellationHandler: permite consultar el estado de cancelación mediante cancellationHandler.IsCanceled(), así como registrar una notificación mediante cancellationHandler.SetNotifier() en caso de cancelación prematura de la conversación de diagnóstico [SWS_DM_01968].

El retorno se realiza de forma asíncrona como ara::core::Future<void> [SWS_DM_01968]. Si el procesamiento falla, se debe proporcionar un Negative Response Code (NRC) correspondiente según ISO 14229-1 a través de DiagUdsNrcErrc [SWS_DM_01968]. La función está declarada como noexcept y es segura frente a excepciones (exception safe) [SWS_DM_01968].

La seguridad para subprocesos es condicional (conditional): se rige por el ConcurrencyType transferido al constructor de ara::diag::TransmitCertificate [SWS_DM_01968]. Antes del reenvío, el administrador de diagnóstico valida la solicitud en función de certificateEvaluationId [SWS_DM_01247].

Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#1f7ced07
Content hash
1f7ced07
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

función StopOffer [SWS_DM_01970] Upstream: RS_Diag_04251

void StopOffer () noexcept;

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7da07a83c1d7 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método StopOffer de la clase ara::diag::TransmitCertificate ([SWS_DM_01970]) finaliza la puesta a disposición del servicio de transferencia de certificados para el Diagnostic Management (DM). Mediante la llamada, se desactiva el reenvío de mensajes de solicitud de diagnóstico entrantes desde el DM a este handler ([SWS_DM_01970]).

Uso y semántica

La llamada se realiza sin parámetros mediante la firma void StopOffer() noexcept; del encabezado ara/diag/transmit_certificate.h ([SWS_DM_01970]). La función no devuelve ningún valor de retorno y está especificada como noexcept y exception safe ([SWS_DM_01970]), de modo que garantiza no lanzar excepciones.

Concurrencia y restricciones

El método está especificado explícitamente como not thread-safe ([SWS_DM_01970]). Por lo tanto, los emisores de llamadas deben asegurarse de que las llamadas concurrentes sobre la misma instancia de ara::diag::TransmitCertificate se sincronicen mediante mecanismos externos. Interpretación: es probable que se llame a StopOffer antes de la destrucción de una instancia de servicio o en caso de desactivación temporal para evitar la llegada de nuevas solicitudes durante el cambio de estado. Pregunta Q-9ab97301565c5bf9 (abierta)

Interacción

El concepto responde al patrón estandarizado del DM para desactivar el reenvío de mensajes, tal como se define también en interfaces afines como [SWS_DM_00767] (SecurityAccess), [SWS_DM_00810] (CommunicationControl) o [SWS_DM_01017] (EcuResetRequest). Si bien esta implementación de diagnóstico específica del fabricante comparte la nomenclatura con el framework de comunicación, debe distinguirse de ara::com (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). El elemento sirve para dar cumplimiento al upstream requirement RS_Diag_04251, en el que también se fundamenta la interfaz de autenticación (AUTOSAR_AP_SWS_Diagnostics §8.3.1.1.3.2 «StopOffer»; [SWS_DM_01131]).

Este texto ha sido elaborado por un sistema de IA a partir de los documentos de especificación.

Guía del implementador pendiente (complejidad 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#840fc556
Content hash
840fc556
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b553bcd9da3e Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El constructor inicializa una instancia de la clase ara::diag::TransmitCertificate para el procesamiento de certificados en el marco del servicio UDS 0x29 (subfunción TransmitCertificate) [SWS_DM_01962].

usar

La llamada se realiza de forma síncrona y está especificada como noexcept, así como exception safe [SWS_DM_01962]. En la llamada se transfieren dos parámetros:

  • specifier: un ara::core::InstanceSpecifier que debe hacer referencia a un PortPrototype, el cual está tipificado mediante un DiagnosticAuthenticationPortMapping hacia un DiagnosticTransmitCertificateInterface en el manifiesto [SWS_DM_01962].
  • concurrencyType: determina mediante kConcurrent o kNotConcurrent si la interfaz permite llamadas concurrentes del método virtual Process o si debe procesarse secuencialmente [SWS_DM_01962], [SWS_DM_01968].

Tratamiento de errores y condiciones límite

La creación del objeto es thread-safe [SWS_DM_01962]. Dado que una instancia de autenticación debe ser unívoca, los constructores de copia y movimiento, así como los operadores de asignación, están explícitamente eliminados [SWS_DM_01963], [SWS_DM_01964], [SWS_DM_01965], [SWS_DM_01966]. En caso de configuraciones erróneas en el manifiesto o de uso duplicado de un identificador se notifican violaciones (tales como InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation o InstanceSpecifierAlreadyInUseViolation) [SWS_DM_01962]. Dado que el constructor no lanza excepciones, estas notificaciones deberían señalizarse a través del reporte en tiempo de ejecución del framework ara. Pregunta Q-140f1e794355ad96 (abierta)

Interacción

Tras la construcción, la instancia debe habilitarse mediante Offer() para que el demonio del Diagnostic Management reenvíe las solicitudes [SWS_DM_01969]. En caso de procesamiento correcto mediante Process(), el servidor responde positivamente con el parámetro CertificateVerified (0x13) [SWS_DM_01251], mientras que los errores dan lugar a respuestas negativas de UDS [SWS_DM_01249]. Con StopOffer() se finaliza el reenvío [SWS_DM_01970].

Este texto fue generado por una IA y sirve como guía orientativa. Únicamente las especificaciones oficiales de AUTOSAR son vinculantes.

Guía del implementador pendiente (complejidad 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#b7e29fa8
Content hash
b7e29fa8
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

función 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#3e7908c5
Content hash
3e7908c5
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

función 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#c7a1919b
Content hash
c7a1919b
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

función 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#4dde1d2e
Content hash
4dde1d2e
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

función 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#f4cff6ba
Content hash
f4cff6ba
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

función ~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#4c866d3c
Content hash
4c866d3c
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