DEENESPTFRRUARHIKOZHNL

klasse ara::crypto::cryp::KeyEncapsulatorPublicCtx

[SWS_CRYPT_21800] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02209

class KeyEncapsulatorPublicCtx :                public CryptoContext {...};

Asymmetric Key Encapsulation Mechanism (KEM) Public key Context interface.

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

User GuideAI-GEGENEREERD

Kapselt symmetrische sleutels asymmetrisch in via openbare sleutels of genereert deze tijdens het inkapselingsproces.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f00bc8643d8f Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt symmetrische sleutels asymmetrisch in via openbare sleutels of genereert deze tijdens het inkapselingsproces.

De interface ara::crypto::cryp::KeyEncapsulatorPublicCtx maakt asymmetrische sleutelinkapselingsmechanismen (KEM) mogelijk om symmetrische sleutels in te pakken voor veilige uitwisseling of om deze direct tijdens de inkapseling nieuw te genereren ([SWS_CRYPT_50011]). Vóór de uitvoering moet de context via SetKey worden geïnitialiseerd met een openbare sleutel of slot en moet de vereiste uitvoerbuffergrootte worden bepaald ([SWS_CRYPT_21815]). Belangrijke randvoorwaarden zijn de vereiste sleutelgebruiksvlaggen zoals kAllowKeyWrapping en de volledige thread-safety van alle bewerkingen.

Context

De interface ara::crypto::cryp::KeyEncapsulatorPublicCtx definieert de asymmetrische context voor Key Encapsulation Mechanisms (KEM) met gebruikmaking van een openbare sleutel. Binnen de cryptografie-architectuur van AUTOSAR Adaptive dient de klasse voor de veilige sleuteluitwisseling en het sleuteltransport. Deze ontvangt een openbare asymmetrische sleutel om hetzij een bestaande symmetrische sleutel in te kapselen ([SWS_CRYPT_21813]) hetzij een nieuwe symmetrische sleutel tijdens de inkapseling te genereren en beschikbaar te stellen ([SWS_CRYPT_50011]). De sleutelbasis kan daarbij als direct sleutelobject PublicKey ([SWS_CRYPT_21815]) of via een gepersisteerd slot KeySlot ([SWS_CRYPT_50012]) worden gekoppeld.

diag_kem_kontext Anwendung Anwendung KeyEncapsulatorPublicCtx KeyEncapsulatorPublicCtx Anwendung->KeyEncapsulatorPublicCtx SymmetricKey SymmetricKey KeyEncapsulatorPublicCtx->SymmetricKey PublicKey PublicKey PublicKey->KeyEncapsulatorPublicCtx KeySlot KeySlot KeySlot->KeyEncapsulatorPublicCtx

Contextdiagram: integratie van de KeyEncapsulatorPublicCtx tussen applicatie, sleutelbronnen en doelsleutels. Bronnen: [SWS_CRYPT_21813], [SWS_CRYPT_21815], [SWS_CRYPT_50011], [SWS_CRYPT_50012]

Levenscyclus

Instanties van KeyEncapsulatorPublicCtx worden beheerd via de getypeerde smart pointer KeyEncapsulatorPublicCtx::Sptr, die is gedefinieerd als std::shared_ptr<KeyEncapsulatorPublicCtx> ([SWS_CRYPT_21801]). Het daadwerkelijke aanmaken van objecten zal vermoedelijk plaatsvinden via een onderliggende provider-factory van het platform, aangezien de klasse een zuiver virtuele interface vormt. Vraag Q-3551020e7b9c0f0c (open)

Na het aanmaken bevindt de context zich in de toestand van onvolledige initialisatie. Zolang aan de context geen openbare sleutel is toegewezen, mislukken aanroepen voor de berekening van de buffergrootte ([SWS_CRYPT_50013]) en inkapselingsbewerkingen ([SWS_CRYPT_21813], [SWS_CRYPT_50011]) met de fout CryptoErrc::kUninitializedContext. De inzetbaarheid wordt tot stand gebracht door configuratie via SetKey met PublicKey::Sptr ([SWS_CRYPT_21815]) of KeySlot::Sptr ([SWS_CRYPT_50012]). Bij toewijzing van een KeySlot zal de daarin aanwezige openbare sleutel vermoedelijk pas op het daadwerkelijke uitvoeringstijdstip van de inkapseling dynamisch worden uitgelezen. Vraag Q-ea760070f05941d2 (open) Alle methoden van de context zijn conform de specificatie thread-safe en garanderen uitzonderingsveiligheid ([SWS_CRYPT_21813], [SWS_CRYPT_50011], [SWS_CRYPT_50013], [SWS_CRYPT_21815], [SWS_CRYPT_50012]).

Gebruikspad

De praktische toepassing van de context volgt een gedefinieerde volgorde van sleutelbinding, bufferdimensionering en uitvoering van de inkapseling:

  • Sleutelbinding: de applicatie initialiseert de context via SetKey hetzij met een geladen PublicKey ([SWS_CRYPT_21815]) hetzij met een KeySlot ([SWS_CRYPT_50012]).
  • Bufferdimensionering: voorafgaand aan het beschikbaar stellen van de uitvoerbuffer bepaalt de applicatie de maximaal vereiste uitvoergrootte in bytes via GetRequiredOutputBufferSize(algId) ([SWS_CRYPT_50013]) voor het beoogde symmetrische doelalgoritme en reserveert een passende ReadWriteMemRegion.
  • Uitvoering van de inkapseling: afhankelijk van het gebruiksdoel kiest de applicatie een van beide inkapselingsvarianten:
    • Beschikbaarstelling van een bestaande sleutel: Encapsulate(key, encapsulatedKey) kapselt de overgedragen SymmetricKey in en retourneert het aantal geschreven bytes ([SWS_CRYPT_21813]).
    • Autonome generatie: Encapsulate(algId, allowedUsage, encapsulatedKey) genereert een nieuwe symmetrische sleutel overeenkomstig de vereiste gebruiksvlaggen en levert een paar bestaande uit de bytegrootte en de nieuwe SymmetricKey::Sptr terug ([SWS_CRYPT_50011]).
Verloop van de sleutelinkapselingAnwendungKeyEncapsulatorPublicCtxUse Case: Configuratie van de inkapselingssleutelSetKey(key / keySlot)Result<void>Use Case: BuffergroottecontroleGetRequiredOutputBufferSize(algId)Result<std::size_t>Use Case: KapselungaltBestaande sleutelEncapsulate(key, memRegion)Result<std::size_t>Nieuwe sleutel wordt gegenereerdEncapsulate(algId, usage, memRegion)Result<std::pair<std::size_t, SymmetricKey::Sptr>>

Sequentiediagram: typische aanroepvolgorde van sleuteltoewijzing via bufferberekening tot sleutelinkapseling. Bronnen: [SWS_CRYPT_21813], [SWS_CRYPT_21815], [SWS_CRYPT_50011], [SWS_CRYPT_50013]

Foutscenario's

Methoden van KeyEncapsulatorPublicCtx melden fouten via ara::core::Result met waarden uit ara::crypto::CryptoErrc en waarborgen bij fouten rollback-semantiek. Belangrijke foutsituaties omvatten:

  • CryptoErrc::kUninitializedContext: treedt op wanneer GetRequiredOutputBufferSize ([SWS_CRYPT_50013]) of Encapsulate ([SWS_CRYPT_21813], [SWS_CRYPT_50011]) wordt aangeroepen zonder voorafgaande succesvolle configuratie door middel van SetKey.
  • CryptoErrc::kUsageViolation: signaleert ontoelaatbaar sleutelgebruik. Dit treedt op wanneer de vlag kAllowKeyWrapping ontbreekt bij de inkapselingssleutel ([SWS_CRYPT_21815], [SWS_CRYPT_21813], [SWS_CRYPT_50011]) of wanneer de in te kapselen symmetrische sleutel niet is vrijgegeven voor beveiligde export via kAllowSecuredExport ([SWS_CRYPT_21813]).
  • CryptoErrc::kIncompatibleObject: wijst erop dat een overgedragen sleutel of slot niet compatibel is met het algoritme van de context ([SWS_CRYPT_21815], [SWS_CRYPT_50012], [SWS_CRYPT_21813]).
  • CryptoErrc::kInsufficientCapacity en CryptoErrc::kInvalidInputSize: worden geactiveerd indien de overgedragen ReadWriteMemRegion niet de vereiste buffercapaciteit heeft of de invoergrootte van de sleutel niet wordt ondersteund ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).
  • CryptoErrc::kEmptyKeySlot en CryptoErrc::kBusyResource: ontstaan wanneer een via SetKey gebonden KeySlot op het uitvoeringstijdstip van de inkapseling leeg is of een betrokken hardwareresource bezet is ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).
  • CryptoErrc::kUnsupported: wordt geretourneerd wanneer de contextimplementatie hetzij uitsluitend sleutelobjecten in plaats van slots ondersteunt ([SWS_CRYPT_50012]) hetzij omgekeerd ([SWS_CRYPT_21815]), dan wel wanneer het instellen van externe sleutels of de autonome sleutelgeneratie niet wordt ondersteund in de context ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).

Deze handleiding is uitsluitend gebaseerd op de specificaties van de AUTOSAR Adaptive Platform Release R25-11.

Ledenkaart

Klassendiagram

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

G nara__crypto__cryp__KeyEncapsulatorPublicCtx699 KeyEncapsulatorPublicCtx + Encapsulate() + GetRequiredOutputBufferSize() + SetKey() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__KeyEncapsulatorPublicCtx699->nara__crypto__cryp__CryptoContext85

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

Encapsulate functie 2

Encapsulate the provided symmetric key.

Overloads Encapsulate 2
virtual ara::core::Result< std::size_t > Encapsulate (Symmetric Key::Sptr key, ReadWriteMemRegion encapsulatedKey) const noexcept=0; SWS_CRYPT_21813
virtual ara::core::Result< std::pair< std::size_t, SymmetricKey::Sptr > > Encapsulate (AlgId algId, AllowedUsageFlags allowedUsage, Read WriteMemRegion encapsulatedKey) const noexcept=0; SWS_CRYPT_50011

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (AlgId algId) const noexcept;
SetKey functie 2

Configure the context to use the provided key as encapsulation key.

Overloads SetKey 2
virtual ara::core::Result< void > SetKey (PublicKey::Sptr key) noexcept=0; SWS_CRYPT_21815
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50012

Type-aliassen

Sptr typealias

Smart pointer of the interface.

Documentatie van de methoden

functie Encapsulate [SWS_CRYPT_21813] Upstream: RS_CRYPTO_02102, RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< std::size_t > Encapsulate (Symmetric Key::Sptr key, ReadWriteMemRegion encapsulatedKey) const noexcept=0;

Encapsulate the provided symmetric key.

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

De synchrone methode Encapsulate kapselt een meegegeven symmetrische sleutel (key) in en schrijft het resultaat naar de uitvoerbuffer encapsulatedKey [SWS_CRYPT_21813]. Bij een succesvolle uitvoering levert zij via ara::core::Result<std::size_t> de bytegrootte van de ingekapselde sleutel terug [SWS_CRYPT_21813].

In geval van een fout wordt een overeenkomstige foutcode met rollback-semantiek teruggegeven [SWS_CRYPT_21813]. Relevante foutoorzaken zijn:

  • UninitializedContext: De context is niet geïnitialiseerd met een publiekesleutelwaarde [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kUsageViolation: De inkapselingssleutel mist de gebruiksvlag kAllowKeyWrapping of de in te kapselen sleutel mist kAllowSecuredExport [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kIncompatibleObject of CryptoErrc::kInvalidInputSize: Het sleutelobject is incompatibel of de sleutelgrootte wordt niet ondersteund door de context [SWS_CRYPT_21813].
  • CryptoErrc::kUnsupported: De context ondersteunt het inkapselen van verstrekte sleutels niet, omdat deze ze tijdens de inkapseling zelf genereert [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: De buffer encapsulatedKey is te klein gedimensioneerd [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kBusyResource of ara::crypto::CryptoErrc::kEmptyKeySlot: Een resource is bezet of een geconfigureerde KeySlot is leeg [SWS_CRYPT_21813].

De bewerking is gedeclareerd als const, noexcept en gespecificeerd als thread-safe en exception safe [SWS_CRYPT_21813].

In samenspel met de module verschilt deze functie van de alternatieve overbelasting [SWS_CRYPT_50011], die geen bestaande sleutel accepteert, maar de symmetrische sleutel dynamisch opnieuw genereert en samen met het inkapselingsresultaat retourneert [SWS_CRYPT_50011].

Automatisch gegenereerde gebruiksinstructie op basis van AUTOSAR R25-11.

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
keythe symmetric key to be encapsulated

Parameter (out)

ParameterBeschreibung
encapsulatedKeyan output buffer the encapsulated key is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the encapsulated key or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by a public key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the encapsulation key does not include k AllowKeyWrapping or if the allowed usage of the encapsulated key does not include kAllowSecuredExport
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided encapsulated key object is incompatible with this context
CryptoErrc::kInvalidInputSizerollback_semantics if this context does not support the size of the encapsulated key
CryptoErrc::kUnsupportedrollback_semantics if this context does not support setting the encapsulated key, because it generates the key during encapsulation
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21813
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21813@rel:R25-11#99237a90
Content hash
99237a90
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21813
Status: valid/unmigrated Version: rel:R25-11#5f08acc8 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_21813@rel:R25-11#5f08acc8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b3c8ad102026-09-30
  • R19-11rel:R19-11#5df6f2a12026-10-14
  • R20-11rel:R20-11#bc53d66f2026-10-14
  • R21-11rel:R21-11#a093fad52026-10-14
  • R22-11rel:R22-11#9a52ca012026-10-14
  • R23-11rel:R23-11#dadd77c62026-10-14
  • R24-11rel:R24-11#2cf84d842026-10-14
  • R25-11rel:R25-11#5f08acc82026-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

functie Encapsulate [SWS_CRYPT_50011] Upstream: RS_CRYPTO_02102, RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< std::pair< std::size_t, SymmetricKey::Sptr > > Encapsulate (AlgId algId, AllowedUsageFlags allowedUsage, Read WriteMemRegion encapsulatedKey) const noexcept=0;

Generate new a symmetric key and encapsulate it. Optionally store the generated key.

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

Gebruik en semantiek

De synchrone methode Encapsulate genereert intern een nieuwe symmetrische sleutel en kapselt deze in met gebruik van de context [SWS_CRYPT_50011]. Als invoerparameters worden het doelalgoritme algId evenals de toegestane gebruiksvlaggen allowedUsage voor de gegenereerde sleutel opgegeven [SWS_CRYPT_50011]. Het cijfer van de sleutel wordt in de uitvoerbuffer encapsulatedKey geschreven [SWS_CRYPT_50011]. De retourwaarde kapselt bij succes een paar bestaande uit de werkelijke bytegrootte van de ingekapselde sleutel en een smart pointer naar het gegenereerde sleutelobject (std::pair<std::size_t, SymmetricKey::Sptr>) binnen een ara::core::Result in [SWS_CRYPT_50011].

Foutafhandeling en beveiliging

In geval van een fout bezitten de retourwaarden overwegend rollback-semantiek [SWS_CRYPT_50011]. Mogelijke foutoorzaken omvatten:

  • UninitializedContext: De context is vooraf niet met een publieke sleutel geïnitialiseerd [SWS_CRYPT_50011].
  • CryptoErrc::kUsageViolation: De inkapselingssleutel ontbreekt de vlag kAllowKeyWrapping of de doelsleutel ontbreekt kAllowSecuredExport [SWS_CRYPT_50011].
  • CryptoErrc::kInsufficientCapacity: De uitvoerbuffer encapsulatedKey biedt niet voldoende capaciteit [SWS_CRYPT_50011].
  • CryptoErrc::kUnknownIdentifier of CryptoErrc::kUnsupported: De algId is onbekend of het genereren tijdens het inkapselen wordt niet ondersteund [SWS_CRYPT_50011].
  • CryptoErrc::kEmptyKeySlot of CryptoErrc::kBusyResource: Een geconfigureerde KeySlot is leeg of een benodigde resource is bezet [SWS_CRYPT_50011].

Gelijktijdigheid en wisselwerking

De bewerking is gespecificeerd als const, noexcept, thread-safe evenals exception-safe [SWS_CRYPT_50011]. In vergelijking met de overbelasting [SWS_CRYPT_21813], waaraan een bestaande sleutel wordt doorgegeven en die alleen de grootte daarvan retourneert, voert deze methode de sleutelgeneratie en inkapseling in één gezamenlijke stap uit [SWS_CRYPT_50011].

Deze tekst is opgesteld door een AI op basis van de specificatie.

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
algIdthe identifier of the target symmetric crypto algorithm
allowedUsagethe flags that define a list of allowed transformations’ types in which the target key can be used

Parameter (out)

ParameterBeschreibung
encapsulatedKeyan output buffer the encapsulated key is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::pair< std::size_t, SymmetricKey::Sptr > >a result containing a pair of the size of the encapsulated key and the generated symmetric key or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by a public key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the encapsulation key does not include k AllowKeyWrapping or if the allowed usage of the encapsulated key does not include kAllowSecuredExport
CryptoErrc::kInvalidInputSizerollback_semantics if this context does not support the size of the encapsulated key
CryptoErrc::kUnsupportedrollback_semantics if this context does not support generating the encapsulated key during encapsulation
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId has an unsupported value
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured via SetKey that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50011@rel:R25-11#3bb31354
Content hash
3bb31354
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50011
Status: valid/unmigrated Version: rel:R25-11#7f7fdb0c Versionshistorie & Revisions (1 transition)
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_50011@rel:R25-11#7f7fdb0c
Point-in-Time History:
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

functie GetRequiredOutputBufferSize [SWS_CRYPT_50013] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (AlgId algId) const noexcept;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
algIdthe algId of the key to encapsulate

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50013@rel:R25-11#b8d4f896
Content hash
b8d4f896
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50013
Status: valid/unmigrated Version: rel:R25-11#8834a17a Versionshistorie & Revisions (1 transition)
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_50013@rel:R25-11#8834a17a
Point-in-Time History:
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

functie SetKey [SWS_CRYPT_21815] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (PublicKey::Sptr key) noexcept=0;

Configure the context to use the provided key as encapsulation key.

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

Gebruik

De methode SetKey configureert de instantie van ara::crypto::cryp::KeyEncapsulatorPublicCtx zodanig dat het overgedragen sleutelobject wordt gebruikt als inkapselsleutel [SWS_CRYPT_21815]. Als parameter dient key van het type PublicKey::Sptr [SWS_CRYPT_21815]. De aanroep verloopt synchroon en levert als retourwaarde een ara::core::Result<void> op, die bij succes leeg is of een foutcode transporteert [SWS_CRYPT_21815].

Foutafhandeling

In geval van een fout bezitten alle gemelde foutcodes rollback-semantiek [SWS_CRYPT_21815]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: het beschikbaar gestelde sleutelobject is incompatibel met de context [SWS_CRYPT_21815].
  • ara::crypto::CryptoErrc::kUsageViolation: het toegestane gebruik van de sleutel bevat niet de vlag kAllowKeyWrapping [SWS_CRYPT_21815].
  • ara::crypto::CryptoErrc::kUnsupported: de context ondersteunt uitsluitend het instellen van een sleutel via een KeySlot [SWS_CRYPT_21815].

Gelijktijdigheid en beperkingen

De functie is gespecificeerd als thread-safe en exception safe met noexcept-garantie [SWS_CRYPT_21815].

Samenspel

Door de configuratie van de sleutel wordt de context voorbereid op de sleutelinkapseling, die via de methode Encapsulate wordt uitgevoerd [SWS_CRYPT_50011]. Indien de context de directe sleuteltoewijzing niet ondersteunt of de sleutel moet worden verkregen uit een geheugengebied, is als alternatief de overbelasting van SetKey met een KeySlot::Sptr beschikbaar [SWS_CRYPT_50012].

Deze gebruiksinstructie is gegenereerd door een AI en is gebaseerd op de specificaties van release R25-11.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keythe key encapsulation key

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21815
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21815@rel:R25-11#0ad7c19e
Content hash
0ad7c19e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21815
Status: valid/unmigrated Version: rel:R25-11#135664c1 Versionshistorie & Revisions (1 transition, 7 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_21815@rel:R25-11#135664c1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#97afebd22026-09-30
  • R20-11rel:R20-11#3e034d832026-10-14
  • R21-11rel:R21-11#14e868c82026-10-14
  • R22-11rel:R22-11#c056496f2026-10-14
  • R23-11rel:R23-11#4a9295802026-10-14
  • R24-11rel:R24-11#6638cae22026-10-14
  • R25-11rel:R25-11#135664c12026-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

functie SetKey [SWS_CRYPT_50012] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the key encapsulation is performed.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c951ff682a31 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode SetKey van de klasse ara::crypto::cryp::KeyEncapsulatorPublicCtx configureert de context zodanig dat de in een doorgegeven sleutelslot (KeySlot) opgeslagen openbare sleutel wordt gebruikt op het moment van sleutelkapseling [SWS_CRYPT_50012].

Gebruik

De aanroep vindt synchroon plaats en is gespecificeerd als noexcept en exception safe [SWS_CRYPT_50012]. Als parameter dient keySlot van het type KeySlot::Sptr, die een openbare sleutel moet bevatten [SWS_CRYPT_50012]. De retourwaarde is een ara::core::Result<void>, die bij succes geen waarde bevat [SWS_CRYPT_50012].

Foutafhandeling

In geval van een fout wordt een foutcode met rollback-semantiek geretourneerd [SWS_CRYPT_50012]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: De doorgegeven keySlot is incompatibel met deze context [SWS_CRYPT_50012].
  • ara::crypto::CryptoErrc::kUnsupported: de context ondersteunt uitsluitend het instellen van een PublicKey-object [SWS_CRYPT_50012].

Gelijktijdigheid en wisselwerking

De functie is gedefinieerd als thread-safe [SWS_CRYPT_50012]. Naast de toewijzing via een sleutelslot bestaat er een alternatieve overload voor het direct doorgeven van een PublicKey::Sptr [SWS_CRYPT_21815]. De geconfigureerde sleutel wordt toegepast zodra de sleutelkapseling via Encapsulate [SWS_CRYPT_50011] wordt uitgevoerd. Wat betreft de volgorde moet SetKey vermoedelijk vóór de aanroep van Encapsulate worden uitgevoerd, zodat de context is geïnitialiseerd. Vraag Q-769923d4fb9a3d1e (open)

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

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a public key

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a PublicKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50012
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50012@rel:R25-11#17590d00
Content hash
17590d00
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50012
Status: valid/unmigrated Version: rel:R25-11#b5e332fa Versionshistorie & Revisions (1 transition)
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_50012@rel:R25-11#b5e332fa
Point-in-Time History:
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_21801] Upstream: RS_CRYPTO_02209

using Sptr = std::shared_ptr<KeyEncapsulatorPublicCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21801@rel:R25-11#1c3eb628
Content hash
1c3eb628
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21801
Status: valid/unmigrated Version: rel:R25-11#6c7506e9 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_21801@rel:R25-11#6c7506e9
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d5df06eb2026-09-30
  • R19-11rel:R19-11#3a23dd282026-10-14
  • R20-11rel:R20-11#b2bfbd8b2026-10-14
  • R21-11rel:R21-11#b2bfbd8b2026-10-14
  • R22-11rel:R22-11#1b749d9b2026-10-14
  • R23-11rel:R23-11#7bb57d5b2026-10-14
  • R24-11rel:R24-11#7bb57d5b2026-10-14
  • R25-11rel:R25-11#6c7506e92026-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