DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Permite que a aplicação receba e verifique certificados de diagnóstico no serviço UDS Authentication.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 82e724c2cab7 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que a aplicação receba e verifique certificados de diagnóstico no serviço UDS Authentication.

A classe ara::diag::TransmitCertificate implementa a interface de aplicação para a subfunção UDS TransmitCertificate (0x29 0x04) do serviço Authentication [SWS_DM_01961]. Após a liberação via Offer(), a aplicação recebe dados de certificado transmitidos no método assíncrono Process() e inicia a verificação específica da aplicação [SWS_DM_01968]. Em caso de verificação bem-sucedida, o Diagnostic Management dispara uma resposta positiva de UDS com o parâmetro de retorno 0x13 (CertificateVerified), enquanto erros são respondidos como uma resposta negativa com o NRC correspondente. A instância é vinculada de forma fixa a uma interface de porta e não deve ser copiada nem movida.

Contexto

A classe ara::diag::TransmitCertificate [SWS_DM_01961] no cabeçalho ara/diag/transmit_certificate.h (AUTOSAR_AP_SWS_Diagnostics §8.26 «Header: ara/diag/transmit_certificate.h») representa a interface da aplicação Adaptive para a realização da subfunção UDS TransmitCertificate (0x29 0x04) do serviço Authentication. Como interface genérica, ela permite que a aplicação receba e processe um ou mais certificados transmitidos com base em um identificador de 16 bits (certificateEvaluationId).

Três componentes principais participam da interação:

  • O testador de diagnóstico externo, que envia a requisição UDS para transmissão de certificados ao veículo [SWS_DM_01968].
  • O Diagnostic Server (Diagnostic Management, DM) da Adaptive Platform, que filtra e encaminha requisições de diagnóstico recebidas e gera as respostas UDS finais [SWS_DM_01251], [SWS_DM_01969].
  • A aplicação Adaptive, que disponibiliza uma instância derivada de ara::diag::TransmitCertificate, realiza a verificação do certificado e retorna o resultado de forma assíncrona ao 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 envolvidos na transmissão de certificados via UDS 0x29 04. Fontes: [SWS_DM_01968], [SWS_DM_01969], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate».

Ciclo de vida

Instâncias de ara::diag::TransmitCertificate são criadas através do construtor mediante especificação de um ara::core::InstanceSpecifier, bem como do modo de concorrência ConcurrencyType [SWS_DM_01962]. O InstanceSpecifier deve referenciar no manifesto um PortPrototype tipificado por um DiagnosticTransmitCertificateInterface [SWS_DM_01962]. Se esse mapeamento falhar ou se o identificador de instância for utilizado múltiplas vezes no processo atual, ocorrem violações de tempo de execução como InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation ou InstanceSpecifierAlreadyInUseViolation [SWS_DM_01962].

A classe está sujeita a regras estritas de posse e instanciação: um manipulador de autenticação é projetado como uma instância única, não copiável e não movível. Consequentemente, o construtor de cópia [SWS_DM_01964], o operador de atribuição por cópia [SWS_DM_01966], bem como o construtor de movimento [SWS_DM_01963] e o operador de atribuição por movimento [SWS_DM_01965] estão explicitamente excluídos (=delete).

O próprio construtor é especificado como seguro para threads e seguro contra exceções [SWS_DM_01962]. A liberação ocorre através do destrutor padrão virtual [SWS_DM_01967]. Se o método de execução real Process precisa ser implementado de forma segura para threads depende do concurrencyType selecionado (kConcurrent ou kNotConcurrent) [SWS_DM_01962], [SWS_DM_01968].

Caminho de utilização

O fluxo regular abrange o registro do manipulador, o processamento de certificados recebidos e o cancelamento posterior de registro:

  1. Oferecer serviço (Offer): a aplicação chama Offer() para sinalizar ao Diagnostic Management que requisições para a interface configurada podem ser encaminhadas a este manipulador [SWS_DM_01969].
  2. Receber requisição (Process): se uma requisição UDS da subfunção TransmitCertificate chegar ao Diagnostic Server, este encaminha os dados para o método puramente virtual Process() da aplicação [SWS_DM_01968]. O método recebe o identificador de 16 bits certificateEvaluationId, os dados brutos do certificado como ara::core::Span<ara::core::Byte const>, metadados (metaInfo) e um cancellationHandler [SWS_DM_01968].
  3. Avaliação e ação: como a AUTOSAR não prescreve uma semântica fixa para os certificados, a verificação e a derivação das medidas necessárias cabem inteiramente à aplicação [SWS_DM_01968]. Interpretação: a aplicação tipicamente deve verificar criptograficamente o certificado transmitido ou utilizá-lo para a atualização de um armazenamento interno de chaves. Pergunta Q-34844f9257d074c6 (aberta)
  4. Transmissão do resultado: o método retorna um ara::core::Future<void> [SWS_DM_01968]. Se a aplicação concluir o future com sucesso e sem erros, o Diagnostic Server transmite uma resposta UDS positiva ao testador, na qual o parâmetro authenticationReturnParameter (RV) é definido para o valor 0x13 (CertificateVerified) [SWS_DM_01251] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Successful verification of transmitCertificate»).
  5. Encerrar serviço (StopOffer): se o manipulador não deve mais receber requisições adicionais, a aplicação encerra o encaminhamento chamando StopOffer() [SWS_DM_01970].
Fluxo da transferência de certificadoTesterDiagnosticServerTransmitCertificateOffer()Result<void>Use Case: Transmissão de certificado (UDS 0x29 04)UDS-Anfrage 0x29 04(certificateEvaluationId, certificateData)Process(certificateEvaluationId, certificateData, metaInfo, cancellationHandler)Verificação de certificado / derivar açãoaltVerifizierung erfolgreichFuture<void> atendidoPositive Response (RV 0x13 CertificateVerified)Verifizierung fehlgeschlagenFuture<void> com DiagUdsNrcErrcNegative Response (NRC)Use Case: Dienstangebot beendenStopOffer()

Diagrama de sequência: fluxo típico da transmissão de certificado desde Offer até a resposta UDS. Fontes: [SWS_DM_01968], [SWS_DM_01969], [SWS_DM_01970], [SWS_DM_01249], [SWS_DM_01251].

Cenários de erro

Estados de erro podem ocorrer em diferentes fases do ciclo de vida:

  • Oferta já ativa: se Offer() for chamado embora o serviço já esteja sendo oferecido ativamente para esta instância, a chamada falha e retorna no ara::core::Result<void> o código de erro DiagOfferErrc::kAlreadyOffered com semântica de reversão [SWS_DM_01969]. Offer() e StopOffer() não são seguros para threads e não devem ser chamados concorrentemente [SWS_DM_01969], [SWS_DM_01970].
  • Falha na verificação do certificado: se a aplicação identificar um erro durante a avaliação em Process(), ela conclui o future com um código de erro correspondente de DiagUdsNrcErrc conforme a ISO 14229-1 [SWS_DM_01968]. O Diagnostic Server intercepta esse valor de retorno e envia uma resposta negativa de diagnóstico (Negative Response) ao testador, cujo Negative Response Code (NRC) corresponde exatamente ao código de erro transmitido [SWS_DM_01249] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 «Handling Negative return values of ara::diag::TransmitCertificate::Process method»).
  • Cancelamento de conversações em andamento: durante o processamento assíncrono, a aplicação pode consultar o status via cancellationHandler.IsCanceled() para verificar se a conversação de diagnóstico foi cancelada [SWS_DM_01968]. Adicionalmente, pode ser registrada via cancellationHandler.SetNotifier(...) uma função de callback que é notificada imediatamente em caso de cancelamento [SWS_DM_01968].

Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11 (módulo diag) e foi curado com o auxílio de IA.

Mapa de membros

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

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 função

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

ara::core::Result< void > Offer () noexcept;
Process função

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 função

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

void StopOffer () noexcept;

Operadores

operator= função 2

Move assignment operator of TransmitCertificate.

Sobrecargas = 2

Documentação dos métodos

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: db62dd9c27e2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Por meio do método Offer, uma Adaptive Application ativa o encaminhamento de requisições de diagnóstico pelo Diagnostic Management (DM) para o handler responsável da classe ara::diag::TransmitCertificate [SWS_DM_01969]. A chamada ocorre de forma síncrona e sem parâmetros; a interface é definida como segura contra exceções (noexcept) [SWS_DM_01969]. Como tipo de retorno serve ara::core::Result<void>, com o qual o sucesso do registro ou um estado de erro é transmitido ao chamador [SWS_DM_01969].

Se a função já tiver sido chamada anteriormente para a respectiva instância do handler, uma nova chamada falhará e retornará o erro específico DiagOfferErrc::kAlreadyOffered com semântica de rollback [SWS_DM_01969], o qual corresponde ao valor de erro padronizado em DiagErrc [SWS_DM_00514]. Como o método é explicitamente especificado como não thread-safe [SWS_DM_01969], acessos paralelos na mesma instância devem ser evitados (interpretação: a proteção contra chamadas concorrentes incumbe ao software de aplicação). Pergunta Q-b44b11a0a2dcb2b4 (aberta)

O padrão funcional de Offer segue o conceito uniforme de disponibilização de handlers de diagnóstico, como também é aplicado em ara::diag::Authentication::Offer [SWS_DM_01130], ara::diag::CommunicationControl::Offer [SWS_DM_00809] ou ara::diag::GenericRoutine::Offer [SWS_DM_00557]. A AUTOSAR esclarece que, apesar da semelhança nominal com ara::com, trata-se de uma implementação de diagnóstico independente (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). Antes da disponibilização por Offer, o DM não encaminha requisições para o handler, de forma análoga aos serviços DoIP, que são considerados não prontos antes da chamada [SWS_DM_01525].

Esta nota de uso foi gerada automaticamente e baseia-se nas especificações do release R25-11.

Guia do implementador em breve (complexidade 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#40527a3f
Content hash
40527a3f
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d261181b4bb6 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Process da classe de interface ara::diag::TransmitCertificate serve para o processamento interno na aplicação de certificados que um testador de diagnóstico transmite no âmbito do serviço UDS 0x29 (Authentication) por meio da subfunção TransmitCertificate (0x04) [SWS_DM_01968], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.11.5 «Service 0x29 – transmitCertificate (0x04)». Como a AUTOSAR não define uma semântica específica para o certificado, a verificação do conteúdo e a derivação das ações necessárias incumbem inteiramente à aplicação [SWS_DM_01968].

O método é chamado de forma assíncrona e recebe os seguintes parâmetros [SWS_DM_01968]:

  • certificateEvaluationId: ID de avaliação de 16 bits da mensagem de requisição UDS para identificação da avaliação do certificado [SWS_DM_01968], [SWS_DM_01247].
  • certificateData: os dados do certificado transmitidos pelo testador como ara::core::Span<ara::core::Byte const> [SWS_DM_01968].
  • metaInfo: metainformações sobre a requisição de diagnóstico [SWS_DM_01968].
  • cancellationHandler: permite consultar o status de cancelamento via cancellationHandler.IsCanceled(), bem como registrar uma notificação via cancellationHandler.SetNotifier() em caso de interrupção prematura da conversação de diagnóstico [SWS_DM_01968].

O retorno ocorre de forma assíncrona como ara::core::Future<void> [SWS_DM_01968]. Se o processamento falhar, um Negative Response Code (NRC) aplicável conforme a ISO 14229-1 deve ser disponibilizado por meio de DiagUdsNrcErrc [SWS_DM_01968]. A função é declarada como noexcept e é segura contra exceções (exception safe) [SWS_DM_01968].

A segurança de threads é condicional (conditional): ela orienta-se pelo ConcurrencyType passado para o construtor de ara::diag::TransmitCertificate [SWS_DM_01968]. Antes do encaminhamento, o gerenciador de diagnóstico valida a requisição com base na certificateEvaluationId [SWS_DM_01247].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#493353fa
Content hash
493353fa
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

função StopOffer [SWS_DM_01970] Upstream: RS_Diag_04251

void StopOffer () noexcept;

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7da07a83c1d7 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método StopOffer da classe ara::diag::TransmitCertificate ([SWS_DM_01970]) encerra a disponibilização do serviço de transmissão de certificados para o Diagnostic Management (DM). Por meio da chamada, o encaminhamento de mensagens de requisição de diagnóstico recebidas do DM para este handler é desativado ([SWS_DM_01970]).

Utilização e semântica

A chamada ocorre sem parâmetros por meio da assinatura void StopOffer() noexcept; do cabeçalho ara/diag/transmit_certificate.h ([SWS_DM_01970]). A função não fornece valor de retorno e é especificada como noexcept, bem como exception safe ([SWS_DM_01970]), de modo que garante não lançar exceções.

Simultaneidade e restrições

O método é explicitamente especificado como not thread-safe ([SWS_DM_01970]). Os chamadores devem, portanto, assegurar que chamadas concorrentes na mesma instância de ara::diag::TransmitCertificate sejam sincronizadas por mecanismos externos. Interpretação: antes da destruição de uma instância de serviço ou em caso de desativação temporária, supõe-se que StopOffer seja chamado para impedir a chegada de novas requisições durante a mudança de estado. Pergunta Q-9ab97301565c5bf9 (aberta)

Interação

O conceito corresponde ao padrão padronizado do DM para a desativação do encaminhamento de mensagens, como também está definido em interfaces correlatas como [SWS_DM_00767] (SecurityAccess), [SWS_DM_00810] (CommunicationControl) ou [SWS_DM_01017] (EcuResetRequest). Embora esta implementação de diagnóstico específica do fabricante compartilhe a nomenclatura com o framework de comunicação, ela deve ser diferenciada de ara::com (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). O elemento serve para o atendimento do upstream requirement RS_Diag_04251, o qual também serve de base para a interface de autenticação (AUTOSAR_AP_SWS_Diagnostics §8.3.1.1.3.2 «StopOffer»; [SWS_DM_01131]).

Este texto foi criado por um sistema de IA com base nos documentos de especificação.

Guia do implementador em breve (complexidade 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#60923c9f
Content hash
60923c9f
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b553bcd9da3e Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O construtor inicializa uma instância da classe ara::diag::TransmitCertificate para o processamento de certificados no âmbito do serviço UDS 0x29 (subfunção TransmitCertificate) [SWS_DM_01962].

usar

A chamada ocorre de forma síncrona e é especificada como noexcept bem como exception safe [SWS_DM_01962]. Na chamada, são passados dois parâmetros:

  • specifier: Um ara::core::InstanceSpecifier que deve referenciar um PortPrototype tipificado através de um DiagnosticAuthenticationPortMapping para um DiagnosticTransmitCertificateInterface no manifesto [SWS_DM_01962].
  • concurrencyType: Determina através de kConcurrent ou kNotConcurrent se a interface permite chamadas concorrentes do método virtual Process ou se deve ser processada sequencialmente [SWS_DM_01962], [SWS_DM_01968].

Tratamento de erros e condições de contorno

A instanciação do objeto é thread-safe [SWS_DM_01962]. Como uma instância de autenticação deve ser unívoca, os construtores de cópia e de movimentação, bem como os operadores de atribuição, foram explicitamente excluídos [SWS_DM_01963], [SWS_DM_01964], [SWS_DM_01965], [SWS_DM_01966]. Em caso de configurações incorretas no manifesto ou uso duplicado de um identificador, são reportadas violations (como InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation ou InstanceSpecifierAlreadyInUseViolation) [SWS_DM_01962]. Como o construtor não lança exceptions, presume-se que essas mensagens sejam sinalizadas por meio do relatório de tempo de execução do framework ara. Pergunta Q-140f1e794355ad96 (aberta)

Interação

Após a construção, a instância deve ser disponibilizada por meio de Offer() para que o Diagnostic Management Daemon encaminhe requisições [SWS_DM_01969]. Em caso de processamento bem-sucedido via Process(), o servidor responde positivamente com o parâmetro CertificateVerified (0x13) [SWS_DM_01251], ao passo que erros levam a respostas UDS negativas [SWS_DM_01249]. O encaminhamento é encerrado com StopOffer() [SWS_DM_01970].

Este texto foi gerado por uma IA e serve como orientação. Apenas as especificações oficiais da AUTOSAR são vinculativas.

Guia do implementador em breve (complexidade 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#ee4765bc
Content hash
ee4765bc
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

função 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#dddb5811
Content hash
dddb5811
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

função 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#7cb551af
Content hash
7cb551af
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

função 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#a5303496
Content hash
a5303496
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

função 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#66db63a3
Content hash
66db63a3
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

função ~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#f654be49
Content hash
f654be49
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