DEENESPTFRRUARHIKOZHNL

classe ara::crypto::cryp::PrivateKey

[SWS_CRYPT_22500] Upstream: RS_CRYPTO_02002, RS_CRYPTO_02403

class PrivateKey :         public CryptoObject {...};

Generalized Asymmetric Private Key interface.

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

Guide utilisateurGÉNÉRÉ PAR IA

Encapsule des clés privées asymétriques et fournit la clé publique correspondante.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cbfbff2bb90c Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Encapsule des clés privées asymétriques et fournit la clé publique correspondante.

L’interface ara::crypto::cryp::PrivateKey définit l’interface générale pour les clés privées asymétriques dans AUTOSAR Adaptive et est principalement gérée via l’alias de pointeur partagé PrivateKey::Sptr [SWS_CRYPT_22501]. Sa fonction centrale GetPublicKey() permet de récupérer la clé publique associée sous forme de PublicKey::Sptr afin de la mettre à disposition pour des opérations partenaires cryptographiques [SWS_CRYPT_22511]. Cette récupération est spécifiée comme sûre du point de vue des threads ainsi que sûre vis-à-vis des exceptions, sans codes d’erreur standardisés, les erreurs éventuelles devant être signalées de manière spécifique à l’implémentation via le type de retour ara::core::Result (interpretation). Question (ouverte)

Contexte

L’interface ara::crypto::cryp::PrivateKey agit dans l’AUTOSAR Adaptive Platform comme une interface généralisée pour les clés privées asymétriques au sein du module crypto. Elle est déclarée dans le fichier d’en-tête ara/crypto/cryp/cryobj/private_key.h et dérive directement de l’interface de base CryptoObject. En tant que composant central du système de cryptographie asymétrique, PrivateKey encapsule le matériel de clé confidentiel requis pour les opérations cryptographiques telles que la génération de signatures numériques ou les procédés de déchiffrement asymétrique.

Parmi les principaux partenaires d’interaction figurent, outre la classe de base CryptoObject, en particulier l’interface de clé publique correspondante PublicKey ainsi que les services cryptographiques consommateurs et les routines applicatives. Alors que la clé privée doit toujours être gardée secrète, l’interface permet la mise à disposition directe de la clé publique associée [SWS_CRYPT_22511] via la fonction membre GetPublicKey(). De cette manière, une relation fixe liée au type est établie entre la clé privée et son homologue mathématique.

PrivateKeyContext Anwendung Anwendung PrivateKey PrivateKey Anwendung->PrivateKey nutzt Sptr PublicKey PublicKey Anwendung->PublicKey empfaengt Sptr CryptoObject CryptoObject PrivateKey->CryptoObject erbt von PrivateKey->PublicKey fournit via GetPublicKey()

Diagramme de contexte : intégration de PrivateKey dans le modèle d’objets cryptographiques et relation avec la PublicKey correspondante. Sources : [SWS_CRYPT_22501], [SWS_CRYPT_22511]

Cycle de vie

La gestion et la transmission d'instances de l'interface PrivateKey s'effectuent via le pointeur intelligent typé PrivateKey::Sptr, qui est défini comme un alias de type pour std::shared_ptr<PrivateKey> [SWS_CRYPT_22501]. Ce pointeur partagé garantit une propriété partagée et une gestion automatique des ressources par comptage de références, de sorte que le matériel de clé protégé soit libéré dès que la dernière référence s'éteint.

Comme PrivateKey représente une interface abstraite avec des méthodes purement virtuelles telles que GetPublicKey() [SWS_CRYPT_22511], les applications ne peuvent pas instancier directement la classe. La création et la mise à disposition d'instances concrètes de PrivateKey::Sptr s'effectuent probablement via des fabriques spécialisées, des composants de gestion des clés ou des fournisseurs cryptographiques du système Adaptive (interprétation). Question Q-f0f9fe2258fac168 (ouverte) L'interface elle-même ne définit aucun état interne discret ni transition d'état.

En matière de concurrence, l'interface spécifie explicitement la sécurité des threads (thread-safe) pour la fonction membre centrale GetPublicKey() [SWS_CRYPT_22511]. Cela permet à plusieurs threads d'exécution d'effectuer un accès en lecture concurrent et sans synchronisation à la même instance de clé pour obtenir la clé publique correspondante.

Parcours d'utilisation

Le chemin d'utilisation typique de PrivateKey comprend la réception de la clé privée, puis l'extraction de la clé publique correspondante à des fins de validation, d'enregistrement ou de communication :

  1. Obtention de la clé : le composant logiciel consommateur reçoit une instance valide d'une clé privée asymétrique sous la forme d'un PrivateKey::Sptr [SWS_CRYPT_22501].
  2. Récupération de la clé partenaire : si la clé publique correspondante est requise pour un flux de travail en aval, le composant appelle la fonction membre GetPublicKey() sur l'instance [SWS_CRYPT_22511].
  3. Traitement du résultat : l'appel renvoie un ara::core::Result<PublicKey::Sptr> [SWS_CRYPT_22511]. L'application vérifie la réussite de l'objet résultat et extrait le pointeur PublicKey::Sptr en cas d'exécution réussie.
  4. Réutilisation : la clé publique obtenue peut ensuite être transmise à des partenaires de communication externes ou passée à des routines de vérification locales. La dérivation de la clé publique s'effectue probablement en interne directement à partir des paramètres mathématiques de la clé privée (interprétation). Question Q-464000dc5d638649 (ouverte)

Scénarios d'erreur

Pour une intégration exempte d'erreurs, les caractéristiques d'erreur et les conditions aux limites de GetPublicKey() sont déterminantes :

  • Erreurs standardisées : conformément à la spécification, la fonction GetPublicKey() ne définit aucun code d'erreur standardisé [SWS_CRYPT_22511].
  • Canal d'erreur : bien qu'aucune erreur standardisée ne soit définie, le type de retour ara::core::Result véhicule les échecs potentiels. Si une erreur survient lors de la dérivation interne de la clé ou de la création de l'objet, l'objet résultat contient probablement des codes d'erreur spécifiques à l'implémentation provenant des pilotes cryptographiques sous-jacents (interprétation). Question Q-4af6390594d9c5e1 (ouverte)
  • Sécurité vis-à-vis des exceptions : la fonction est explicitement classée comme sûre vis-à-vis des exceptions (exception safe) et dotée de l'identifiant noexcept [SWS_CRYPT_22511]. Les appelants n'ont donc pas besoin d'intercepter d'exceptions C++.
  • Préconditions et postconditions : la précondition pour un appel réussi est une instance valide et non libérée de PrivateKey. En guise de postcondition, l'interface garantit en cas de succès le retour d'un PublicKey::Sptr qui correspond mathématiquement de manière exacte à la clé privée [SWS_CRYPT_22511].

Ce guide de classe a été généré par une IA sur la base de la spécification d'AUTOSAR Adaptive R25-11.

Diagramme de classes UML

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

G nara__crypto__cryp__PrivateKey762 PrivateKey + GetPublicKey() nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

Méthodes

GetPublicKey fonction

The interface shall return the public key correspondent to this private key.

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

Alias de type

Sptr alias de type

shared smart pointer of the interface.

Documentation des méthodes

fonction GetPublicKey [SWS_CRYPT_22511] Upstream: RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

The interface shall return the public key correspondent to this private key.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9b62fab60fc4 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode GetPublicKey de la classe ara::crypto::cryp::PrivateKey sert à récupérer de manière synchrone la clé publique correspondant à la clé privée [SWS_CRYPT_22511]. L'appel s'effectue sans paramètre sur une instance existante de PrivateKey. Comme valeur de retour, l'interface fournit un ara::core::Result<PublicKey::Sptr> qui met à disposition, en cas d'exécution réussie, un pointeur partagé vers l'objet PublicKey associé [SWS_CRYPT_22511].

Gestion des erreurs et concurrence

Pour cette méthode, aucun code d'erreur standardisé n'est défini dans la spécification [SWS_CRYPT_22511]. Le traitement des erreurs s'effectue via l'objet de retour de type ara::core::Result. L'opération étant déclarée comme noexcept, elle est considérée comme sûre du point de vue des exceptions (exception safe) [SWS_CRYPT_22511]. De plus, la méthode est qualifiée de const et spécifiée comme sûre du point de vue des threads (thread-safe), autorisant ainsi les accès simultanés en lecture à travers plusieurs threads [SWS_CRYPT_22511].

Interaction

Dans les flux de travail cryptographiques typiques, GetPublicKey est utilisé après la génération d'une paire de clés asymétriques au moyen de GeneratePrivateKey [SWS_CRYPT_20722]. Les drapeaux d'utilisation autorisés de la clé privée générée sont alors transférés à la clé publique correspondante (par exemple, l'autorisation de vérification de signature issue de la génération de signature) [SWS_CRYPT_20722]. Cette fonction est à distinguer de l'interface homonyme dans ProtectedKeyImportCtx, qui sert à décompresser des clés publiques importées [SWS_CRYPT_50211].

Cette note d’utilisation a été générée de manière automatisée sur la base d’AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/crypto/cryp/cryobj/private_key.h"
Scopeclass ara::crypto::cryp::PrivateKey
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >A result containing a shared pointer to the public key correspondent to this private key

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_22511
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22511@rel:R25-11#7e8de50f
Content hash
7e8de50f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22511
Status: valid/unmigrated Version: rel:R25-11#e5f0457b 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_22511@rel:R25-11#e5f0457b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f0d041e72026-09-30
  • R19-11rel:R19-11#bb931c232026-10-14
  • R20-11rel:R20-11#85846a1e2026-10-14
  • R21-11rel:R21-11#85846a1e2026-10-14
  • R22-11rel:R22-11#99b114f02026-10-14
  • R23-11rel:R23-11#6fdc19552026-10-14
  • R24-11rel:R24-11#a752dbfc2026-10-14
  • R25-11rel:R25-11#e5f0457b2026-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

Documentation des alias de type

alias de type Sptr [SWS_CRYPT_22501] Upstream: RS_CRYPTO_02306

using Sptr = std::shared_ptr<PrivateKey>;

shared smart pointer of the interface.

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22501@rel:R25-11#7f9c45d8
Content hash
7f9c45d8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22501
Status: valid/unmigrated Version: rel:R25-11#48b56da1 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_22501@rel:R25-11#48b56da1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#568a064f2026-09-30
  • R19-11rel:R19-11#c428ba2c2026-10-14
  • R20-11rel:R20-11#fb4c3bbd2026-10-14
  • R21-11rel:R21-11#fb4c3bbd2026-10-14
  • R22-11rel:R22-11#6e7979fe2026-10-14
  • R23-11rel:R23-11#d106cca42026-10-14
  • R24-11rel:R24-11#5eb65ced2026-10-14
  • R25-11rel:R25-11#48b56da12026-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