DEENESPTFRRUARHIKOZHNL

class 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

User GuideKI-GENERIERT

Kapselt asymmetrische private Schlüssel und stellt den korrespondierenden öffentlichen Schlüssel bereit.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cbfbff2bb90c Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Kapselt asymmetrische private Schlüssel und stellt den korrespondierenden öffentlichen Schlüssel bereit.

Die Schnittstelle ara::crypto::cryp::PrivateKey definiert das allgemeine Interface für asymmetrische private Schlüssel in AUTOSAR Adaptive und wird primär über den Shared-Pointer-Alias PrivateKey::Sptr verwaltet [SWS_CRYPT_22501]. Ihre zentrale Funktion GetPublicKey() ermöglicht es, den zugehörigen öffentlichen Schlüssel als PublicKey::Sptr abzurufen, um ihn für kryptografische Partneroperationen bereitzustellen [SWS_CRYPT_22511]. Dieser Abruf ist threadsicher sowie ausnahmesicher ohne standardisierte Fehlercodes spezifiziert, wobei eventuelle Fehler implementationsspezifisch über den Rückgabetyp ara::core::Result signalisiert werden dürften (Interpretation). Frage (offen)

Kontext

Die Schnittstelle ara::crypto::cryp::PrivateKey fungiert in der AUTOSAR Adaptive Platform als generalisiertes Interface für asymmetrische private Schlüssel innerhalb des Moduls crypto. Sie ist in der Header-Datei ara/crypto/cryp/cryobj/private_key.h deklariert und leitet sich direkt von der Basisschnittstelle CryptoObject ab. Als Kernkomponente des asymmetrischen Kryptografiesystems kapselt PrivateKey das vertrauliche Schlüsselmaterial, welches für kryptografische Operationen wie die Erzeugung digitaler Signaturen oder asymmetrische Entschlüsselungsverfahren benötigt wird.

Zu den primären Interaktionspartnern gehören neben der Basisklasse CryptoObject insbesondere die korrespondierende öffentliche Schlüsselschnittstelle PublicKey sowie konsumierende Krypto-Dienste und Anwendungsroutinen. Während der private Schlüssel stets geheim zu halten ist, ermöglicht die Schnittstelle über die Elementfunktion GetPublicKey() die direkte Bereitstellung des zugehörigen öffentlichen Schlüssels [SWS_CRYPT_22511]. Auf diese Weise wird eine feste typbezogene Beziehung zwischen dem privaten Schlüssel und seinem mathematischen Gegenstück realisiert.

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

Kontextdiagramm: Einbettung von PrivateKey im kryptografischen Objektmodell und Beziehung zum korrespondierenden PublicKey. Quellen: [SWS_CRYPT_22501], [SWS_CRYPT_22511]

Lebenszyklus

Die Verwaltung und Übergabe von Instanzen der Schnittstelle PrivateKey erfolgt über den typisierten Smart-Pointer PrivateKey::Sptr, der als Typ-Alias für std::shared_ptr<PrivateKey> definiert ist [SWS_CRYPT_22501]. Dieser Shared-Pointer gewährleistet eine geteilte Eigentümerschaft und ein automatisches Ressourcenmanagement über Referenzzählung, sodass das geschützte Schlüsselmaterial freigegeben wird, sobald die letzte Referenz erlischt.

Da PrivateKey eine abstrakte Schnittstelle mit rein virtuellen Methoden wie GetPublicKey() darstellt [SWS_CRYPT_22511], können Anwendungen die Klasse nicht direkt instanziieren. Die Erzeugung und Bereitstellung konkreter Instanzen von PrivateKey::Sptr dürfte vermutlich über spezialisierte Fabriken, Schlüsselverwaltungskomponenten oder Krypto-Provider des Adaptive-Systems erfolgen (Interpretation). Frage Q-f0f9fe2258fac168 (offen) Das Interface selbst definiert keine diskreten internen Zustände oder Zustandsübergänge.

Hinsichtlich der Nebenläufigkeit spezifiziert die Schnittstelle für die zentrale Elementfunktion GetPublicKey() explizit Thread-Sicherheit (thread-safe) [SWS_CRYPT_22511]. Dies gestattet mehreren Ausführungssträngen den nebenläufigen, synchronisationsfreien Lesezugriff auf dieselbe Schlüsselinstanz zur Gewinnung des korrespondierenden öffentlichen Schlüssels.

Nutzungspfad

Der typische Nutzungspfad von PrivateKey umfasst den Empfang des privaten Schlüssels und die anschließende Extraktion des korrespondierenden öffentlichen Schlüssels für Validierungs-, Registrierungs- oder Kommunikationszwecke:

  1. Schlüsselbezug: Die konsumierende Softwarekomponente erhält eine gültige Instanz eines asymmetrischen privaten Schlüssels in Form eines PrivateKey::Sptr [SWS_CRYPT_22501].
  2. Abruf des Partnerschlüssels: Wenn für einen nachgelagerten Arbeitsablauf der korrespondierende öffentliche Schlüssel benötigt wird, ruft die Komponente die Elementfunktion GetPublicKey() auf der Instanz auf [SWS_CRYPT_22511].
  3. Ergebnisverarbeitung: Der Aufruf liefert ein ara::core::Result<PublicKey::Sptr> zurück [SWS_CRYPT_22511]. Die Anwendung prüft das Ergebnisobjekt auf Erfolg und entpackt bei erfolgreicher Ausführung den Zeiger PublicKey::Sptr.
  4. Weiterverwendung: Der gewonnene öffentliche Schlüssel kann anschließend an externe Kommunikationspartner übermittelt oder lokalen Verifikationsroutinen übergeben werden. Die Ableitung des öffentlichen Schlüssels dürfte intern vermutlich direkt aus den mathematischen Schlüsselparametern des privaten Schlüssels erfolgen (Interpretation). Frage Q-464000dc5d638649 (offen)

Fehlerszenarien

Für eine fehlerfreie Integration sind die Fehlereigenschaften und Randbedingungen von GetPublicKey() maßgeblich:

  • Standardisierte Fehler: Gemäß Spezifikation definiert die Funktion GetPublicKey() keine standardisierten Fehlercodes [SWS_CRYPT_22511].
  • Fehlerkanal: Obwohl keine standardisierten Fehler festgelegt sind, transportiert der Rückgabetyp ara::core::Result potentielle Fehlschläge. Falls bei der internen Schlüsselableitung oder Objekterzeugung ein Fehler auftritt, dürfte das Ergebnisobjekt vermutlich implementationsspezifische Fehlercodes der zugrunde liegenden Krypto-Treiber enthalten (Interpretation). Frage Q-4af6390594d9c5e1 (offen)
  • Ausnahmesicherheit: Die Funktion ist explizit als ausnahmesicher (exception safe) eingestuft und mit dem Bezeichner noexcept versehen [SWS_CRYPT_22511]. Aufrufer müssen daher keine C++-Ausnahmen abfangen.
  • Vor- und Nachbedingungen: Vorbedingung für den erfolgreichen Aufruf ist eine valide, nicht freigegebene PrivateKey-Instanz. Als Nachbedingung garantiert die Schnittstelle im Erfolgsfall die Rückgabe eines PublicKey::Sptr, der mathematisch exakt zum privaten Schlüssel korrespondiert [SWS_CRYPT_22511].

Dieser Klassen-Leitfaden wurde von einer KI auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.

UML-Klassendiagramm

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

Methoden

GetPublicKey function

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

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

Typaliase

Sptr type alias

shared smart pointer of the interface.

Dokumentation der Methoden

function 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.

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

Verwendung

Die Methode GetPublicKey der Klasse ara::crypto::cryp::PrivateKey dient dem synchronen Abrufen des zum privaten Schlüssel korrespondierenden öffentlichen Schlüssels [SWS_CRYPT_22511]. Der Aufruf erfolgt parameterlos auf einer bestehenden Instanz von PrivateKey. Als Rückgabewert liefert die Schnittstelle ein ara::core::Result<PublicKey::Sptr>, welches bei erfolgreicher Ausführung einen Shared Pointer auf das zugehörige PublicKey-Objekt bereitstellt [SWS_CRYPT_22511].

Fehlerbehandlung und Nebenläufigkeit

Für diese Methode sind in der Spezifikation keine standardisierten Fehlercodes definiert [SWS_CRYPT_22511]. Die Fehlerbehandlung erfolgt über das Rückgabeobjekt vom Typ ara::core::Result. Da die Operation als noexcept deklariert ist, gilt sie als ausnahmesicher (exception safe) [SWS_CRYPT_22511]. Zudem ist die Methode als const qualifiziert und als threadsicher (thread-safe) spezifiziert, wodurch parallele Lesezugriffe über mehrere Threads hinweg zulässig sind [SWS_CRYPT_22511].

Zusammenspiel

In typischen kryptografischen Abläufen wird GetPublicKey nach der Erzeugung eines asymmetrischen Schlüsselpaars mittels GeneratePrivateKey verwendet [SWS_CRYPT_20722]. Dabei werden die zulässigen Verwendungsflags des erzeugten privaten Schlüssels auf den korrespondierenden öffentlichen Schlüssel übertragen (beispielsweise die Berechtigung zur Signaturprüfung aus der Signaturerzeugung) [SWS_CRYPT_20722]. Zu unterscheiden ist die Funktion von der namensgleichen Schnittstelle in ProtectedKeyImportCtx, welche dem Entpacken importierter öffentlicher Schlüssel dient [SWS_CRYPT_50211].

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#f0d041e7
Content hash
f0d041e7
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

Dokumentation der Typaliase

type alias 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#568a064f
Content hash
568a064f
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