DEENESPTFRRUARHIKOZHNL

class ara::crypto::x509::CertificateValidationCtx

[SWS_CRYPT_50115] Upstream: RS_CRYPTO_02205

class CertificateValidationCtx {...};

Certificate Validation Context.

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::x509

User GuideKI-GENERIERT

Dient der Pfadvalidierung von X.509-Zertifikaten und Zertifikatsketten anhand konfigurierter Vertrauensanker.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: aa16fb2bd5c5 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient der Pfadvalidierung von X.509-Zertifikaten und Zertifikatsketten anhand konfigurierter Vertrauensanker.

Die Klasse ara::crypto::x509::CertificateValidationCtx dient der Validierung von X.509-Zertifikaten und vollständigen Zertifikatsketten gemäß RFC 5280 ([SWS_CRYPT_50122]). Vor der Ausführung konfiguriert die Anwendung den Kontext durch das Hinzufügen von Vertrauensankern, optionalen Zwischenzertifikaten, Prüfzeitpunkten sowie Prüfoptionen und bindet bei Bedarf OCSP-Antworten zur Sperrprüfung ein ([SWS_CRYPT_50117]). Werden OCSP-Antworten registriert, müssen die Validierungsoptionen zwingend das entsprechende OCSP-Verhalten definieren, um Inkompatibilitätsfehler bei der Pfadprüfung zu vermeiden. Sämtliche Schnittstellenmethoden sind ausnahmesicher und für den nebenläufigen Zugriff ausgelegt.

Kontext

Die Klasse ara::crypto::x509::CertificateValidationCtx definiert die standardisierte Schnittstelle für die Validierung von X.509-Zertifikaten und Zertifikatsketten gemäß RFC 5280 ([SWS_CRYPT_50122], [SWS_CRYPT_50123]). Im Gesamtsystem der AUTOSAR Adaptive Platform übernimmt sie die Aufgabe, Vertrauensbeziehungen nachzuweisen, Zertifikatspfade zu verifizieren und den Status kryptografischer Zertifikate vor deren Verwendung in Sicherheitsbeziehungen festzustellen.

Als zentraler Interaktionspartner dient die aufrufende Anwendung, welche den Kontext mit Vertrauensankern ([SWS_CRYPT_50117]), nicht vertrauenswürdigen Zwischenzertifikaten ([SWS_CRYPT_50118]) sowie Sperrinformationen in Form von OCSP-Antworten ([SWS_CRYPT_50124]) versorgt. Das Ergebnis der Validierung wird als CertificateValidationResult ([SWS_CRYPT_50122]) bereitgestellt.

CertificateValidationCtxKontext Anwendung Anwendung CertificateValidationCtx CertificateValidationCtx Anwendung->CertificateValidationCtx konfiguriert und steuert CertificateValidationResult CertificateValidationResult CertificateValidationCtx->CertificateValidationResult liefert Prüfergebnis Certificate Certificate Certificate->CertificateValidationCtx dient als Vertrauensanker oder Prüfling OcspResponse OcspResponse OcspResponse->CertificateValidationCtx liefert Sperrstatus

Kontextdiagramm: Einbindung von CertificateValidationCtx zwischen Anwendung, Eingabezertifikaten, Sperrprüfungen und Ergebnisobjekt. Quellen: [SWS_CRYPT_50117], [SWS_CRYPT_50122], [SWS_CRYPT_50124].

Lebenszyklus

Instanzen der Schnittstelle werden über den Typ-Alias Sptr ([SWS_CRYPT_50116]) als std::shared_ptr<CertificateValidationCtx> verwaltet, was eine geteilte Eigentümerschaft und flexible Lebensdauersteuerung durch die nutzenden Softwarekomponenten ermöglicht. Da es sich um eine rein virtuelle Schnittstellenklasse handelt, existiert kein öffentlicher Konstruktor; die Erzeugung der konkreten Kontext-Instanz dürfte vermutlich über entsprechende Erzeugungsfunktionen einer Provider-Implementierung des Krypto-Stacks erfolgen. Frage Q-6ac4ee6766e22994 (offen)

Hinsichtlich der Nebenläufigkeit sind sämtliche virtuellen Elementfunktionen als threadsicher (thread-safe) spezifiziert ([SWS_CRYPT_50117], [SWS_CRYPT_50120], [SWS_CRYPT_50122]). Weiterhin gewährleisten alle Methoden Ausnahmesicherheit (exception safe) und sind mit noexcept deklariert ([SWS_CRYPT_50117], [SWS_CRYPT_50122]). Zustandsmäßig verhält sich der Kontext als konfigurierbarer Akkumulator: Er nimmt Prüfparameter, Zertifikate und Statusantworten auf und hält diese für Validierungsschritte vor.

Nutzungspfad

Die typische Nutzung des Validierungskontexts gliedert sich in eine strukturierte Abfolge aus Konfigurationsschritten und der anschließenden Validierungsausführung:

  1. Vertrauensanker hinterlegen: Mittels AddTrustedCertificate ([SWS_CRYPT_50117]) werden ein oder mehrere vertrauenswürdige Zertifikate als Ausgangspunkte für die Pfadvalidierung hinzugefügt. Zusätzliche, nicht vertrauenswürdige Zwischenzertifikate können über AddUntrustedCertificate ([SWS_CRYPT_50118]) bereitgestellt werden.
  2. Validierungsregeln und Referenzzeit konfigurieren: Über SetValidationOptions ([SWS_CRYPT_50120]) wird eine Bitmaske zur Steuerung des Prüfverhaltens übergeben. Mit SetCurrentTime ([SWS_CRYPT_50121]) kann ein expliziter Zeitpunkt für Gültigkeitsprüfungen festgelegt werden; unterbleibt dieser Aufruf, zieht der Kontext automatisch die Systemzeit heran ([SWS_CRYPT_50121]). Sollen spezifische, nicht unterstützte kritische Erweiterungen von der Prüfung ausgenommen werden, lässt sich deren OID über IgnoreCriticalExtension ([SWS_CRYPT_50119]) registrieren. Dies bleibt wirkungslos, wenn die Option kIgnoreUnknownCriticalExtensions gesetzt ist ([SWS_CRYPT_50119]).
  3. Sperrinformationen ergänzen: Über AddOcspResponse ([SWS_CRYPT_50124]) können eine oder mehrere OCSP-Antworten hinzugefügt werden. Der Aussteller der OCSP-Antwort muss dabei entweder zuvor als Zertifikat im Kontext hinterlegt worden sein, über das Extended-Key-Usage-Attribut id-kp-OCSPSigning derselben CA verfügen oder über den optionalen Parameter trustedOcspIssuerCertificate übergeben werden ([SWS_CRYPT_50124]).
  4. Validierung ausführen: Zur Prüfung eines Zielzertifikats dient ValidateCertificate ([SWS_CRYPT_50122]). Alternativ validiert ValidateCertificateChain ([SWS_CRYPT_50123]) eine geordnete Zertifikatskette, beginnend mit dem Blattzertifikat an Position 0. Hierbei werden zuvor über AddUntrustedCertificate registrierte Zertifikate ignoriert und ausschließlich die übergebene Kette gegen die vertrauenswürdigen Zertifikate geprüft ([SWS_CRYPT_50123]).
Ablauf der ZertifikatsvalidierungAnwendungCertificateValidationCtxAddTrustedCertificate(caCert)Result<void>SetValidationOptions(options)Result<void>optOCSP-PrüfungAddOcspResponse(ocspResp, issuerCert)Result<CertificateValidationStatus>ValidateCertificate(targetCert)Result<CertificateValidationResult::Sptrc>

Sequenzdiagramm: Typische Aufrufreihenfolge zur Konfiguration und Validierung von Zertifikaten. Quellen: [SWS_CRYPT_50117], [SWS_CRYPT_50120], [SWS_CRYPT_50122], [SWS_CRYPT_50124].

Fehlerszenarien

Die Fehlerbehandlung erfolgt konsistent über ara::core::Result ohne C++-Ausnahmen:

  • Ungültige Konfigurationsoptionen: Wird SetValidationOptions mit einer unzulässigen Bitmaske aufgerufen, schlägt der Aufruf fehl und liefert den Fehlercode ara::crypto::CryptoErrc::kInvalidArgument mit Rollback-Semantik ([SWS_CRYPT_50120]).
  • Widersprüchliche OCSP-Konfiguration: Wurde mindestens eine OCSP-Antwort über AddOcspResponse hinterlegt, ohne dass in den CertificateValidationOptions das Verhalten für OCSP spezifiziert wurde, geben sowohl ValidateCertificate ([SWS_CRYPT_50122]) als auch ValidateCertificateChain ([SWS_CRYPT_50123]) den Fehler ara::crypto::CryptoErrc::kIncompatibleArguments mit Rollback-Semantik zurück.
  • Fehlgeschlagene OCSP-Validierung: Kann die Signatur oder Herkunft einer OCSP-Antwort in AddOcspResponse ([SWS_CRYPT_50124]) nicht gegen die definierten Kriterien validiert werden, liefert die Funktion den entsprechenden Statuscode CertificateValidationStatus oder einen implementierungsspezifischen Fehler anstelle von kValid.
  • Implementierungsspezifische Fehler: Bei internen Problemen der Krypto-Bibliothek können Methoden wie AddTrustedCertificate ([SWS_CRYPT_50117]) oder IgnoreCriticalExtension ([SWS_CRYPT_50119]) implementierungsspezifische Fehlercodes im Ergebnisobjekt melden.

Dieser Leitfaden basiert auf den Anforderungen der Spezifikation AUTOSAR Adaptive Platform R25-11.

Mitgliederkarte

Klassendiagramm

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

G nara__crypto__x509__CertificateValidationCtx565 CertificateValidationCtx + AddOcspResponse() + AddTrustedCertificate() + AddUntrustedCertificate() + IgnoreCriticalExtension() + SetCurrentTime() + SetValidationOptions() + ValidateCertificate() + ValidateCertificateChain()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Validate and add an OCSP response to be used during certificate validation to the set of previously added OCSP responses. Multiple OCSP responses may be added to one context. In order to validate the OCSP response, the issuer of the OCSP response must have been a) set as a trusted or untrusted certificate in this context previously, or b) the CRL must have been signed by another certificate that has the id-kp-OCSPSigning extended key usage set issued by the same CA, or c) the CRL must be signed by a trusted CA passed to this function using the optional trustedOcspIssuerCertificate parameter.

virtual ara::core::Result< CertificateValidationStatus > AddOcsp Response (OcspResponse::Sptrc ocspResponse, ara::core::Optional< Certificate::Sptrc > trustedOcspIssuerCertificate) noexcept=0;

Add a trusted certificates to be used during certificate path validation to the set of previously added trusted certificates.

virtual ara::core::Result< void > AddTrustedCertificate ( Certificate::Sptrc trustedCertificate) noexcept=0;

Add an untrusted certificate to be used during certificate path validation to the set of previously added untrusted certificates.

virtual ara::core::Result< void > AddUntrustedCertificate ( Certificate::Sptrc untrustedCertificate) noexcept=0;

Configure the context to ignore an extension during validation of certificates and OCSP responses, even if the extension is marked as critical and the validation context does not support the extension. It is the responsibility of the application to validate such extensions. Multiple invocations of this function lead to ignoring all passed extensions. This function has no effect if the kIgnoreUnknownCriticalExtensions validation option is set.

virtual ara::core::Result< void > IgnoreCriticalExtension (ara::core::StringView ignoredExtensionOid) noexcept=0;

Set the reference time point to be used as the current time during certificate validation. If this function is not called, the system time will be used during certificate validation.

virtual ara::core::Result< void > SetCurrentTime (Timestamp current Time) noexcept=0;

Set validation options to be used during certificate validation.

virtual ara::core::Result< void > SetValidationOptions (Certificate ValidationOptions CertificateValidationOptions) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context.

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificate (Certificate::Sptrc certificate) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context. The function ignores any certificates added to the context via Add UntrustedCertificate. Instead, the function validates the provided chain against any trusted certificate that has been set using the function AddTrustedCertificate.

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificateChain (const ara::core::Span< Certificate::Sptrc > certificateChain) noexcept=0;

Typaliase

Sptr type alias

Smart pointer of the interface.

Dokumentation der Methoden

function AddOcspResponse [SWS_CRYPT_50124] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationStatus > AddOcsp Response (OcspResponse::Sptrc ocspResponse, ara::core::Optional< Certificate::Sptrc > trustedOcspIssuerCertificate) noexcept=0;

Validate and add an OCSP response to be used during certificate validation to the set of previously added OCSP responses. Multiple OCSP responses may be added to one context. In order to validate the OCSP response, the issuer of the OCSP response must have been a) set as a trusted or untrusted certificate in this context previously, or b) the CRL must have been signed by another certificate that has the id-kp-OCSPSigning extended key usage set issued by the same CA, or c) the CRL must be signed by a trusted CA passed to this function using the optional trustedOcspIssuerCertificate parameter.

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

Verwendung

Die Methode AddOcspResponse der Klasse ara::crypto::x509::CertificateValidationCtx validiert eine übergebene OCSP-Antwort (ocspResponse) und fügt sie bei Gültigkeit dem Satz bereits hinterlegter OCSP-Antworten im Validierungskontext hinzu [SWS_CRYPT_50124]. Einem Kontext können mehrere Antworten hinzugefügt werden [SWS_CRYPT_50124]. Über den optionalen Parameter trustedOcspIssuerCertificate kann ein spezifisches Zertifikat übergeben werden, das bei der Prüfung der OCSP-Antwort als vertrauenswürdig gilt; wird dieser Parameter ausgelassen, zieht die Validierung die zuvor mittels AddTrustedCertificate konfigurierten Zertifikate heran [SWS_CRYPT_50124].

Der synchrone Aufruf liefert ein ara::core::Result<CertificateValidationStatus> zurück, welches bei erfolgreicher Übernahme den Status kValid enthält oder andernfalls das Ergebnis der OCSP-Validierung beziehungsweise einen Fehler abbildet [SWS_CRYPT_50124].

Fehlerbehandlung

Die Spezifikation definiert keine standardisierten Fehlercodes für diesen Aufruf [SWS_CRYPT_50124]. Scheitert die Operation, wird entweder der entsprechende Validierungsstatus im Ergebnis transportiert oder ein implementierungsspezifischer Fehler über das Result-Objekt signalisiert [SWS_CRYPT_50124].

Nebenläufigkeit und Einschränkungen

Die Operation ist als thread-safe und exception-safe spezifiziert [SWS_CRYPT_50124]. Damit die Validierung der OCSP-Antwort gelingt, muss eine der folgenden Bedingungen erfüllt sein [SWS_CRYPT_50124]:

  • Der Aussteller wurde zuvor im Kontext als vertrauenswürdiges oder unvertrauenswürdiges Zertifikat hinterlegt [SWS_CRYPT_50124].
  • Die Signatur stammt von einem Zertifikat mit gesetzter Erweiterung id-kp-OCSPSigning derselben Zertifizierungsstelle (CA) [SWS_CRYPT_50124].
  • Die Signatur stammt von einer vertrauenswürdigen CA, die direkt über trustedOcspIssuerCertificate übergeben wurde [SWS_CRYPT_50124].

Zusammenspiel

Die registrierten OCSP-Antworten fließen in nachgelagerte Validierungsprüfungen ein, wie sie von [SWS_CRYPT_50122] (ValidateCertificate) und [SWS_CRYPT_50123] (ValidateCertificateChain) vorgenommen werden. Interpretation: Die OCSP-Antworten dürften vor dem Start der Pfadvalidierung hinzugefügt werden müssen, damit der Sperrstatus der Zertifikate berücksichtigt werden kann. Frage Q-fbb0711617fd7895 (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikationsdaten generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
ocspResponseThe OCSP response to be used during certificate validation.
trustedOcspIssuerCertificateIf provided, the certificate to be considered trusted during validation of the OCSP response. If not provided, the certificates added via AddTrustedCertificate are considered trusted.

Rückgabewert

TypBeschreibung
ara::core::Result<CertificateValidationStatus >a result containing kValid if the response was added, or the result of the OCSP response validation, or an implementation specific error otherwise.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50124
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50124@rel:R25-11#802cfd8b
Content hash
802cfd8b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50124
Status: valid/unmigrated Version: rel:R25-11#802cfd8b Versionshistorie & Revisions (1 transition)
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_CRYPT_50124@rel:R25-11#802cfd8b
Point-in-Time History:
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 AddTrustedCertificate [SWS_CRYPT_50117] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > AddTrustedCertificate ( Certificate::Sptrc trustedCertificate) noexcept=0;

Add a trusted certificates to be used during certificate path validation to the set of previously added trusted certificates.

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

Die Methode AddTrustedCertificate der Klasse ara::crypto::x509::CertificateValidationCtx ergänzt die Menge der vertrauenswürdigen Zertifikate für nachfolgende Validierungen um ein weiteres Zertifikat [SWS_CRYPT_50117].

Verwendung

Der Aufruf erfolgt über die Schnittstelle in ara/crypto/x509/certificate_validation_ctx.h. Als Parameter wird trustedCertificate vom Typ Certificate::Sptrc übergeben, welches bei der Zertifikatspfadvalidierung als vertrauenswürdig betrachtet wird [SWS_CRYPT_50117]. Die Funktion liefert bei erfolgreicher Ausführung ein leeres ara::core::Result<void> zurück [SWS_CRYPT_50117].

Fehlerbehandlung

Die Spezifikation definiert keine standardisierten Fehlercodes für diese Funktion [SWS_CRYPT_50117]. Tritt während der Verarbeitung ein Fehler auf, wird ein implementationsspezifischer Fehler über das ara::core::Result zurückgemeldet [SWS_CRYPT_50117].

Nebenläufigkeit und Einschränkungen

Die Methode ist als noexcept=0 deklariert, gilt als ausnahmesicher (exception safe) und ist explizit als threadsicher (thread-safe) spezifiziert [SWS_CRYPT_50117].

Zusammenspiel

Die registrierten vertrauenswürdigen Zertifikate wirken mit anderen Funktionen des Validierungskontexts zusammen:

  • In ValidateCertificateChain wird eine Zertifikatskette nach RFC 5280 gegen die zuvor über AddTrustedCertificate hinterlegten vertrauenswürdigen Zertifikate validiert, während unvertrauenswürdige Zertifikate ignoriert werden [SWS_CRYPT_50123].
  • Bei AddOcspResponse kann ein zuvor im Kontext gesetztes vertrauenswürdiges Zertifikat als Aussteller herangezogen werden, um die Gültigkeit der OCSP-Antwort zu prüfen [SWS_CRYPT_50124].

Dieser Nutzungshinweis wurde automatisiert auf Basis des Spezifikationsstands R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
trustedCertificatea certificate to be considered trusted during certificate path validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50117
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50117@rel:R25-11#d31aab33
Content hash
d31aab33
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50117
Status: valid/unmigrated Version: rel:R25-11#d31aab33 Versionshistorie & Revisions (1 transition)
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_CRYPT_50117@rel:R25-11#d31aab33
Point-in-Time History:
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 AddUntrustedCertificate [SWS_CRYPT_50118] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > AddUntrustedCertificate ( Certificate::Sptrc untrustedCertificate) noexcept=0;

Add an untrusted certificate to be used during certificate path validation to the set of previously added untrusted certificates.

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

Die Methode AddUntrustedCertificate des Kontexttyps ara::crypto::x509::CertificateValidationCtx fügt ein nicht vertrauenswürdiges Zertifikat zur Menge der zuvor registrierten Zertifikate hinzu, damit dieses während der Zertifikatspfadvalidierung berücksichtigt werden kann [SWS_CRYPT_50118]. Die Einbindung erfolgt über die Header-Datei #include "ara/crypto/x509/certificate_validation_ctx.h" [SWS_CRYPT_50118]. Als Parameter wird ein Smart-Pointer auf das zu berücksichtigende Zertifikat (Certificate::Sptrc untrustedCertificate) übergeben [SWS_CRYPT_50118]. Da die Methode unmittelbar ein ara::core::Result<void> zurückliefert, dürfte die Registrierung synchron abgewickelt werden [SWS_CRYPT_50118]. Frage Q-879b384ff6efe687 (offen)

Hinsichtlich der Fehlerbehandlung spezifiziert AUTOSAR keine standardisierten Fehlercodes für diese Schnittstelle [SWS_CRYPT_50118]. Im Erfolgsfall enthält das zurückgegebene ara::core::Result keinen Wert (void); im Fehlerfall liefert es einen implementationsspezifischen Fehlercode [SWS_CRYPT_50118]. Aufrufer müssen das Result-Objekt daher vor der weiteren Verwendung des Validierungskontexts auf Fehler prüfen. Die Methode ist als noexcept deklariert und als ausnahmesicher (exception safe) eingestuft, womit keine C++-Ausnahmen über die Schnittstellengrenze propagiert werden [SWS_CRYPT_50118].

Die Operation ist explizit als thread-sicher (thread-safe) deklariert [SWS_CRYPT_50118]. Mehrere Threads können somit nebenläufig Zertifikate in denselben Validierungskontext einsteuern. Der Aufruf sollte sinnvollerweise vor dem Start der Pfadvalidierung erfolgen, um sicherzustellen, dass alle benötigten Zertifikate für den Validierungsalgorithmus bereitstehen [SWS_CRYPT_50118].

Dieser Nutzungshinweis wurde von einer KI generiert und basiert auf dem Spezifikationsstand von AUTOSAR R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
untrustedCertificatea certificate to be considered untrusted during certificate path validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50118@rel:R25-11#6956d0c9
Content hash
6956d0c9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50118
Status: valid/unmigrated Version: rel:R25-11#6956d0c9 Versionshistorie & Revisions (1 transition)
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_CRYPT_50118@rel:R25-11#6956d0c9
Point-in-Time History:
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 IgnoreCriticalExtension [SWS_CRYPT_50119] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > IgnoreCriticalExtension (ara::core::StringView ignoredExtensionOid) noexcept=0;

Configure the context to ignore an extension during validation of certificates and OCSP responses, even if the extension is marked as critical and the validation context does not support the extension. It is the responsibility of the application to validate such extensions. Multiple invocations of this function lead to ignoring all passed extensions. This function has no effect if the kIgnoreUnknownCriticalExtensions validation option is set.

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

Verwendung

Die Methode IgnoreCriticalExtension an [SWS_CRYPT_50119] konfiguriert die Instanz von ara::crypto::x509::CertificateValidationCtx so, dass eine spezifische Zertifikatserweiterung bei der Prüfung von Zertifikaten sowie OCSP-Antworten ignoriert wird. Dies gilt auch dann, wenn die Erweiterung als kritisch gekennzeichnet ist und vom Validierungskontext originär nicht unterstützt wird. Der Parameter ignoredExtensionOid übernimmt die OID der zu ignorierenden Erweiterung als ara::core::StringView. Mehrfache Aufrufe führen dazu, dass sämtliche übergebenen Erweiterungs-OIDs ignoriert werden. Die Ausführung erfolgt synchron und ist als noexcept deklariert.

Fehlerbehandlung und Nebenläufigkeit

Die Funktion spezifiziert keine standardisierten Fehlercodes; im Erfolgsfall liefert sie ein leeres ara::core::Result<void> zurück, während im Fehlerfall ein implementierungsspezifischer Fehlercode enthalten ist [SWS_CRYPT_50119]. Bezüglich der Nebenläufigkeit ist die Schnittstelle als threadsicher (thread-safe) und ausnahmesicher (exception safe) spezifiziert.

Einschränkungen und Zusammenspiel

Wird eine kritische Erweiterung ignoriert, liegt die fachliche Validierung dieser Erweiterung vollständig in der Verantwortung der Anwendung [SWS_CRYPT_50119]. Sofern die Validierungsoption kIgnoreUnknownCriticalExtensions gesetzt ist, entfaltet der Aufruf keine zusätzliche Wirkung. Das Übergehen nicht unterstützter kritischer Erweiterungen dürfte verhindern, dass die spätere Pfadprüfung im Rahmen von [SWS_CRYPT_40203] (etwa bei der Ermittlung des CertificateValidationStatus) fehlschlägt. Frage Q-a087c9a9543c092a (offen)

Dieser Text wurde von einer KI erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
ignoredExtensionOidthe OID of the extension to be ignored during certificate and OCSP response validation

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50119
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50119@rel:R25-11#fedabb0a
Content hash
fedabb0a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50119
Status: valid/unmigrated Version: rel:R25-11#fedabb0a Versionshistorie & Revisions (1 transition)
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_CRYPT_50119@rel:R25-11#fedabb0a
Point-in-Time History:
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 SetCurrentTime [SWS_CRYPT_50121] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > SetCurrentTime (Timestamp current Time) noexcept=0;

Set the reference time point to be used as the current time during certificate validation. If this function is not called, the system time will be used during certificate validation.

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
currentTimeThe time point to be used as the current time during certificate validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50121
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50121@rel:R25-11#9a207572
Content hash
9a207572
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50121
Status: valid/unmigrated Version: rel:R25-11#9a207572 Versionshistorie & Revisions (1 transition)
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_CRYPT_50121@rel:R25-11#9a207572
Point-in-Time History:
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 SetValidationOptions [SWS_CRYPT_50120] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > SetValidationOptions (Certificate ValidationOptions CertificateValidationOptions) noexcept=0;

Set validation options to be used during certificate validation.

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

Verwendung

Die Methode SetValidationOptions der Klasse ara::crypto::x509::CertificateValidationCtx dient gemäß [SWS_CRYPT_50120] dazu, die Optionen für die Durchführung einer Zertifikatsvalidierung festzulegen. Als Parameter erwartet die rein virtuelle Funktion CertificateValidationOptions, eine Bitmaske zur Identifikation der gewünschten Validierungsoptionen. Der Aufruf wird über den Header ara/crypto/x509/certificate_validation_ctx.h bereitgestellt.

Fehlerbehandlung

Die Schnittstelle liefert gemäß [SWS_CRYPT_50120] ein ara::core::Result<void> zurück. Bei erfolgreicher Ausführung enthält das Ergebnis keinen Wert (leeres Resultat). Falls ein ungültiger Wert für die Optionen übergeben wird, schlägt die Operation mit dem Fehlercode ara::crypto::CryptoErrc::kInvalidArgument fehl. Dabei greift eine Rollback-Semantik. Tritt ein anderer Fehler auf, kann ein implementationsspezifischer Fehlercode zurückgegeben werden.

Nebenläufigkeit und Einschränkungen

Gemäß [SWS_CRYPT_50120] ist die Methode als threadsicher (thread-safe) spezifiziert und darf nebenläufig aufgerufen werden. Sie ist zudem als ausnahmesicher (exception safe) sowie mit noexcept deklariert, weshalb keine Exceptions über die Schnittstellengrenze geworfen werden dürfen.

Dieser Text wurde von einer KI auf Basis von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
CertificateValidationOptionsA bitmask identifying validation options. The semantics of each option is specified in the CertificateValidationOptions type.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics an invalid CertificateValidationOptions has been provided

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50120
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50120@rel:R25-11#ffc647e8
Content hash
ffc647e8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50120
Status: valid/unmigrated Version: rel:R25-11#ffc647e8 Versionshistorie & Revisions (1 transition)
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_CRYPT_50120@rel:R25-11#ffc647e8
Point-in-Time History:
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 ValidateCertificate [SWS_CRYPT_50122] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificate (Certificate::Sptrc certificate) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context.

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

Die Methode ValidateCertificate der Klasse ara::crypto::x509::CertificateValidationCtx aus dem Header ara/crypto/x509/certificate_validation_ctx.h führt eine synchrone Zertifikatspfadvalidierung gemäß RFC 5280 durch [SWS_CRYPT_50122]. Die Validierungsprüfung erfolgt auf Basis der vorherigen Konfiguration des Instanzkontexts. Als einziger Eingabeparameter wird das zu validierende Zertifikat über den Zeiger certificate vom Typ Certificate::Sptrc übergeben [SWS_CRYPT_50122].

Als Rückgabetyp dient ara::core::Result<CertificateValidationResult::Sptrc>, welcher im Erfolgsfall einen Zeiger auf das Validierungsergebnis enthält oder im Fehlerfall einen Fehlercode bereitstellt [SWS_CRYPT_50122]. Neben implementierungsspezifischen Fehlern kann der spezifische Fehlercode ara::crypto::CryptoErrc::kIncompatibleArguments auftreten [SWS_CRYPT_50122]. Dieser besitzt Rollback-Semantik und wird zurückgegeben, wenn mittels AddOcspResponse eine OCSP-Antwort hinterlegt wurde, die konfigurierten CertificateValidationOptions jedoch kein OCSP-Verhalten spezifizieren.

Bezüglich der Ausführungssicherheit und Nebenläufigkeit ist die Methode als threadsicher (thread-safe) sowie ausnahmesicher (exception safe) spezifiziert und wirft keine Ausnahmen (noexcept) [SWS_CRYPT_50122]. Als Reihenfolgebedingung ist zu beachten, dass der Validierungskontext vorab initialisiert und konfiguriert sein muss, da die Prüfung unmittelbar auf dessen Voreinstellungen aufsetzt [SWS_CRYPT_50122].

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
certificateThe certificate to be validated.

Rückgabewert

TypBeschreibung
ara::core::Result<CertificateValidationResult::Sptrc >The result of the certificate validation, or an implementation specific error.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if an OCSP response has been set via AddOcspResponse, but the CertificateValidationOptions do not specify the OCSP behavior.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50122
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50122@rel:R25-11#9b4a138d
Content hash
9b4a138d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50122
Status: valid/unmigrated Version: rel:R25-11#9b4a138d Versionshistorie & Revisions (1 transition)
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_CRYPT_50122@rel:R25-11#9b4a138d
Point-in-Time History:
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 ValidateCertificateChain [SWS_CRYPT_50123] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificateChain (const ara::core::Span< Certificate::Sptrc > certificateChain) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context. The function ignores any certificates added to the context via Add UntrustedCertificate. Instead, the function validates the provided chain against any trusted certificate that has been set using the function AddTrustedCertificate.

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

Die Methode ValidateCertificateChain im Kontext ara::crypto::x509::CertificateValidationCtx führt eine synchrone Pfadvalidierung einer Zertifikatskette gemäß RFC 5280 durch [SWS_CRYPT_50123].

Verwendung und Parameter

Als Eingabe erwartet die Funktion über den Parameter certificateChain eine Kette vom Typ ara::core::Span<Certificate::Sptrc>. Dabei repräsentiert Element 0 das Blattzertifikat (Leaf Certificate), während jedes nachfolgende Element den Aussteller des jeweils vorangegangenen Zertifikats enthalten muss [SWS_CRYPT_50123]. Die Funktion ignoriert Zertifikate, die zuvor über AddUntrustedCertificate registriert wurden, und validiert die übergebene Kette ausschließlich gegen Vertrauensanker, die mittels AddTrustedCertificate hinterlegt wurden [SWS_CRYPT_50123].

Fehlerbehandlung

Das Ergebnis wird gekapselt als ara::core::Result<CertificateValidationResult::Sptrc> bereitgestellt, das entweder einen Zeiger auf das Validierungsergebnis oder einen Fehlercode enthält [SWS_CRYPT_50123]. Der Fehler ara::crypto::CryptoErrc::kIncompatibleArguments tritt mit Rollback-Semantik auf, wenn zuvor über AddOcspResponse eine OCSP-Antwort gesetzt wurde, die aktuellen CertificateValidationOptions jedoch kein OCSP-Verhalten definieren [SWS_CRYPT_50123]. Andere Fehlerursachen werden als implementationsspezifische Fehlercodes zurückgemeldet [SWS_CRYPT_50123].

Nebenläufigkeit und Ausführungssicherheit

Die Schnittstelle ist als noexcept deklariert, gilt als ausnahmesicher (exception safe) und ist für den nebenläufigen Zugriff als threadsicher (thread-safe) eingestuft [SWS_CRYPT_50123].

Dieser Text wurde von einer KI generiert und dient der technischen Orientierung.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
certificateChainThe certificate chain to be validated. Element 0 contains the leaf certificate and each subsequent certificate contains the issuer of the previous certificate.

Rückgabewert

TypBeschreibung
ara::core::Result<CertificateValidationResult::Sptrc >The result of the certificate validation, or an implementation specific error.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if an OCSP response has been set via AddOcspResponse, but the CertificateValidationOptions do not specify the OCSP behavior.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50123
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50123@rel:R25-11#2fc9935e
Content hash
2fc9935e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50123
Status: valid/unmigrated Version: rel:R25-11#2fc9935e Versionshistorie & Revisions (1 transition)
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_CRYPT_50123@rel:R25-11#2fc9935e
Point-in-Time History:
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

Dokumentation der Typaliase

type alias Sptr [SWS_CRYPT_50116] Upstream: RS_CRYPTO_02205

using Sptr = std::shared_ptr<CertificateValidationCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50116@rel:R25-11#57ba261f
Content hash
57ba261f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50116
Status: valid/unmigrated Version: rel:R25-11#57ba261f Versionshistorie & Revisions (1 transition)
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_CRYPT_50116@rel:R25-11#57ba261f
Point-in-Time History:
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