DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::SymmetricKey

[SWS_CRYPT_23800] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02403

class SymmetricKey :          public CryptoObject {...};

Symmetric Key interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)CryptoObject

Guide utilisateurGÉNÉRÉ PAR IA

Encapsule les clés cryptographiques symétriques et contrôle leur durée de vie via des pointeurs intelligents partagés.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f71a58d7ce35 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Encapsule les clés cryptographiques symétriques et contrôle leur durée de vie via des pointeurs intelligents partagés.

L'interface ara::crypto::cryp::SymmetricKey sert dans AUTOSAR Adaptive d'abstraction pour les clés cryptographiques symétriques et hérite des propriétés fondamentales de CryptoObject. Les applications et les contextes crypto gèrent principalement les instances de clés via le type de pointeur intelligent standardisé Sptr (std::shared_ptr<SymmetricKey>) conformément à l'en-tête ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801]. Interprétation : l'instanciation devrait s'effectuer via des routines de création dédiées de la gestion des clés, la clé étant transmise pour configurer des chiffrements ou des MAC. Question Q-f76fecc360d2d3a5 (ouverte) En tant que contrainte déterminante, le comptage de références du pointeur partagé détermine la durée de vie, de sorte que l'objet clé encapsulé n'est détruit qu'après la libération de la dernière référence [SWS_CRYPT_23801].

Contexte

La classe ara::crypto::cryp::SymmetricKey constitue dans l'AUTOSAR Adaptive Platform (Release R25-11, module crypto) l'interface centrale pour la représentation des clés cryptographiques symétriques. En tant qu'élément fondamental du sous-système de cryptographie, l'interface encapsule toutes les propriétés requises pour les procédés cryptographiques symétriques. La classe est directement dérivée de CryptoObject (class SymmetricKey : public CryptoObject) et s'intègre ainsi dans la hiérarchie d'objets unifiée pour les entités cryptographiques de l'Adaptive Platform. L'interface est déclarée dans le fichier d'en-tête ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801].

Les contextes d'exécution cryptographiques ainsi que les instances de gestion de clés interviennent typiquement en tant que partenaires d'interaction. L'interface sert de lien entre la création ou la mise à disposition de matériel de clé et son utilisation opérationnelle. Interprétation : les clés symétriques devraient être principalement employées dans des algorithmes de chiffrement symétrique (tels que les chiffrements par blocs ou par flux) ainsi que dans les codes d'authentification de message (MAC), afin de garantir la confidentialité et l'intégrité des données au niveau du véhicule. Question (ouverte) L'encapsulation sous forme de CryptoObject garantit que le matériel de clé reste découplé de la transformation cryptographique concrète.

Cycle de vie

Le cycle de vie des instances de ara::crypto::cryp::SymmetricKey est étroitement lié aux patrons modernes de gestion de la mémoire en C++. Conformément à [SWS_CRYPT_23801], la classe fournit l'alias de type Sptr, qui est défini comme using Sptr = std::shared_ptr<SymmetricKey>;. Via ce pointeur intelligent partagé, le cycle de vie de l'objet d'interface fait l'objet d'un comptage de références et est contrôlé de façon déterministe.

Interprétation : la création et l'initialisation effectives des instances devraient, en pratique, s'effectuer via des générateurs de clés spécialisés, des routines de chargement ou des composants de gestion des clés de la pile crypto, car la définition de l'interface n'expose aucun constructeur public par défaut pour des instanciations directes de clés brutes. Question Q-51acf16b99d9ad1b (ouverte) Dès qu'une instance de clé a été créée sous la forme Sptr, elle peut être référencée par plusieurs composants logiciels ou contextes cryptographiques de manière concurrente et en propriété partagée [SWS_CRYPT_23801].

La libération des ressources sous-jacentes s'effectue automatiquement dès que le dernier Sptr actif est détruit ou réinitialisé. Interprétation : la dérivation de CryptoObject laisse supposer que le matériel de clé sensible est particulièrement protégé en mémoire et nettoyé de manière sécurisée (mise à zéro / zeroization) lors de la destruction de l'objet, afin d'empêcher toute lecture après l'expiration de sa durée de vie. Question (ouverte) L'utilisation de std::shared_ptr garantit en outre la sécurité des threads lors de la gestion des compteurs de références, tandis que l'accès à l'objet clé référencé lui-même reste soumis aux règles habituelles de synchronisation des ressources partagées.

Parcours d'utilisation

L'utilisation normale de ara::crypto::cryp::SymmetricKey dans une application Adaptive suit un déroulement structuré qui s'appuie sur le pointeur intelligent défini [SWS_CRYPT_23801] :

  • Inclusion de l'en-tête : tout d'abord, le composant logiciel utilisateur inclut l'en-tête #include "ara/crypto/cryp/cryobj/symmetric_key.h" afin d'obtenir l'accès à la définition de type et à l'alias Sptr [SWS_CRYPT_23801].
  • Obtention de la clé : l'application obtient l'interface sous la forme d'un ara::crypto::cryp::SymmetricKey::Sptr [SWS_CRYPT_23801], par exemple à partir d'un processus préalable de fourniture de clé.
  • Vérification de validité : avant l'utilisation opérationnelle, l'appelant vérifie que le Sptr obtenu est différent de nullptr et pointe vers un CryptoObject intact.
  • Attribution aux contextes crypto : le pointeur de clé est transmis au contexte cryptographique compétent afin de configurer celui-ci pour les opérations de chiffrement ou de déchiffrement à venir, ou pour les vérifications d'intégrité.
  • Libération : une fois les transformations terminées ou lors de l'arrêt du contexte applicatif, le pointeur est détruit ; la destruction de la clé s'effectue par la suppression automatique du dernier Sptr [SWS_CRYPT_23801].

Ce guide est basé sur la spécification AUTOSAR Adaptive Platform Release R25-11. Les déclarations s'appuient sur les éléments de spécification référencés ainsi que sur des interprétations identifiées comme telles.

Diagramme de classes UML

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

G nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

Alias de type

Sptr alias de type

Shared smart pointer of the interface.

Documentation des alias de type

alias de type Sptr [SWS_CRYPT_23801] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricKey>;

Shared smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Scopeclass ara::crypto::cryp::SymmetricKey
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23801@rel:R25-11#8326b54e
Content hash
8326b54e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23801
Status: valid/unmigrated Version: rel:R25-11#882653b8 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_23801@rel:R25-11#882653b8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d033faab2026-09-30
  • R19-11rel:R19-11#a0669f0d2026-10-14
  • R20-11rel:R20-11#c490e0a52026-10-14
  • R21-11rel:R21-11#c490e0a52026-10-14
  • R22-11rel:R22-11#b634ae6e2026-10-14
  • R23-11rel:R23-11#cb129b992026-10-14
  • R24-11rel:R24-11#cb129b992026-10-14
  • R25-11rel:R25-11#882653b82026-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