function CompareKey [SWS_DM_00765] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119
virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
This method is called, when a diagnostic request has been finished, to notify about the outcome.
Verwendung
Die rein virtuelle Methode CompareKey aus der Klasse ara::diag::SecurityAccess [SWS_DM_00765] wird anwendungsseitig implementiert, um den vom Client übermittelten Schlüssel beim UDS-Dienst 0x27 (SecurityAccess) zu validieren SWS Diagnostics §7.3.2.8.9 „Service 0x27 – SecurityAccess“. Zusammen mit GetSeed bildet sie die Grundlage für den statischen Seed-Key-Mechanismus nach ISO 14229-1 [SWS_DM_00863].
Die Parameter der Funktion umfassen:
key: Einara::core::Span<const std::uint8_t>auf die zu prüfenden Schlüsseldaten. Der Puffer bleibt gültig, bis das zugehörige Promise erfüllt oder die Verarbeitung über dencancellationHandlerabgebrochen wird [SWS_DM_00765].metaInfo: Metainformationen der eingehenden Diagnoseanfrage [SWS_DM_00765].cancellationHandler: Ermöglicht die Abfrage eines Abbruchs übercancellationHandler.IsCanceledsowie die Registrierung einer Benachrichtigungsfunktion viacancellationHandler.SetNotifierbei Abbruch der Konversation [SWS_DM_00765].
Das Prüfergebnis wird asynchron über ara::core::Future<KeyCompareResultType> bereitgestellt [SWS_DM_00765].
Fehlerbehandlung und Zusammenspiel
Schlägt der Schlüsselvergleich fehl oder tritt während der Verarbeitung ein Fehler auf, ist über das Future ein passender Negative Response Code (NRC) gemäß ISO 14229-1 mittels DiagUdsNrcErrc zu übergeben [SWS_DM_00765]. Ist die angeforderte Subfunktion für CompareKey nicht konfiguriert, wird die Anfrage mit NRC 0x12 (kSubFunctionNotSupported) beantwortet [SWS_DM_00363]. Der Diagnostic Server zählt fehlgeschlagene Versuche [SWS_DM_00270] und vergleicht diese mit Schwellenwerten [SWS_DM_00271].
Wird der Sicherheitszugriff erfolgreich freigeschaltet, aktualisiert der Server die Sicherheitsstufe intern [SWS_DM_00846], setzt den Fehlversuchszähler zurück [SWS_DM_00270] und meldet das Sicherheitsereignis SEV_UDS_SECURITY_ACCESS_SUCCESSFUL an das IdsM [SWS_DM_02019].
Nebenläufigkeit und Einschränkungen
Die Schnittstelle ist als noexcept deklariert und ausnahmesicher (exception safe) [SWS_DM_00765]. Die Thread-Sicherheit ist bedingt (conditional): Ob die Implementierung threadsicher sein muss, wird über den im Konstruktor von SecurityAccess übergebenen ConcurrencyType festgelegt [SWS_DM_00765].
Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.
Implementer's Guide folgt (Komplexität I2)
| Header-Datei | #include "ara/diag/security_access.h" |
|---|---|
| Scope | class ara::diag::SecurityAccess |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | conditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| key | The key to be validated. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. |
| cancellationHandler | This 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
| Typ | Beschreibung |
|---|---|
| ara::core::Future< KeyCompareResultType > | Result of the key validation. |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| 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_00765- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_DM_00765@rel:R25-11#d4d3823f- Content hash
d4d3823f- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00765
Status: valid/unmigrated
Version: rel:R25-11#fcff65aa
Versionshistorie & Revisions (1 transition, 8 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_00765@rel:R25-11#fcff65aa
Recorded Revisions (8):
- R25-11
rel:R25-11#d4d3823f2026-09-30 - R19-11
rel:R19-11#4bf18d9e2026-10-14 - R20-11
rel:R20-11#52ff58612026-10-14 - R21-11
rel:R21-11#42d7f4462026-10-14 - R22-11
rel:R22-11#94736e912026-10-14 - R23-11
rel:R23-11#cbc123ea2026-10-14 - R24-11
rel:R24-11#e09a76d52026-10-14 - R25-11
rel:R25-11#fcff65aa2026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-medium· 2026-10-13