DEENESPTFRRUARHIKOZHNL

classe ara::crypto::x509::Certificate

[SWS_CRYPT_50180] Upstream: RS_CRYPTO_02306

class Certificate :            public ara::crypto::Serializable {...};

X.509 Certificate interface.

Header-Datei#include "ara/crypto/x509/certificate.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::x509
Basisklasse(n)ara::crypto::Serializable

Guide utilisateurGÉNÉRÉ PAR IA

Représente un certificat X.509 sérialisable pour une utilisation sûre via des pointeurs intelligents immuables.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4491553b5df1 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Représente un certificat X.509 sérialisable pour une utilisation sûre via des pointeurs intelligents immuables.

L'interface ara::crypto::x509::Certificate représente les certificats X.509 dans l'AUTOSAR Adaptive Platform et permet leur sérialisation via la classe de base ara::crypto::Serializable. Pour la gestion et la transmission standardisées, la classe définit l'alias de type de pointeur intelligent Sptrc comme std::shared_ptr<const Certificate> [SWS_CRYPT_40202]. Les instances devraient typiquement être créées par des fournisseurs crypto, puis être utilisées de manière concurrente en tant qu'objets immuables par plusieurs composants. Question (ouverte) La durée de vie est gérée de manière automatique et sécurisée par le comptage de références du pointeur partagé conformément à [SWS_CRYPT_40202].

Contexte

La classe C++ ara::crypto::x509::Certificate constitue, au sein du module crypto de l'AUTOSAR Adaptive Platform, l'interface centrale pour la représentation et la manipulation des certificats X.509. En tant qu'interface abstraite, elle définit l'abstraction fondamentale pour les certificats numériques utilisés dans les applications automobiles critiques pour la sécurité afin d'authentifier les partenaires de communication, de vérifier les signatures et dans le cadre d'infrastructures à clés publiques (PKI). L'interface est fournie via l'en-tête ara/crypto/x509/certificate.h et déclare l'alias de type de pointeur intelligent standardisé Sptrc [SWS_CRYPT_40202] pour une utilisation par les applications et les services de plateforme.

Conformément à la syntaxe de classe, Certificate hérite publiquement de l'interface de base ara::crypto::Serializable. Il est ainsi établi sur le plan architectural que chaque objet certificat est sérialisable et doit disposer de méthodes d'interface standardisées pour la sérialisation. Interprétation : la dérivation de ara::crypto::Serializable vise vraisemblablement à permettre la conversion des instances de l'interface de certificat vers des formats de stockage ou de transmission standardisés (tels que les encodages ASN.1 DER ou PEM) ou leur reconstruction à partir de tels flux de données, afin de garantir l'interopérabilité avec les services crypto en aval, les piles de communication et les mémoires persistantes. Question Q-e1cd76f3904df94a (ouverte)

Cycle de vie

Le cycle de vie des instances de l'interface ara::crypto::x509::Certificate est principalement contrôlé par le pointeur intelligent typé Certificate::Sptrc, qui est défini comme std::shared_ptr<const Certificate> [SWS_CRYPT_40202]. Grâce à la mise à disposition de cet alias, une propriété partagée avec comptage de références (Shared Ownership) est mise en œuvre dans l'ensemble du système logiciel. Comme la classe elle-même est déclarée en tant que pure interface, les objets certificats concrets devraient généralement être instanciés par des méthodes de fabrique sous-jacentes, des fournisseurs de certificats ou des routines de chargement dédiées du module crypto, et mis directement à disposition des composants logiciels utilisateurs sous la forme Sptrc. Question Q-8faf1e0eae0cf613 (ouverte)

La définition explicite du pointeur vers un type de base constant (const Certificate) conformément à [SWS_CRYPT_40202] constitue une caractéristique de conception architecturale centrale pour la gestion du cycle de vie. L'utilisation de const a vraisemblablement pour but de garantir qu'un certificat, une fois chargé, analysé ou validé, demeure totalement immuable (immutable) pendant le fonctionnement du système. Question Q-f4406ec44e46f9c4 (ouverte) Les consommateurs peuvent ainsi partager le certificat de manière concurrente et sûre au niveau des threads (thread-safe) entre plusieurs threads et composants logiciels, sans craindre de verrous mutex coûteux, de conditions de concurrence (race conditions) ou de modifications accidentelles d'état. La destruction et le nettoyage de la mémoire de l'objet sous-jacent s'effectuent de façon entièrement automatique et déterministe par le biais du comptage de références du std::shared_ptr, dès que la dernière instance active de Sptrc dans le système quitte sa portée et est détruite.

Parcours d'utilisation

Le chemin d'utilisation typique pour les applications adaptatives et les modules de plate-forme repose sur l'échange, la transmission et l'évaluation d'instances de Certificate::Sptrc [SWS_CRYPT_40202]. Les services applicatifs ou de plate-forme qui effectuent des vérifications cryptographiques, valident des signatures ou établissent des connexions TLS sécurisées reçoivent ou détiennent des références vers le certificat concerné exclusivement via ce pointeur intelligent. Cela minimise les opérations de copie de grandes structures de données, gourmandes en calcul, et prévient une gestion manuelle de la mémoire source d'erreurs lors du passage des frontières logicielles.

Via l'interface de base héritée ara::crypto::Serializable, un certificat peut être sérialisé au besoin afin d'exporter le contenu brut de ses données cryptographiques ou de le mettre à disposition à des fins de diagnostic, de configuration et de journalisation. Les composants transmettent Sptrc [SWS_CRYPT_40202] aux routines cryptographiques compétentes correspondantes, lesquelles extraient la clé publique du certificat ou vérifient des chaînes complètes de certificats par rapport aux ancres de confiance enregistrées. Une fois toutes les opérations cryptographiques terminées, le pointeur intelligent est simplement détruit ou conservé dans un gestionnaire de certificats pour les sessions de communication ultérieures.

Ce guide de classe est basé sur la spécification AUTOSAR Adaptive pour la version R25-11 et décrit les exigences d'interface pour les certificats X.509.

Diagramme de classes UML

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

G nara__crypto__x509__Certificate240 Certificate nara__crypto__Serializable855 Serializable nara__crypto__x509__Certificate240->nara__crypto__Serializable855

Alias de type

Sptrc alias de type

Smart pointer of the interface.

using Sptrc = std::shared_ptr<const Certificate>;

Documentation des alias de type

alias de type Sptrc [SWS_CRYPT_40202] Upstream: RS_CRYPTO_02306

using Sptrc = std::shared_ptr<const Certificate>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/x509/certificate.h"
Scopeclass ara::crypto::x509::Certificate
SymbolSptrc

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

Record
AUTOSAR/AP/record/SWS_CRYPT_40202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_40202@rel:R25-11#ab433e7b
Content hash
ab433e7b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_40202
Status: valid/unmigrated Version: rel:R25-11#c5e0fec3 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_CRYPT_40202@rel:R25-11#c5e0fec3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1b3465f62026-09-30
  • R19-11rel:R19-11#5f231f612026-10-14
  • R20-11rel:R20-11#105261b92026-10-14
  • R21-11rel:R21-11#105261b92026-10-14
  • R22-11rel:R22-11#af7cf3fb2026-10-14
  • R23-11rel:R23-11#c31a109b2026-10-14
  • R24-11rel:R24-11#c31a109b2026-10-14
  • R25-11rel:R25-11#c5e0fec32026-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