DEENESPTFRRUARHIKOZHNL

klasse 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 GuideAI-GEGENEREERD

Kapselt asymmetrische privésleutels in en stelt de corresponderende publieke sleutel beschikbaar.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: cbfbff2bb90c Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt asymmetrische privésleutels in en stelt de corresponderende publieke sleutel beschikbaar.

De interface ara::crypto::cryp::PrivateKey definieert de algemene interface voor asymmetrische privésleutels in AUTOSAR Adaptive en wordt primair beheerd via de shared-pointer-alias PrivateKey::Sptr [SWS_CRYPT_22501]. De centrale functie ervan GetPublicKey() maakt het mogelijk om de bijbehorende publieke sleutel op te vragen als PublicKey::Sptr om deze beschikbaar te stellen voor cryptografische partneroperaties [SWS_CRYPT_22511]. Dit opvragen is thread-safe en exception-safe gespecificeerd zonder gestandaardiseerde foutcodes, waarbij eventuele fouten implementatiespecifiek via het retourtype ara::core::Result gesignaleerd zouden moeten worden (interpretatie). Vraag (open)

Context

De interface ara::crypto::cryp::PrivateKey fungeert in het AUTOSAR Adaptive Platform als gegeneraliseerde interface voor asymmetrische privésleutels binnen de module crypto. Zij is gedeclareerd in het headerbestand ara/crypto/cryp/cryobj/private_key.h en leidt direct af van de basisinterface CryptoObject. Als kerncomponent van het asymmetrische cryptografiesysteem kapselt PrivateKey het vertrouwelijke sleutelmateriaal in dat nodig is voor cryptografische operaties zoals het genereren van digitale handtekeningen of asymmetrische ontsleutelingsprocedures.

Tot de primaire interactiepartners behoren naast de basisklasse CryptoObject in het bijzonder de corresponderende publieke-sleutelinterface PublicKey en consumerende cryptodiensten en applicatieroutines. Terwijl de privésleutel steeds geheim moet worden gehouden, maakt de interface via de lidfunctie GetPublicKey() de directe beschikbaarstelling van de bijbehorende publieke sleutel [SWS_CRYPT_22511] mogelijk. Op deze manier wordt een vaste typerelatie tussen de privésleutel en zijn wiskundige tegenhanger gerealiseerd.

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

Contextdiagram: Inbedding van PrivateKey in het cryptografische objectmodel en de relatie tot de corresponderende PublicKey. Bronnen: [SWS_CRYPT_22501], [SWS_CRYPT_22511]

Levenscyclus

Het beheer en de overdracht van instanties van de interface PrivateKey vindt plaats via de getypeerde smart pointer PrivateKey::Sptr, die is gedefinieerd als type-alias voor std::shared_ptr<PrivateKey> [SWS_CRYPT_22501]. Deze shared pointer waarborgt een gedeeld eigenaarschap en een automatisch resourcebeheer via referentietelling, zodat het beschermde sleutelmateriaal wordt vrijgegeven zodra de laatste referentie vervalt.

Omdat PrivateKey een abstracte interface met puur virtuele methoden zoals GetPublicKey() is [SWS_CRYPT_22511], kunnen applicaties de klasse niet direct instantiëren. Het aanmaken en beschikbaar stellen van concrete instanties van PrivateKey::Sptr vindt vermoedelijk plaats via gespecialiseerde factories, sleutelbeheercomponenten of crypto-providers van het Adaptive-systeem (interpretatie). Vraag Q-f0f9fe2258fac168 (open) De interface zelf definieert geen discrete interne toestanden of toestandsovergangen.

Wat betreft gelijktijdigheid specificeert de interface voor de centrale elementfunctie GetPublicKey() expliciet thread-veiligheid (thread-safe) [SWS_CRYPT_22511]. Hierdoor hebben meerdere threads gelijktijdig en zonder synchronisatie leestoegang tot dezelfde sleutelinstantie voor het verkrijgen van de corresponderende publieke sleutel.

Gebruikspad

Het typische gebruikspad van PrivateKey omvat de ontvangst van de privésleutel en de daaropvolgende extractie van de corresponderende publieke sleutel voor validatie-, registratie- of communicatiedoeleinden:

  1. Sleutelverwerving: De consumerende softwarecomponent ontvangt een geldige instantie van een asymmetrische privésleutel in de vorm van een PrivateKey::Sptr [SWS_CRYPT_22501].
  2. Ophalen van de partnersleutel: Wanneer voor een nageschakelde workflow de corresponderende publieke sleutel nodig is, roept de component de elementfunctie GetPublicKey() aan op de instantie [SWS_CRYPT_22511].
  3. Resultaatverwerking: De aanroep retourneert een ara::core::Result<PublicKey::Sptr> [SWS_CRYPT_22511]. De applicatie controleert het resultaatobject op succes en pakt bij succesvolle uitvoering de pointer PublicKey::Sptr uit.
  4. Verder gebruik: De verkregen publieke sleutel kan vervolgens worden verzonden naar externe communicatiepartners of worden overgedragen aan lokale verificatieroutines. Het afleiden van de publieke sleutel vindt intern vermoedelijk rechtstreeks plaats vanuit de wiskundige sleutelparameters van de privésleutel (interpretatie). Vraag Q-464000dc5d638649 (open)

Foutscenario's

Voor een foutloze integratie zijn de fouteigenschappen en randvoorwaarden van GetPublicKey() doorslaggevend:

  • Gestandaardiseerde fouten: Volgens de specificatie definieert de functie GetPublicKey() geen gestandaardiseerde foutcodes [SWS_CRYPT_22511].
  • Foutkanaal: Hoewel er geen gestandaardiseerde fouten zijn vastgelegd, transporteert het retourtype ara::core::Result potentiële mislukkingen. Als er bij de interne sleutelafleiding of objectcreatie een fout optreedt, bevat het resultaatobject vermoedelijk implementatiespecifieke foutcodes van de onderliggende crypto-drivers (interpretatie). Vraag Q-4af6390594d9c5e1 (open)
  • Uitzonderingsveiligheid: De functie is expliciet geclassificeerd als uitzonderingsveilig (exception safe) en voorzien van de identifier noexcept [SWS_CRYPT_22511]. Aanroepers hoeven daarom geen C++-uitzonderingen af te vangen.
  • Pre- en postcondities: Preconditie voor de succesvolle aanroep is een geldige, niet vrijgegeven PrivateKey-instantie. Als postconditie garandeert de interface bij succes de teruggave van een PublicKey::Sptr, die wiskundig exact correspondeert met de privésleutel [SWS_CRYPT_22511].

Deze klassehandleiding is gegenereerd door een AI op basis van de specificatie van AUTOSAR Adaptive R25-11.

UML-klassendiagram

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 functie

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

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

Type-aliassen

Sptr typealias

shared smart pointer of the interface.

Documentatie van de methoden

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9b62fab60fc4 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De methode GetPublicKey van de klasse ara::crypto::cryp::PrivateKey dient voor het synchroon ophalen van de met de privésleutel corresponderende publieke sleutel [SWS_CRYPT_22511]. De aanroep vindt parameterloos plaats op een bestaande instantie van PrivateKey. Als retourwaarde levert de interface een ara::core::Result<PublicKey::Sptr>, die bij succesvolle uitvoering een shared pointer naar het bijbehorende PublicKey-object beschikbaar stelt [SWS_CRYPT_22511].

Foutafhandeling en gelijktijdigheid

Voor deze methode zijn in de specificatie geen gestandaardiseerde foutcodes gedefinieerd [SWS_CRYPT_22511]. De foutafhandeling verloopt via het retourobject van het type ara::core::Result. Omdat de operatie als noexcept is gedeclareerd, geldt deze als uitzonderingsveilig (exception safe) [SWS_CRYPT_22511]. Bovendien is de methode als const gekwalificeerd en als thread-safe (thread-safe) gespecificeerd, waardoor parallelle leestoegangen over meerdere threads heen zijn toegestaan [SWS_CRYPT_22511].

Samenspel

In typische cryptografische procedures wordt GetPublicKey gebruikt na het genereren van een asymmetrisch sleutelpaar met behulp van GeneratePrivateKey [SWS_CRYPT_20722]. Daarbij worden de toegestane gebruiksvlaggen van de gegenereerde privésleutel overgedragen op de corresponderende publieke sleutel (bijvoorbeeld de bevoegdheid voor handtekeningverificatie uit de handtekeninggeneratie) [SWS_CRYPT_20722]. De functie moet worden onderscheiden van de gelijknamige interface in ProtectedKeyImportCtx, die dient voor het uitpakken van geïmporteerde publieke sleutels [SWS_CRYPT_50211].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van AUTOSAR R25-11.

Implementer's Guide volgt (complexiteit 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#4f3418a5
Content hash
4f3418a5
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

Documentatie van de typealiassen

typealias 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#7e131198
Content hash
7e131198
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