DEENESPTFRRUARHIKOZHNL

class ara::crypto::cryp::CryptoProvider

[SWS_CRYPT_20700] Upstream: RS_CRYPTO_02305, RS_CRYPTO_02307, RS_CRYPTO_02401

class CryptoProvider {...};

CryptoProviderInterface representing one implementation of a set of cryptographic primitives with a key storage.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp

User GuideAI-GENERATED

Serves as a central factory for creating and managing cryptographic contexts, algorithms, and key objects.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0bf253450f85 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves as a central factory for creating and managing cryptographic contexts, algorithms, and key objects.

The class serves as a central factory for providing cryptographic primitives as well as for creating and managing cryptographic keys and contexts ([SWS_CRYPT_20742], [SWS_CRYPT_20721]). Instances are neither copyable nor movable and are managed via shared pointers ([SWS_CRYPT_20701], [SWS_CRYPT_41005]). Errors such as incompatible algorithms or exhausted resources are returned in a type-safe manner via ara::core::Result ([SWS_CRYPT_30098]).

Context

The class ara::crypto::cryp::CryptoProvider forms the central interface for providing cryptographic operations and algorithms in the AUTOSAR Adaptive stack. As an abstraction layer, it bundles concrete implementations of cryptographic primitives as well as access to keys and storage structures. In a typical system architecture, the CryptoProvider acts as an intermediary and factory between the application logic, persistent key stores, and specialized processing contexts. Applications request specialized contexts for symmetric encryption ([SWS_CRYPT_20742]), asymmetric encryption ([SWS_CRYPT_20750], [SWS_CRYPT_20751]), digital signatures ([SWS_CRYPT_20756], [SWS_CRYPT_20757]), hash functions ([SWS_CRYPT_20747]), message authentication ([SWS_CRYPT_20746]), or key exchange procedures ([SWS_CRYPT_20758], [SWS_CRYPT_20752]) via the provider. At the same time, the provider interacts with underlying key slots to instantiate stored keys ([SWS_CRYPT_20762], [SWS_CRYPT_20764]).

ProviderKontext Anwendung Anwendung CryptoProvider CryptoProvider Anwendung->CryptoProvider KeySlot KeySlot CryptoProvider->KeySlot CryptoContext CryptoContext CryptoProvider->CryptoContext CryptoObject CryptoObject CryptoProvider->CryptoObject

Context diagram: Embedding of the CryptoProvider as a factory and intermediary between application, contexts, and KeySlot. Sources: [SWS_CRYPT_20742], [SWS_CRYPT_20756], [SWS_CRYPT_20762].

Lifecycle

Instances of CryptoProvider have strict semantics regarding copy and move operations: both the copy constructor ([SWS_CRYPT_41005]) and the move constructor ([SWS_CRYPT_41006]) as well as the corresponding assignment operators ([SWS_CRYPT_30216], [SWS_CRYPT_30217]) are explicitly deleted (delete). The lifecycle of an instance is therefore usually managed via references or shared ownership, for which the type alias CryptoProvider::Sptr based on std::shared_ptr is defined ([SWS_CRYPT_20701]). Cleanup is performed via the virtual default destructor ([SWS_CRYPT_20710]). All interface methods of the provider are specified as exception-safe (exception safe) and thread-safe (thread-safe), which allows concurrent access from multiple threads without external synchronization at the provider level.

Usage Path

A typical usage path comprises key provisioning, instantiation of the appropriate crypto context, and subsequent execution of the transformations. First, the application creates or imports the required key material. For this purpose, CryptoProvider provides methods such as GenerateSymmetricKey ([SWS_CRYPT_20721]), GeneratePrivateKey ([SWS_CRYPT_20722]), ImportPublicKey ([SWS_CRYPT_20732]), or loading from an existing key slot ([SWS_CRYPT_20762], [SWS_CRYPT_20763]). Based on the algorithm, default permissions can be determined via GetDefaultAllowedUsage ([SWS_CRYPT_20955]). In the next step, the application creates the respective context via the factory methods, for example an AuthCipherCtx ([SWS_CRYPT_20745]) or an SignerPrivateCtx ([SWS_CRYPT_20756]). In addition, the provider provides random data via GenerateRandomData ([SWS_CRYPT_30098]) or a monotonically increasing counter value via GetSecureCounter ([SWS_CRYPT_20098]). For secure exchange, key material can be exported protected using ExportSecuredKey ([SWS_CRYPT_20728]).

Key and context creationApplicationCryptoProviderAuthCipherCtxGenerateSymmetricKey(algId, allowedUsage)Erzeugt SymmetricKey::SptrResult<SymmetricKey::Sptr>CreateAuthCipherCtx(algId)InstanziierungResult<AuthCipherCtx::Sptr>

Sequence diagram: Flow for key generation and creation of an authenticated cipher context. Sources: [SWS_CRYPT_20721], [SWS_CRYPT_20745].

Error Scenarios

Methods of the CryptoProvider report errors via the return type ara::core::Result with values from ara::crypto::CryptoErrc. In the event of failing operations, rollback semantics apply. Key error scenarios include:

  • Invalid or incompatible parameters: If an unsupported algorithm identifier is passed, context and key creation methods return CryptoErrc::kUnknownIdentifier ([SWS_CRYPT_20741], [SWS_CRYPT_20742], [SWS_CRYPT_20721]). If the algorithm does not match the expected primitive (e.g. asymmetric algorithm when a hash function is requested) or usage flags do not match the configuration, CryptoErrc::kInvalidArgument or CryptoErrc::kIncompatibleArguments occurs ([SWS_CRYPT_20747], [SWS_CRYPT_20722], [SWS_CRYPT_50132]).
  • Key storage and format errors: When loading via key slots, an unpopulated slot leads to CryptoErrc::kEmptyKeySlot, whereas foreign or incorrect key types trigger CryptoErrc::kIncompatibleObject ([SWS_CRYPT_20762], [SWS_CRYPT_20764]). Faulty serialization formats lead to CryptoErrc::kUnsupportedFormat ([SWS_CRYPT_50014], [SWS_CRYPT_20732]).
  • Resource and capacity bottlenecks: If the random number generator is temporarily exhausted or a hardware resource is blocked, CryptoErrc::kBusyResource is returned ([SWS_CRYPT_30098], [SWS_CRYPT_20721], [SWS_CRYPT_20098]). If destination buffers for identification data or key exports are insufficiently sized, the interface reports CryptoErrc::kInsufficientCapacity ([SWS_CRYPT_50015], [SWS_CRYPT_20728]).
  • Unsupported features: If optional features such as provider identification, secure counter, or default RNG are not supported by a concrete provider implementation, the error CryptoErrc::kUnsupported is reported ([SWS_CRYPT_50015], [SWS_CRYPT_20098], [SWS_CRYPT_30098]).

This guide is based exclusively on the interface definition of ara::crypto::cryp::CryptoProvider for AUTOSAR R25-11.

Member map

Class diagram

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

G nara__crypto__cryp__CryptoProvider844 CryptoProvider + CryptoProvider() + operator=() + ~CryptoProvider() + CreateAuthCipherCtx() + CreateDecryptorPrivateCtx() + CreateEncryptorPublicCtx() + CreateHashFunctionCtx() + CreateKeyAgreementPrivateCtx() + CreateKeyDecapsulatorPrivateCtx() + CreateKeyDerivationFunctionCtx() + CreateKeyEncapsulatorPublicCtx() + CreateMessageAuthnCodeCtx() + CreateProtectedKeyImportCtx() + CreateRandomGeneratorCtx() + CreateSignerPrivateCtx() + CreateSymmetricCipherCtx() … 16 weitere

Detail view

Select an entry in the outline.

Constructors and destructor

CryptoProvider function 2

Copy-Constructor.

Overloads CryptoProvider 2
CryptoProvider (const CryptoProvider &)=delete; SWS_CRYPT_41005
CryptoProvider (CryptoProvider &&)=delete; SWS_CRYPT_41006

Destructor.

virtual ~CryptoProvider () noexcept=default;

Methods

Create a symmetric authenticated cipher context.

virtual ara::core::Result< AuthCipherCtx::Sptr > CreateAuthCipherCtx (AlgId algId) noexcept=0;

Create a decryption private key context.

virtual ara::core::Result< DecryptorPrivateCtx::Sptr > CreateDecryptor PrivateCtx (AlgId algId) noexcept=0;

Create an encryption public key context.

virtual ara::core::Result< EncryptorPublicCtx::Sptr > CreateEncryptor PublicCtx (AlgId algId) noexcept=0;

Create a hash function context.

virtual ara::core::Result< HashFunctionCtx::Sptr > CreateHashFunction Ctx (AlgId algId) noexcept=0;

Create a key-agreement private key context.

virtual ara::core::Result< KeyAgreementPrivateCtx::Sptr > CreateKey AgreementPrivateCtx (AlgId algId) noexcept=0;

Create a key-decapsulator private context of a Key Encapsulation Mechanism (KEM).

virtual ara::core::Result< KeyDecapsulatorPrivateCtx::Sptr > CreateKey DecapsulatorPrivateCtx (AlgId algId) noexcept=0;

Create a key derivation function context.

virtual ara::core::Result< KeyDerivationFunctionCtx::Sptr > CreateKey DerivationFunctionCtx (AlgId algId) noexcept=0;

Create a key-encapsulator public context of a Key Encapsulation Mechanism (KEM).

virtual ara::core::Result< KeyEncapsulatorPublicCtx::Sptr > CreateKey EncapsulatorPublicCtx (AlgId algId) noexcept=0;

Create a symmetric message authentication code context.

virtual ara::core::Result< MessageAuthnCodeCtx::Sptr > CreateMessage AuthnCodeCtx (AlgId algId) noexcept=0;

The interface shall create a protected key import context.

Create a Random Number Generator (RNG) context.

virtual ara::core::Result< RandomGeneratorCtx::Sptr > CreateRandom GeneratorCtx (AlgId algId) noexcept=0;

Create a signature private key context.

virtual ara::core::Result< SignerPrivateCtx::Sptr > CreateSigner PrivateCtx (AlgId algId) noexcept=0;

Create a symmetric cipher context.

virtual ara::core::Result< SymmetricCipherCtx::Sptr > CreateSymmetric CipherCtx (AlgId algId) noexcept=0;

Create a symmetric key-wrap algorithm context.

Create a signature verification public key context.

virtual ara::core::Result< VerifierPublicCtx::Sptr > CreateVerifier PublicCtx (AlgId algId) noexcept=0;

The interface shall format the data referenced by the specified key, securely wrap this payload and serialize the secured payload into the provided output buffer. The format shall be specified implicitly by the AlgId. The formatted payload shall be wrapped according to the specified algId using the kek; if kek is not provided, ExportSecuredKey shall apply a key-encryption-key implictly defined by the algId or the default key-encryption-key of the CryptoProvider.

virtual ara::core::Result< std::size_t > ExportSecuredKey (AlgId alg Id, CryptoObject::Sptr key, ReadWriteMemRegion resultBuffer, ara::core::Optional< SymmetricKey::Sptr > kek) noexcept=0;

Generate a new public/private key pair and return the private key. The public key can be retrieved via the function PrivateKey::GetPublicKey() The allowed usage flags of the Public Key are set based on the allowed usage of the PrivateKey: • kAllowDataDecryption --> kAllowDataEncryption • kAllowSigGeneration --> kAllowSigVerification • kAllowKeyAgreement --> kAllowKeyAgreement • kAllowKeyUnwrapping --> kAllowKeyWrapping Additionally, the allowed usage: • kAllowPlaintextExport • kAllowPersist are set for the public key.

virtual ara::core::Result< PrivateKey::Sptr > GeneratePrivateKey (Alg Id algId, AllowedUsageFlags privateKeyAllowedUsage) noexcept=0;

Fill the provided output data buffer randomData with random data.

virtual ara::core::Result< void > GenerateRandomData (ReadWriteMem Region randomData) noexcept=0;

Generate a new symmetric key.

virtual ara::core::Result< SymmetricKey::Sptr > GenerateSymmetricKey (AlgId algId, AllowedUsageFlags allowedUsage) noexcept=0;

Get a CryptoProvider specific default set of allowedUsages for the provided AlgId. The returned allowedUsages shall not contain kAllowPlaintextExport, kAllowPersist and kAllowSecuredExport.

virtual ara::core::Result< AllowedUsageFlags > GetDefaultAllowedUsage (AlgId algId) noexcept=0;
GetProviderID function

Obtain provider specific identification data.

virtual ara::core::Result< void > GetProviderID (ara::core::Optional< ReadOnlyMemRegion > in, ReadWriteMemRegion idData) noexcept=0;

Get the required size of the output buffer for ID data used by GetProviderID.

virtual ara::core::Result< std::size_t > GetProviderIdSize () noexcept=0;

Get the current value of the secure counter of this CryptoProvider. The current counter value is guaranteed to be stricly larger than any previously returned counter value.

ara::core::Result< SecureCounter > GetSecureCounter () noexcept;

Import a serialized private key.

virtual ara::core::Result< PrivateKey::Sptr > ImportPrivateKey (Read OnlyMemRegion serialized, AllowedUsageFlags allowedUsage, FormatId formatId, ara::core::Optional< AlgId > algId) noexcept=0;

Import a serialized public key.

virtual ara::core::Result< PublicKey::Sptr > ImportPublicKey (ReadOnly MemRegion serialized, AllowedUsageFlags allowedUsage, FormatId format Id, ara::core::Optional< AlgId > algId) noexcept=0;

Import a serialized symmetric key.

virtual ara::core::Result< SymmetricKey::Sptr > ImportSymmetricKey (ReadOnlyMemRegion serialized, AllowedUsageFlags allowedUsage, Format Id formatId, ara::core::Optional< AlgId > algId) noexcept=0;

Load a private key from the provided KeySlot.

virtual ara::core::Result< PrivateKey::Sptr > LoadPrivateKey (Key Slot::Sptr keySlot) noexcept=0;
LoadPublicKey function

Load a public key from the provided KeySlot.

virtual ara::core::Result< PublicKey::Sptr > LoadPublicKey (Key Slot::Sptr keySlot) noexcept=0;

Load a symmetric key from the provided KeySlot.

virtual ara::core::Result< SymmetricKey::Sptr > LoadSymmetricKey (Key Slot::Sptr keySlot) noexcept=0;

Operators

operator= function 2

Copy-assign another CryptoProvider to this instance.

Overloads = 2
CryptoProvider & operator= (const CryptoProvider &other)=delete; SWS_CRYPT_30216
CryptoProvider & operator= (CryptoProvider &&other)=delete; SWS_CRYPT_30217

Type aliases

Sptr type alias

Shared pointer of the CryptoProvider.

Method documentation

function CreateAuthCipherCtx [SWS_CRYPT_20745] Upstream: RS_CRYPTO_02207, RS_AP_00144

virtual ara::core::Result< AuthCipherCtx::Sptr > CreateAuthCipherCtx (AlgId algId) noexcept=0;

Create a symmetric authenticated cipher context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 11ce33c6da44 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method CreateAuthCipherCtx serves to create a context for symmetric authenticated ciphering ([SWS_CRYPT_20745]). It is defined as a pure virtual interface in class ara::crypto::cryp::CryptoProvider and is to be included via header file ara/crypto/cryp/crypto_provider.h ([SWS_CRYPT_20745]).

Usage and Semantics

algId is passed as an input parameter, which identifies the target crypto algorithm ([SWS_CRYPT_20745]). The function operates synchronously and does not throw any exceptions (noexcept) ([SWS_CRYPT_20745]). Upon successful execution, it returns a ara::core::Result with a smart pointer to the created instance AuthCipherCtx::Sptr ([SWS_CRYPT_20745]).

Error handling

In the event of an error, a corresponding error code is returned in the ara::core::Result with rollback semantics ([SWS_CRYPT_20745]):

  • ara::crypto::CryptoErrc::kInvalidArgument: If algId does not specify an algorithm for a symmetric authenticated stream cipher ([SWS_CRYPT_20745]).
  • ara::crypto::CryptoErrc::kUnknownIdentifier: If an unsupported value was passed for algId ([SWS_CRYPT_20745]).

Concurrency

The call to CreateAuthCipherCtx is thread-safe and specified as exception safe ([SWS_CRYPT_20745]).

This text was generated automatically. All technical statements are supported by specification references.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< AuthCipherCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from symmetric authenticated stream cipher
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20745
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20745@rel:R25-11#f26e531e
Content hash
f26e531e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20745
Status: valid/unmigrated Version: rel:R25-11#39b58f01 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_20745@rel:R25-11#39b58f01
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f26e531e2026-09-30
  • R19-11rel:R19-11#068856e02026-10-14
  • R20-11rel:R20-11#07ae27852026-10-14
  • R21-11rel:R21-11#35bf37702026-10-14
  • R22-11rel:R22-11#69962f862026-10-14
  • R23-11rel:R23-11#ca5aac9e2026-10-14
  • R24-11rel:R24-11#7d9792cd2026-10-14
  • R25-11rel:R25-11#39b58f012026-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

function CreateDecryptorPrivateCtx [SWS_CRYPT_20751] Upstream: RS_CRYPTO_02202, RS_AP_00144

virtual ara::core::Result< DecryptorPrivateCtx::Sptr > CreateDecryptor PrivateCtx (AlgId algId) noexcept=0;

Create a decryption private key context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7d14bb93ecba Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method CreateDecryptorPrivateCtx of interface ara::crypto::cryp::CryptoProvider serves to create a context for asymmetric decryption using a private key according to [SWS_CRYPT_20751]. As an input parameter, the function expects algId, which defines the identifier of the desired asymmetric encryption or decryption algorithm. Interpretation: The call is likely executed synchronously, since the signature directly returns a ara::core::Result that, in the event of success, contains a smart pointer to the created context (DecryptorPrivateCtx::Sptr) [SWS_CRYPT_20751]. Question Q-45d1c4a1b2133f4c (open)

Error handling

If the context cannot be created, the error is transported in the returned ara::core::Result. If an unsupported value was passed for the parameter algId, this specifically results in the error code ara::crypto::CryptoErrc::kUnknownIdentifier with rollback semantics [SWS_CRYPT_20751].

Concurrency and Limitations

The function is defined as noexcept and guarantees exception safety (exception safe) [SWS_CRYPT_20751]. For simultaneous access from multiple threads, the method is specified as thread-safe [SWS_CRYPT_20751]. Since the signature in header ara/crypto/cryp/crypto_provider.h is declared as a pure virtual method, the concrete implementation is the responsibility of the respective provider implementation [SWS_CRYPT_20751].

This usage note was generated automatically and is based exclusively on the specification data of AUTOSAR Adaptive release R25-11.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target asymmetric encryption/decryption algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<DecryptorPrivateCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if AlgId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20751
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20751@rel:R25-11#d0572a21
Content hash
d0572a21
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20751
Status: valid/unmigrated Version: rel:R25-11#9ad4a16f 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_20751@rel:R25-11#9ad4a16f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d0572a212026-09-30
  • R19-11rel:R19-11#958150e62026-10-14
  • R20-11rel:R20-11#db1918e82026-10-14
  • R21-11rel:R21-11#d03527eb2026-10-14
  • R22-11rel:R22-11#19548e8e2026-10-14
  • R23-11rel:R23-11#b4b720e52026-10-14
  • R24-11rel:R24-11#00b7d5452026-10-14
  • R25-11rel:R25-11#9ad4a16f2026-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

function CreateEncryptorPublicCtx [SWS_CRYPT_20750] Upstream: RS_CRYPTO_02202, RS_AP_00144

virtual ara::core::Result< EncryptorPublicCtx::Sptr > CreateEncryptor PublicCtx (AlgId algId) noexcept=0;

Create an encryption public key context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f47db9d84d9a Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual interface method CreateEncryptorPublicCtx belongs to class ara::crypto::cryp::CryptoProvider and is declared via header file ara/crypto/cryp/crypto_provider.h [SWS_CRYPT_20750]. Its task is to instantiate a new context for asymmetric encryption operations with a public key [SWS_CRYPT_20750].

Usage: The call takes place synchronously specifying the parameter algId of type AlgId, which specifies the identifier of the desired asymmetric encryption or decryption algorithm [SWS_CRYPT_20750]. The method returns the result in a ara::core::Result, which provides a smart pointer of type EncryptorPublicCtx::Sptr to the created context in the event of success [SWS_CRYPT_20750].

Error handling: If the argument algId contains an unsupported algorithm value, the call fails and returns the error code ara::crypto::CryptoErrc::kUnknownIdentifier in ara::core::Result [SWS_CRYPT_20750]. Explicit rollback semantics are specified for this error case [SWS_CRYPT_20750].

Concurrency and exception safety: The interface is declared as noexcept, is considered exception safe (exception safe), and is explicitly specified as thread-safe (thread-safe) [SWS_CRYPT_20750].

This text was generated by an AI based on the specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target asymmetric encryption/decryption algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<EncryptorPublicCtx::Sptr>Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if AlgId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20750
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20750@rel:R25-11#8b735d08
Content hash
8b735d08
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20750
Status: valid/unmigrated Version: rel:R25-11#645c8167 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_20750@rel:R25-11#645c8167
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8b735d082026-09-30
  • R19-11rel:R19-11#245f8fcf2026-10-14
  • R20-11rel:R20-11#56691f5f2026-10-14
  • R21-11rel:R21-11#f1e172112026-10-14
  • R22-11rel:R22-11#e5ba293e2026-10-14
  • R23-11rel:R23-11#128841ba2026-10-14
  • R24-11rel:R24-11#e48790ba2026-10-14
  • R25-11rel:R25-11#645c81672026-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

function CreateHashFunctionCtx [SWS_CRYPT_20747] Upstream: RS_CRYPTO_02205, RS_AP_00144

virtual ara::core::Result< HashFunctionCtx::Sptr > CreateHashFunction Ctx (AlgId algId) noexcept=0;

Create a hash function context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d5d380ddf0c0 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method CreateHashFunctionCtx serves to instantiate a cryptographic hash context ([SWS_CRYPT_20747]). It is provided as a pure virtual interface of class ara::crypto::cryp::CryptoProvider via the header ara/crypto/cryp/crypto_provider.h.

Usage and Parameters

The call takes place synchronously and expects algId (of type AlgId) as an input parameter, which identifies the desired cryptographic algorithm ([SWS_CRYPT_20747]). As return value, the function returns a ara::core::Result<HashFunctionCtx::Sptr>, which contains a smart pointer to the created context in the event of success.

Error handling

If the creation fails, the ara::core::Result contains a corresponding error code with rollback semantics ([SWS_CRYPT_20747]):

  • ara::crypto::CryptoErrc::kInvalidArgument: Returned if the passed algId is specified for an algorithm type other than a hash function ([SWS_CRYPT_20747]).
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Occurs if an unsupported identifier was passed for algId ([SWS_CRYPT_20747]).

Concurrency and Limitations

The function is declared as noexcept and specified as exception safe (“exception safe”) ([SWS_CRYPT_20747]). In addition, the call is thread-safe (“thread-safe”), so that simultaneous calls from multiple threads on the same instance of CryptoProvider are permissible ([SWS_CRYPT_20747]).

This text was generated by an AI based on specification R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< HashFunctionCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from hash function
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20747
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20747@rel:R25-11#f2f9f89e
Content hash
f2f9f89e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20747
Status: valid/unmigrated Version: rel:R25-11#a65adf82 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_20747@rel:R25-11#a65adf82
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f2f9f89e2026-09-30
  • R19-11rel:R19-11#27d8bfbe2026-10-14
  • R20-11rel:R20-11#8ae2344a2026-10-14
  • R21-11rel:R21-11#5db0d9fb2026-10-14
  • R22-11rel:R22-11#f8120b092026-10-14
  • R23-11rel:R23-11#cd6826a42026-10-14
  • R24-11rel:R24-11#8ca5ca262026-10-14
  • R25-11rel:R25-11#a65adf822026-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

function CreateKeyAgreementPrivateCtx [SWS_CRYPT_20758] Upstream: RS_CRYPTO_02104, RS_AP_00144

virtual ara::core::Result< KeyAgreementPrivateCtx::Sptr > CreateKey AgreementPrivateCtx (AlgId algId) noexcept=0;

Create a key-agreement private key context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f0aaacbed75d Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method CreateKeyAgreementPrivateCtx of class ara::crypto::cryp::CryptoProvider serves to create a private key context for key agreements (KeyAgreementPrivateCtx) according to [SWS_CRYPT_20758]. The declaration is provided via header file #include "ara/crypto/cryp/crypto_provider.h".

Usage and Invocation

As input parameter, the synchronous method expects the identifier algId of type AlgId, which specifies the desired crypto algorithm for key agreement. As return value, the function returns a ara::core::Result<KeyAgreementPrivateCtx::Sptr>, which encapsulates a smart pointer to the newly created context instance in the event of success [SWS_CRYPT_20758].

Error handling

If the instantiation fails, the returned ara::core::Result contains an error code with rollback semantics [SWS_CRYPT_20758]:

  • ara::crypto::CryptoErrc::kInvalidArgument: Occurs if the argument algId specifies a crypto algorithm that differs from key agreement schemes.
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Returned if the identifier algId has an unsupported value.

Concurrency and Safety

The interface is declared as noexcept and defined as exception safe (exception safe). In addition, the call is specified as thread-safe (thread-safe), so that simultaneous calls on the same instance of CryptoProvider are permissible [SWS_CRYPT_20758].

This usage note was generated automatically based on the specification of AUTOSAR R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target key-agreement crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< KeyAgreementPrivateCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from key-agreement
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20758
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20758@rel:R25-11#64be1dbd
Content hash
64be1dbd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20758
Status: valid/unmigrated Version: rel:R25-11#768fe78c 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_20758@rel:R25-11#768fe78c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#64be1dbd2026-09-30
  • R19-11rel:R19-11#b377ec0f2026-10-14
  • R20-11rel:R20-11#8e18e3592026-10-14
  • R21-11rel:R21-11#d272fd992026-10-14
  • R22-11rel:R22-11#4a3ac1a22026-10-14
  • R23-11rel:R23-11#ad3845082026-10-14
  • R24-11rel:R24-11#c10793c52026-10-14
  • R25-11rel:R25-11#768fe78c2026-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

function CreateKeyDecapsulatorPrivateCtx [SWS_CRYPT_20753] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02209, RS_AP_00144

virtual ara::core::Result< KeyDecapsulatorPrivateCtx::Sptr > CreateKey DecapsulatorPrivateCtx (AlgId algId) noexcept=0;

Create a key-decapsulator private context of a Key Encapsulation Mechanism (KEM).

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 29715a46f6b0 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The CreateKeyDecapsulatorPrivateCtx method of the ara::crypto::cryp::CryptoProvider interface serves to create a private context for key decapsulation for a Key Encapsulation Mechanism (KEM) [SWS_CRYPT_20753]. As an input parameter, it expects algId of type AlgId, which identifies the desired KEM cryptographic algorithm [SWS_CRYPT_20753]. The function operates synchronously and returns the result in a ara::core::Result<KeyDecapsulatorPrivateCtx::Sptr>, which encapsulates a smart pointer to the newly instantiated context in case of success [SWS_CRYPT_20753].

Error handling

If an error occurs during context creation, it is reported via the ara::core::Result with rollback semantics [SWS_CRYPT_20753]:

  • ara::crypto::CryptoErrc::kInvalidArgument: The argument algId specifies a crypto algorithm that is not an asymmetric KEM scheme [SWS_CRYPT_20753].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: The argument algId has an unsupported value [SWS_CRYPT_20753].

Concurrency and Execution Safety

The interface is declared as noexcept and specified as exception-safe [SWS_CRYPT_20753]. In addition, execution is designed to be thread-safe [SWS_CRYPT_20753].

This usage note is based on the AUTOSAR Adaptive R25-11 specification.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target KEM crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< KeyDecapsulatorPrivateCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from asymmetric KEM
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20753
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20753@rel:R25-11#ce72d508
Content hash
ce72d508
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20753
Status: valid/unmigrated Version: rel:R25-11#2a254e1e 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_20753@rel:R25-11#2a254e1e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ce72d5082026-09-30
  • R19-11rel:R19-11#8ce1bc4c2026-10-14
  • R20-11rel:R20-11#c151a2bd2026-10-14
  • R21-11rel:R21-11#d9e99bf42026-10-14
  • R22-11rel:R22-11#34ef693d2026-10-14
  • R23-11rel:R23-11#fc9a47332026-10-14
  • R24-11rel:R24-11#8a7533962026-10-14
  • R25-11rel:R25-11#2a254e1e2026-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

function CreateKeyDerivationFunctionCtx [SWS_CRYPT_20748] Upstream: RS_CRYPTO_02103, RS_AP_00144

virtual ara::core::Result< KeyDerivationFunctionCtx::Sptr > CreateKey DerivationFunctionCtx (AlgId algId) noexcept=0;

Create a key derivation function context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a0b8a7f1dfa2 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The CreateKeyDerivationFunctionCtx method of class ara::crypto::cryp::CryptoProvider serves to create an execution context for key derivation functions ([SWS_CRYPT_20748]). The identifier algId of type AlgId, which specifies the desired cryptographic target algorithm, is passed as an input parameter. The synchronous call returns a ara::core::Result that provides a smart pointer to the created context (KeyDerivationFunctionCtx::Sptr) upon successful execution ([SWS_CRYPT_20748]).

If an error occurs during instantiation, the result is returned with a corresponding error code under rollback semantics ([SWS_CRYPT_20748]):

  • ara::crypto::CryptoErrc::kInvalidArgument: The argument algId specifies a cryptographic algorithm that is not a key derivation function ([SWS_CRYPT_20748]).
  • ara::crypto::CryptoErrc::kUnknownIdentifier: The passed identifier algId has an unsupported value ([SWS_CRYPT_20748]).

The interface is declared as a pure virtual function, designated as noexcept, and classified as mandatory thread-safe and exception safe ([SWS_CRYPT_20748]). Inclusion is performed via header file #include "ara/crypto/cryp/crypto_provider.h". The function addresses the higher-level requirements [RS_CRYPTO_02103] and [RS_AP_00144].

This usage note was generated automatically by an AI and is based on the specifications of the AUTOSAR Adaptive Platform R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< KeyDerivationFunctionCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from key derivation function
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20748
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20748@rel:R25-11#ce0d4c1b
Content hash
ce0d4c1b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20748
Status: valid/unmigrated Version: rel:R25-11#87a97504 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_20748@rel:R25-11#87a97504
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ce0d4c1b2026-09-30
  • R19-11rel:R19-11#529d87c72026-10-14
  • R20-11rel:R20-11#69f8e53c2026-10-14
  • R21-11rel:R21-11#6c13fa4d2026-10-14
  • R22-11rel:R22-11#38efa8462026-10-14
  • R23-11rel:R23-11#bad3069e2026-10-14
  • R24-11rel:R24-11#248bba532026-10-14
  • R25-11rel:R25-11#87a975042026-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

function CreateKeyEncapsulatorPublicCtx [SWS_CRYPT_20752] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02209, RS_AP_00144

virtual ara::core::Result< KeyEncapsulatorPublicCtx::Sptr > CreateKey EncapsulatorPublicCtx (AlgId algId) noexcept=0;

Create a key-encapsulator public context of a Key Encapsulation Mechanism (KEM).

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: efe36f596de1 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method CreateKeyEncapsulatorPublicCtx of interface ara::crypto::cryp::CryptoProvider serves to create a public context for a Key Encapsulation Mechanism (KEM) [SWS_CRYPT_20752]. For this purpose, the header file #include "ara/crypto/cryp/crypto_provider.h" must be included [SWS_CRYPT_20752]. The call takes place synchronously: algId is passed as an input parameter, which specifies the target crypto algorithm of the KEM. Upon successful execution, the method returns a smart pointer to the created context (KeyEncapsulatorPublicCtx::Sptr), encapsulated in a ara::core::Result [SWS_CRYPT_20752].

Error handling

If an error occurs during creation, rollback semantics take effect and the ara::core::Result contains a specific error code from ara::crypto::CryptoErrc [SWS_CRYPT_20752]:

  • ara::crypto::CryptoErrc::kInvalidArgument: Returned if the argument algId designates a cryptographic algorithm that is not an asymmetric KEM [SWS_CRYPT_20752].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported if the argument algId has an unsupported value [SWS_CRYPT_20752].

Concurrency and Safety

The interface function is declared with noexcept and classified as exception safe (exception safe) as well as thread-safe (thread-safe) [SWS_CRYPT_20752]. It can therefore be called safely from concurrent contexts without external synchronization [SWS_CRYPT_20752].

This usage note is based on the AUTOSAR Adaptive R25-11 specification.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target KEM crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< KeyEncapsulatorPublicCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from asymmetric KEM
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20752
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20752@rel:R25-11#eb964256
Content hash
eb964256
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20752
Status: valid/unmigrated Version: rel:R25-11#80eb6ba8 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_20752@rel:R25-11#80eb6ba8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#eb9642562026-09-30
  • R19-11rel:R19-11#c59c43e42026-10-14
  • R20-11rel:R20-11#4d2fccee2026-10-14
  • R21-11rel:R21-11#aecc69b32026-10-14
  • R22-11rel:R22-11#9fd887092026-10-14
  • R23-11rel:R23-11#2013b4922026-10-14
  • R24-11rel:R24-11#048a75932026-10-14
  • R25-11rel:R25-11#80eb6ba82026-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

function CreateMessageAuthnCodeCtx [SWS_CRYPT_20746] Upstream: RS_CRYPTO_02203, RS_AP_00144

virtual ara::core::Result< MessageAuthnCodeCtx::Sptr > CreateMessage AuthnCodeCtx (AlgId algId) noexcept=0;

Create a symmetric message authentication code context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 9f61171ea583 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method CreateMessageAuthnCodeCtx of interface ara::crypto::cryp::CryptoProvider requires the header file ara/crypto/cryp/crypto_provider.h and serves to synchronously create a context for symmetric message authentication codes [SWS_CRYPT_20746]. As input value, the function accepts parameter algId of type AlgId, which specifies the target crypto algorithm [SWS_CRYPT_20746]. Upon successful execution, the method returns a ara::core::Result<MessageAuthnCodeCtx::Sptr>, which encapsulates a smart pointer to the newly instantiated context instance [SWS_CRYPT_20746].

Error handling

In the event of an error, the returned Result object provides specific error codes with rollback semantics [SWS_CRYPT_20746]:

  • ara::crypto::CryptoErrc::kInvalidArgument: The argument algId specifies a cryptographic algorithm that is not a symmetric message authentication code [SWS_CRYPT_20746].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: An unknown or unsupported identifier was passed for argument algId [SWS_CRYPT_20746].

Concurrency and Execution Safety

The interface is provided with the specifier noexcept and guarantees complete exception safety (exception safe) [SWS_CRYPT_20746]. Furthermore, the function is explicitly specified as thread-safe (thread-safe), so that calls can take place in parallel and without external synchronization from concurrent threads [SWS_CRYPT_20746].

This usage note was generated automatically based on the specification.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<MessageAuthnCodeCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from symmetric message authentication code
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20746
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20746@rel:R25-11#37f876a3
Content hash
37f876a3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20746
Status: valid/unmigrated Version: rel:R25-11#957c6291 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_20746@rel:R25-11#957c6291
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#37f876a32026-09-30
  • R19-11rel:R19-11#e9adf02f2026-10-14
  • R20-11rel:R20-11#d6c0c1ec2026-10-14
  • R21-11rel:R21-11#3670d4772026-10-14
  • R22-11rel:R22-11#178c72202026-10-14
  • R23-11rel:R23-11#2108bb852026-10-14
  • R24-11rel:R24-11#7cfcb5e32026-10-14
  • R25-11rel:R25-11#957c62912026-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

function CreateProtectedKeyImportCtx [SWS_CRYPT_50017] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< ProtectedKeyImportCtx::Sptr > Create ProtectedKeyImportCtx (AlgId algId) noexcept=0;

The interface shall create a protected key import context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: cc2e3e31c614 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The interface CreateProtectedKeyImportCtx of class ara::crypto::cryp::CryptoProvider (defined in ara/crypto/cryp/crypto_provider.h) serves for the synchronous creation of a context for protected key import ([SWS_CRYPT_50017]). The identifier of the desired wrapping algorithm is passed via the input parameter algId ([SWS_CRYPT_50017]). Upon successful instantiation, the method returns a ara::core::Result that provides a smart pointer ProtectedKeyImportCtx::Sptr to the created context ([SWS_CRYPT_50017]).

Error handling

If creation fails, the method returns an error code with rollback semantics in ara::core::Result ([SWS_CRYPT_50017]):

  • ara::crypto::CryptoErrc::kInvalidArgument: Occurs if the cryptographic algorithm specified by algId is not supported for wrapping by the CryptoProvider ([SWS_CRYPT_50017]).
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported if the argument algId contains an unknown or unsupported identifier value ([SWS_CRYPT_50017]).

Concurrency and Limitations

The pure virtual method is declared as noexcept, provides exception safety, and is explicitly specified as thread-safe ([SWS_CRYPT_50017]). It can thus be called in parallel from multiple threads without external synchronization ([SWS_CRYPT_50017]).

This usage note was generated automatically based on the specification of AUTOSAR Adaptive R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the wrapping algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<ProtectedKeyImportCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm that is not supported by this CryptoProvider for wrapping
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50017
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50017@rel:R25-11#59ce7c71
Content hash
59ce7c71
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50017
Status: valid/unmigrated Version: rel:R25-11#59ce7c71 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_50017@rel:R25-11#59ce7c71
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

function CreateRandomGeneratorCtx [SWS_CRYPT_20741] Upstream: RS_CRYPTO_02206

virtual ara::core::Result< RandomGeneratorCtx::Sptr > CreateRandom GeneratorCtx (AlgId algId) noexcept=0;

Create a Random Number Generator (RNG) context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 64bbceaa10df Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method CreateRandomGeneratorCtx serves to create a context for random number generators (RNG) within the class ara::crypto::cryp::CryptoProvider [SWS_CRYPT_20741].

Usage and Call Context

The function is called synchronously and requires header file ara/crypto/cryp/crypto_provider.h [SWS_CRYPT_20741]:

  • Parameters: algId of type AlgId is passed, which identifies the desired RNG algorithm. If no specific algId is specified, the method returns the default RNG [SWS_CRYPT_20741].
  • Return value: A ara::core::Result<RandomGeneratorCtx::Sptr> that, in the event of success, contains a shared pointer to the created instance of RandomGeneratorCtx [SWS_CRYPT_20741].

Error handling

The method throws no exceptions (noexcept) and is specified as exception-safe [SWS_CRYPT_20741]. If the operation fails, the ara::core::Result returns an error code:

  • ara::crypto::CryptoErrc::kUnknownIdentifier: Occurs if the argument algId has an unsupported value (with rollback semantics) [SWS_CRYPT_20741].

Concurrency and Limitations

The method is classified as thread-safe (thread-safe), so that parallel calls via the same instance of the CryptoProvider are permissible [SWS_CRYPT_20741].

This usage note was created automatically and is based exclusively on the specification data of AUTOSAR Adaptive R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of target RNG algorithm. If no algId is given, the default RNG is returned

Rückgabewert

TypBeschreibung
ara::core::Result<RandomGeneratorCtx::Sptr >result containing a shared pointer to the context or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20741
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20741@rel:R25-11#a3510ae9
Content hash
a3510ae9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20741
Status: valid/unmigrated Version: rel:R25-11#d4f2c255 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_20741@rel:R25-11#d4f2c255
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a3510ae92026-09-30
  • R19-11rel:R19-11#60ee10c72026-10-14
  • R20-11rel:R20-11#0569ff502026-10-14
  • R21-11rel:R21-11#32b16cb02026-10-14
  • R22-11rel:R22-11#c44c5e5c2026-10-14
  • R23-11rel:R23-11#e3fa37f52026-10-14
  • R24-11rel:R24-11#5e17e1572026-10-14
  • R25-11rel:R25-11#d4f2c2552026-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

function CreateSignerPrivateCtx [SWS_CRYPT_20756] Upstream: RS_CRYPTO_02204, RS_AP_00144

virtual ara::core::Result< SignerPrivateCtx::Sptr > CreateSigner PrivateCtx (AlgId algId) noexcept=0;

Create a signature private key context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b425000c991d Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method CreateSignerPrivateCtx of class ara::crypto::cryp::CryptoProvider serves to create a context for signature operations with a private key ([SWS_CRYPT_20756]).

Usage and parameters: The call requires inclusion of the header file ara/crypto/cryp/crypto_provider.h. The cryptographic target signature algorithm is specified via the input parameter algId. In the event of success, the function returns a smart pointer to the created context instance ([SWS_CRYPT_20756]) via return type ara::core::Result<SignerPrivateCtx::Sptr>. Interpretation: Since the method directly returns a ara::core::Result, the call is likely executed synchronously. Question Q-8480f3cf5cef5f49 (open)

Concurrency and safety: The method is specified as thread-safe (thread-safe) as well as exception-safe (exception safe) and declared with noexcept ([SWS_CRYPT_20756]). It can therefore be called from concurrent contexts without additional synchronization.

Error handling: In the event of an error, the result delivers an error code of type ara::crypto::CryptoErrc with rollback semantics ([SWS_CRYPT_20756]):

  • ara::crypto::CryptoErrc::kInvalidArgument: Occurs if the argument algId specifies a cryptographic algorithm that differs from a private key signature ([SWS_CRYPT_20756]).
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Occurs if algId contains an unknown or unsupported value ([SWS_CRYPT_20756]).

This text was generated by an AI and serves as guidance. The AUTOSAR specification is authoritative.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target signature crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result< SignerPrivateCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from private key signature
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20756
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20756@rel:R25-11#cd447175
Content hash
cd447175
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20756
Status: valid/unmigrated Version: rel:R25-11#cc9f565a 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_20756@rel:R25-11#cc9f565a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#cd4471752026-09-30
  • R19-11rel:R19-11#1edbf4c72026-10-14
  • R20-11rel:R20-11#a2cfe2c82026-10-14
  • R21-11rel:R21-11#54e185f52026-10-14
  • R22-11rel:R22-11#2a8de2322026-10-14
  • R23-11rel:R23-11#83e55d092026-10-14
  • R24-11rel:R24-11#0df4e6d12026-10-14
  • R25-11rel:R25-11#cc9f565a2026-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

function CreateSymmetricCipherCtx [SWS_CRYPT_20742] Upstream: RS_CRYPTO_02201

virtual ara::core::Result< SymmetricCipherCtx::Sptr > CreateSymmetric CipherCtx (AlgId algId) noexcept=0;

Create a symmetric cipher context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: e2de1e3ea197 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The virtual method CreateSymmetricCipherCtx of interface ara::crypto::cryp::CryptoProvider serves to create a context for symmetric cipher operations ([SWS_CRYPT_20742]). It is included via the header file #include "ara/crypto/cryp/crypto_provider.h" ([SWS_CRYPT_20742]).

As an input parameter, the function expects algId of type AlgId, which specifies the identifier of the desired target cryptographic algorithm ([SWS_CRYPT_20742]). The call takes place synchronously and returns a ara::core::Result<SymmetricCipherCtx::Sptr> as result, which provides a smart pointer to the newly instantiated context instance in the event of success ([SWS_CRYPT_20742]).

Error handling

If the creation fails, the returned ara::core::Result contains a corresponding error code ([SWS_CRYPT_20742]):

  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported with rollback semantics if the passed value for algId references an unsupported algorithm ([SWS_CRYPT_20742]).

Concurrency and Limitations

The function is declared as noexcept and explicitly specified as exception safe (exception safe) ([SWS_CRYPT_20742]). In addition, the call is thread-safe (thread-safe), so that parallel context creations via the same CryptoProvider instance are permissible ([SWS_CRYPT_20742]).

This usage note was created automatically. All statements are based exclusively on AUTOSAR specification status R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricCipherCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if AlgId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20742
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20742@rel:R25-11#72dd1757
Content hash
72dd1757
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20742
Status: valid/unmigrated Version: rel:R25-11#c3456bc2 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_20742@rel:R25-11#c3456bc2
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#72dd17572026-09-30
  • R19-11rel:R19-11#abecadca2026-10-14
  • R20-11rel:R20-11#c7ef4de02026-10-14
  • R21-11rel:R21-11#7efa8e4d2026-10-14
  • R22-11rel:R22-11#a4f2f60c2026-10-14
  • R23-11rel:R23-11#8bfbe22a2026-10-14
  • R24-11rel:R24-11#bac03a522026-10-14
  • R25-11rel:R25-11#c3456bc22026-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

function CreateSymmetricKeyWrapperCtx [SWS_CRYPT_20743] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02208

virtual ara::core::Result< SymmetricKeyWrapperCtx::Sptr > Create SymmetricKeyWrapperCtx (AlgId algId) noexcept=0;

Create a symmetric key-wrap algorithm context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 81927eb57ee6 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method CreateSymmetricKeyWrapperCtx of class ara::crypto::cryp::CryptoProvider serves to create a context for symmetric key wrap algorithms ([SWS_CRYPT_20743]). As an input parameter, algId is passed, which uniquely identifies the target cryptographic algorithm ([SWS_CRYPT_20743]). The call is synchronous and, in case of success, returns a ara::core::Result that encapsulates a smart pointer to the created context (SymmetricKeyWrapperCtx::Sptr) ([SWS_CRYPT_20743]).

Error handling

If creation fails, the function returns the error object within the ara::core::Result ([SWS_CRYPT_20743]):

  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported if the argument algId has an unsupported value; rollback semantics apply ([SWS_CRYPT_20743]).

Concurrency and Limitations

The interface is declared as noexcept, is considered exception safe, and is thread-safe ([SWS_CRYPT_20743]). It can therefore be called safely from concurrent contexts, provided that the provided algId is supported by the underlying CryptoProvider ([SWS_CRYPT_20743]).

This usage note was generated automatically and is based exclusively on the specification data from AUTOSAR R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKeyWrapperCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20743
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20743@rel:R25-11#7e4d7cb1
Content hash
7e4d7cb1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20743
Status: valid/unmigrated Version: rel:R25-11#f6ffee2c 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_20743@rel:R25-11#f6ffee2c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7e4d7cb12026-09-30
  • R19-11rel:R19-11#88c705562026-10-14
  • R20-11rel:R20-11#59ed5d162026-10-14
  • R21-11rel:R21-11#4c2a43392026-10-14
  • R22-11rel:R22-11#178879012026-10-14
  • R23-11rel:R23-11#2ae2b3f42026-10-14
  • R24-11rel:R24-11#2c2d21382026-10-14
  • R25-11rel:R25-11#f6ffee2c2026-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

function CreateVerifierPublicCtx [SWS_CRYPT_20757] Upstream: RS_CRYPTO_02204, RS_AP_00144

virtual ara::core::Result< VerifierPublicCtx::Sptr > CreateVerifier PublicCtx (AlgId algId) noexcept=0;

Create a signature verification public key context.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 6459db29afbf Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Call Context

The pure virtual method CreateVerifierPublicCtx of class ara::crypto::cryp::CryptoProvider is declared via the header file ara/crypto/cryp/crypto_provider.h [SWS_CRYPT_20757]. It serves to synchronously create a context for signature verification with public keys (public-key signature verification) [SWS_CRYPT_20757].

The caller passes the identifier of the desired crypto signature algorithm via the parameter algId (type AlgId) [SWS_CRYPT_20757]. In the event of success, the function returns a ara::core::Result that contains a smart pointer to the created verification context (VerifierPublicCtx::Sptr) [SWS_CRYPT_20757].

Error handling

In the event of an error, rollback semantics apply, and the resulting ara::core::Result transports a corresponding error code [SWS_CRYPT_20757]:

  • ara::crypto::CryptoErrc::kInvalidArgument: Reported if the argument algId designates a cryptographic algorithm that is not intended for signature verification with public keys [SWS_CRYPT_20757].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported if an unknown or unsupported identifier was passed for algId [SWS_CRYPT_20757].

Concurrency and Limitations

The method is declared as noexcept, completely exception safe (exception safe), and explicitly specified as thread-safe (thread-safe) [SWS_CRYPT_20757]. Parallel calls from multiple execution contexts are therefore permissible without external synchronization.

This usage note is based on the specification of the AUTOSAR Adaptive release R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdidentifier of the target signature crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<VerifierPublicCtx::Sptr >Smart pointer to the created context

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if algId argument specifies a crypto algorithm different from public key signature verification
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId argument has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20757
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20757@rel:R25-11#8a5c4900
Content hash
8a5c4900
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20757
Status: valid/unmigrated Version: rel:R25-11#f204fd55 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_20757@rel:R25-11#f204fd55
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a5c49002026-09-30
  • R19-11rel:R19-11#37697b0f2026-10-14
  • R20-11rel:R20-11#73044a492026-10-14
  • R21-11rel:R21-11#0115fe5b2026-10-14
  • R22-11rel:R22-11#9dc931fa2026-10-14
  • R23-11rel:R23-11#a976f9ff2026-10-14
  • R24-11rel:R24-11#57fb002d2026-10-14
  • R25-11rel:R25-11#f204fd552026-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

function CryptoProvider [SWS_CRYPT_41005] Upstream: RS_CRYPTO_02004

CryptoProvider (const CryptoProvider &)=delete;

Copy-Constructor.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41005
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41005@rel:R25-11#baa0ea72
Content hash
baa0ea72
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41005
Status: valid/unmigrated Version: rel:R25-11#16a35c30 Versionshistorie & Revisions (1 transition, 4 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_41005@rel:R25-11#16a35c30
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#baa0ea722026-09-30
  • R23-11rel:R23-11#aba1f1f92026-10-14
  • R24-11rel:R24-11#16a35c302026-10-14
  • R25-11rel:R25-11#16a35c302026-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

function CryptoProvider [SWS_CRYPT_41006] Upstream: RS_CRYPTO_02004

CryptoProvider (CryptoProvider &&)=delete;

Move-Constructor.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41006
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41006@rel:R25-11#b43174f5
Content hash
b43174f5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41006
Status: valid/unmigrated Version: rel:R25-11#9567ac75 Versionshistorie & Revisions (1 transition, 4 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_41006@rel:R25-11#9567ac75
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b43174f52026-09-30
  • R23-11rel:R23-11#8f1246d92026-10-14
  • R24-11rel:R24-11#9567ac752026-10-14
  • R25-11rel:R25-11#9567ac752026-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

function ExportSecuredKey [SWS_CRYPT_20728] Upstream: RS_CRYPTO_02105, RS_CRYPTO_02112

virtual ara::core::Result< std::size_t > ExportSecuredKey (AlgId alg Id, CryptoObject::Sptr key, ReadWriteMemRegion resultBuffer, ara::core::Optional< SymmetricKey::Sptr > kek) noexcept=0;

The interface shall format the data referenced by the specified key, securely wrap this payload and serialize the secured payload into the provided output buffer. The format shall be specified implicitly by the AlgId. The formatted payload shall be wrapped according to the specified algId using the kek; if kek is not provided, ExportSecuredKey shall apply a key-encryption-key implictly defined by the algId or the default key-encryption-key of the CryptoProvider.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7d1aacdfd90a Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method ExportSecuredKey of interface ara::crypto::cryp::CryptoProvider exports a cryptographic key object into a secured, serialized format [SWS_CRYPT_20728]. The passed key object key is prepared according to the format implicitly defined by algId, cryptographically wrapped, and serialized into the output buffer resultBuffer [SWS_CRYPT_20728]. A key encryption key (kek) can optionally be passed for the wrapping; if no kek is provided, the method falls back to a KEK implicitly determined by algId or to the standard KEK of the CryptoProvider [SWS_CRYPT_20728].

The function is classified as thread-safe and exception safe and annotated with noexcept [SWS_CRYPT_20728]. Interpretation: Since the signature directly returns a ara::core::Result without asynchronous return types such as futures, the entire wrapping and serialization process is likely executed synchronously in the caller context. Question Q-3fb89afcc9300695 (open)

Upon successful completion, the returned ara::core::Result<std::size_t> provides the number of bytes written to resultBuffer [SWS_CRYPT_20728]. If the operation fails, rollback semantics take effect and one of the following errors is reported [SWS_CRYPT_20728]:

  • UnknownIdentifier: The passed algId value is not supported [SWS_CRYPT_20728].
  • ara::crypto::CryptoErrc::kInvalidArgument: The key object cannot be wrapped (e.g., invalid size or unsuitable type) or a mandatory expected kek was not passed [SWS_CRYPT_20728].
  • ara::crypto::CryptoErrc::kUsageViolation: The permissible usage of key or kek is incompatible with the selected algorithm [SWS_CRYPT_20728].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: The passed kek is incompatible with the export algorithm [SWS_CRYPT_20728].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: The output buffer resultBuffer is too small for the result [SWS_CRYPT_20728].
  • ara::crypto::CryptoErrc::kBusyResource: A resource required for the export is busy [SWS_CRYPT_20728].

This text was created by an AI and is based on AUTOSAR specification status R25-11.

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

Parameter (in)

ParameterBeschreibung
algIdthe algId of the secure key export algorithm
keythe key to be exported
resultBufferan output buffer the securely exported key is written to
kekan optional key-encryption-key to be be used for wrapping the secured payload. Only used if the used algorithm does not determine the used key (e.g., based on configuration).

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the result written into resultBuffer or an error

Fehler

FehlercodeBeschreibung
UnknownIdentifierif algId has an unsupported value
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the key object cannot be wrapped (e.g., invalid size or type) or if a kek is expected but not provided.
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of key or kek is incompatible to the used algorithm
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::kIncompatibleArgumentsrollback_semantics if the kek is incompatible to the used algorithm

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20728
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20728@rel:R25-11#057427ea
Content hash
057427ea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20728
Status: valid/unmigrated Version: rel:R25-11#9dfe16b6 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_20728@rel:R25-11#9dfe16b6
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#057427ea2026-09-30
  • R19-11rel:R19-11#cd9b1a7b2026-10-14
  • R20-11rel:R20-11#51350c8b2026-10-14
  • R21-11rel:R21-11#5ee1380e2026-10-14
  • R22-11rel:R22-11#72d859b12026-10-14
  • R23-11rel:R23-11#c0a14fe12026-10-14
  • R24-11rel:R24-11#661196972026-10-14
  • R25-11rel:R25-11#9dfe16b62026-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

function GeneratePrivateKey [SWS_CRYPT_20722] Upstream: RS_CRYPTO_02003, RS_CRYPTO_02101, RS_CRYPTO_02102, RS_ CRYPTO_02107, RS_CRYPTO_02108, RS_CRYPTO_02111, RS_CRYPTO_02115

virtual ara::core::Result< PrivateKey::Sptr > GeneratePrivateKey (Alg Id algId, AllowedUsageFlags privateKeyAllowedUsage) noexcept=0;

Generate a new public/private key pair and return the private key. The public key can be retrieved via the function PrivateKey::GetPublicKey() The allowed usage flags of the Public Key are set based on the allowed usage of the PrivateKey: • kAllowDataDecryption --> kAllowDataEncryption • kAllowSigGeneration --> kAllowSigVerification • kAllowKeyAgreement --> kAllowKeyAgreement • kAllowKeyUnwrapping --> kAllowKeyWrapping Additionally, the allowed usage: • kAllowPlaintextExport • kAllowPersist are set for the public key.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c90dae237830 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method GeneratePrivateKey of class ara::crypto::cryp::CryptoProvider (declared in ara/crypto/cryp/crypto_provider.h) synchronously generates a new asymmetric key pair and returns the created private key as PrivateKey::Sptr within a ara::core::Result [SWS_CRYPT_20722]. The associated public key is not returned directly, but can be retrieved subsequently via the method PrivateKey::GetPublicKey() of the resulting key [SWS_CRYPT_20722].

Upon invocation, the parameter algId specifies the cryptographic algorithm, while privateKeyAllowedUsage defines the permissible transformation types for the private key [SWS_CRYPT_20722]. The permissible usage flags of the public key are mapped based on the permissions of the private key as follows [SWS_CRYPT_20722]:

  • kAllowDataDecryption results in kAllowDataEncryption
  • kAllowSigGeneration results in kAllowSigVerification
  • kAllowKeyAgreement results in kAllowKeyAgreement
  • kAllowKeyUnwrapping results in kAllowKeyWrapping

In addition, the usage flags kAllowPlaintextExport and kAllowPersist are automatically assigned to the public key [SWS_CRYPT_20722].

Regarding concurrency and execution, the function is specified as thread-safe and exception-safe [SWS_CRYPT_20722]. If an error occurs during key generation, the result is handled with rollback semantics [SWS_CRYPT_20722]. The following error codes can be returned:

  • ara::crypto::CryptoErrc::kUnknownIdentifier, if an unsupported algorithm is passed for algId,
  • ara::crypto::CryptoErrc::kIncompatibleArguments, if the specified privateKeyAllowedUsage flags are incompatible with the selected algorithm or key type,
  • ara::crypto::CryptoErrc::kBusyResource, if generation is temporarily not possible due to temporarily occupied resources [SWS_CRYPT_20722].

This usage note was automatically generated based on the AUTOSAR Adaptive R25-11 specification.

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

Parameter (in)

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

Rückgabewert

TypBeschreibung
ara::core::Result<PrivateKey::Sptr >result containing a shared pointer to the created private key or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId has an unsupported value
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the algId or the key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20722
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20722@rel:R25-11#e76fe789
Content hash
e76fe789
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20722
Status: valid/unmigrated Version: rel:R25-11#92625666 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_20722@rel:R25-11#92625666
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e76fe7892026-09-30
  • R19-11rel:R19-11#7f33da122026-10-14
  • R20-11rel:R20-11#e6ff089b2026-10-14
  • R21-11rel:R21-11#0cd706bd2026-10-14
  • R22-11rel:R22-11#33a2c8282026-10-14
  • R23-11rel:R23-11#2b3d45172026-10-14
  • R24-11rel:R24-11#b10084042026-10-14
  • R25-11rel:R25-11#926256662026-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

function GenerateRandomData [SWS_CRYPT_30098] Upstream: RS_CRYPTO_02206

virtual ara::core::Result< void > GenerateRandomData (ReadWriteMem Region randomData) noexcept=0;

Fill the provided output data buffer randomData with random data.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 405a308cad1e Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual method GenerateRandomData of interface ara::crypto::cryp::CryptoProvider serves to fill a memory region provided by the caller with cryptographic random data [SWS_CRYPT_30098]. The declaration is located in the header file ara/crypto/cryp/crypto_provider.h.

As output parameter, randomData of type ReadWriteMem Region is passed, which represents the buffer to be filled and whose size determines the number of generated random bytes [SWS_CRYPT_30098]. Interpretation: Since the function uses ara::core::Result<void> directly as return type rather than a future object, the generation of the data is likely to be synchronous and blocking [SWS_CRYPT_30098]. Question Q-315c0492dcf7f37d (open) The return value is empty on success or contains a corresponding error code in case of an error [SWS_CRYPT_30098].

If a problem occurs during execution, rollback semantics are applied so that no partial or invalid states remain [SWS_CRYPT_30098]. The following error states are specified:

  • ara::crypto::CryptoErrc::kBusyResource: The underlying random number generator (RNG) currently has insufficient entropy and cannot provide the requested amount of random bytes [SWS_CRYPT_30098].
  • ara::crypto::CryptoErrc::kUnsupported: The concrete implementation of CryptoProvider does not support a default random number generator [SWS_CRYPT_30098].

Regarding concurrency and robustness, the method is specified as thread-safe and exception safe [SWS_CRYPT_30098]. Multiple threads can thus call the function in parallel, and the noexcept specification guarantees that no C++ exceptions are thrown across the interface boundary.

This usage note was generated automatically based on the AUTOSAR specification.

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

Parameter (out)

ParameterBeschreibung
randomDataoutput data buffer to be filled with random data

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the used RNG is currently out-of-entropy and therefore cannot provide the requested number of random bytes
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if no default RNG is supported by the CryptoProvider

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

Record
AUTOSAR/AP/record/SWS_CRYPT_30098
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30098@rel:R25-11#79a02544
Content hash
79a02544
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30098
Status: valid/unmigrated Version: rel:R25-11#480ab415 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_30098@rel:R25-11#480ab415
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#79a025442026-09-30
  • R20-11rel:R20-11#c9d663072026-10-14
  • R21-11rel:R21-11#1481f16f2026-10-14
  • R22-11rel:R22-11#321f73ae2026-10-14
  • R23-11rel:R23-11#f518793a2026-10-14
  • R24-11rel:R24-11#c16096352026-10-14
  • R25-11rel:R25-11#480ab4152026-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

function GenerateSymmetricKey [SWS_CRYPT_20721] Upstream: RS_CRYPTO_02003, RS_CRYPTO_02101, RS_CRYPTO_02102, RS_ CRYPTO_02107, RS_CRYPTO_02108, RS_CRYPTO_02111, RS_CRYPTO_02115

virtual ara::core::Result< SymmetricKey::Sptr > GenerateSymmetricKey (AlgId algId, AllowedUsageFlags allowedUsage) noexcept=0;

Generate a new symmetric key.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 202931831493 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method GenerateSymmetricKey is provided via interface ara::crypto::cryp::CryptoProvider (header file #include "ara/crypto/cryp/crypto_provider.h") and serves to generate a new symmetric key [SWS_CRYPT_20721]. The synchronous call expects as parameter algId the identifier of the target symmetric cryptographic algorithm and as allowedUsage bit flags that define the permitted transformation types for the generated key [SWS_CRYPT_20721]. Upon successful execution, the method delivers a ara::core::Result containing a SymmetricKey::Sptr, that is, a shared pointer to the newly generated symmetric key object [SWS_CRYPT_20721].

Error handling

If an error occurs during key generation, it is transmitted in ara::core::Result. Rollback semantics apply to all specified error cases [SWS_CRYPT_20721]:

  • ara::crypto::CryptoErrc::kUnknownIdentifier: Reported if an unsupported value was passed for algId [SWS_CRYPT_20721].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: Occurs if the specified allowedUsage flags are incompatible with the selected algId algorithm or key type [SWS_CRYPT_20721].
  • ara::crypto::CryptoErrc::kBusyResource: Indicates that the operation temporarily cannot be performed due to temporarily busy resources [SWS_CRYPT_20721].

Concurrency and Limitations

The operation is declared as noexcept and possesses the properties of being exception safe and thread-safe [SWS_CRYPT_20721]. It can therefore be called concurrently from multiple threads, whereby error kBusyResource can occur under high system load to signal temporary bottlenecks [SWS_CRYPT_20721].

This usage note was generated automatically based on the specification.

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

Parameter (in)

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

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >result containing a shared pointer to the created symmetric key object or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId has an unsupported value
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the algId or the key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20721
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20721@rel:R25-11#635fbe3a
Content hash
635fbe3a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20721
Status: valid/unmigrated Version: rel:R25-11#921910dd 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_20721@rel:R25-11#921910dd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#635fbe3a2026-09-30
  • R19-11rel:R19-11#ceb7dd0e2026-10-14
  • R20-11rel:R20-11#06044bd12026-10-14
  • R21-11rel:R21-11#b4656e752026-10-14
  • R22-11rel:R22-11#a3fb37fc2026-10-14
  • R23-11rel:R23-11#9d93b9e42026-10-14
  • R24-11rel:R24-11#7d27c8e42026-10-14
  • R25-11rel:R25-11#921910dd2026-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

function GetDefaultAllowedUsage [SWS_CRYPT_20955] Upstream: RS_CRYPTO_02003

virtual ara::core::Result< AllowedUsageFlags > GetDefaultAllowedUsage (AlgId algId) noexcept=0;

Get a CryptoProvider specific default set of allowedUsages for the provided AlgId. The returned allowedUsages shall not contain kAllowPlaintextExport, kAllowPersist and kAllowSecuredExport.

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

Parameter (in)

ParameterBeschreibung
algIdthe identifier of the target crypto algorithm

Rückgabewert

TypBeschreibung
ara::core::Result<AllowedUsageFlags >result containing a CryptoProvider specific default set of allowed Usages or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId has an unsupported value

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20955
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20955@rel:R25-11#7ae6f7f9
Content hash
7ae6f7f9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20955
Status: valid/unmigrated Version: rel:R25-11#7ae6f7f9 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_20955@rel:R25-11#7ae6f7f9
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

function GetProviderID [SWS_CRYPT_50015] Upstream: RS_CRYPTO_02305

virtual ara::core::Result< void > GetProviderID (ara::core::Optional< ReadOnlyMemRegion > in, ReadWriteMemRegion idData) noexcept=0;

Obtain provider specific identification data.

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

Parameter (in)

ParameterBeschreibung
inOptional input data required by some identification protocols (e.g. SHE/CMD_GET_ID)

Parameter (out)

ParameterBeschreibung
idDatathe identification data of the provider

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this provider does not support identification
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the provided ReadWriteMemRegion parameter idData is insufficient in size to hold the identification data

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50015
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50015@rel:R25-11#a844d77c
Content hash
a844d77c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50015
Status: valid/unmigrated Version: rel:R25-11#a844d77c 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_50015@rel:R25-11#a844d77c
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

function GetProviderIdSize [SWS_CRYPT_50016] Upstream: RS_CRYPTO_02305

virtual ara::core::Result< std::size_t > GetProviderIdSize () noexcept=0;

Get the required size of the output buffer for ID data used by GetProviderID.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required size of ID data in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if this provider does not support identification

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50016@rel:R25-11#7cd73107
Content hash
7cd73107
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50016
Status: valid/unmigrated Version: rel:R25-11#7cd73107 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_50016@rel:R25-11#7cd73107
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

function GetSecureCounter [SWS_CRYPT_20098] Upstream: RS_CRYPTO_02401

ara::core::Result< SecureCounter > GetSecureCounter () noexcept;

Get the current value of the secure counter of this CryptoProvider. The current counter value is guaranteed to be stricly larger than any previously returned counter value.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: cd7a957c648f Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method GetSecureCounter() of class ara::crypto::cryp::CryptoProvider (declared in #include "ara/crypto/cryp/crypto_provider.h") queries the current counter value of the provider instance's secure counter [SWS_CRYPT_20098]. The function operates synchronously and requires no input parameters [SWS_CRYPT_20098]. In the event of success, it returns the structure SecureCounter via ara::core::Result<SecureCounter>, which consists of two unsigned 64-bit values (LSQW for Least Significant Quad Word and MSQW for Most Significant Quad Word) [SWS_CRYPT_20098]. It is guaranteed that each returned counter value is strictly greater than all values previously delivered via this instance [SWS_CRYPT_20098].

If the counter value cannot be determined, the call fails and returns an error code with rollback semantics in the Result object [SWS_CRYPT_20098]:

  • ara::crypto::CryptoErrc::kUnsupported: The specific CryptoProvider does not support a secure counter [SWS_CRYPT_20098].
  • ara::crypto::CryptoErrc::kBusyResource: A resource required for accessing or updating the counter is currently busy [SWS_CRYPT_20098].

Regarding concurrency and robustness, the function is specified as thread-safe and declared as exception safe with noexcept [SWS_CRYPT_20098]. Parallel calls from multiple threads are therefore permissible without external synchronization, while the strict monotonicity of the delivered counter values remains guaranteed [SWS_CRYPT_20098].

This text was generated by an AI and serves as guidance. Only the official specification is binding.

Implementer's Guide to follow (complexity I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result<SecureCounter >a result containing a SecureCounter struct made up of the two unsigned 64 bit values (LSQW and MSQW), or an error:

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the Secure Counter is not supported by the CryptoProvider
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20098
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20098@rel:R25-11#62146ddd
Content hash
62146ddd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20098
Status: valid/unmigrated Version: rel:R25-11#0c57734d 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_20098@rel:R25-11#0c57734d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#62146ddd2026-09-30
  • R20-11rel:R20-11#31b7c30b2026-10-14
  • R21-11rel:R21-11#450747932026-10-14
  • R22-11rel:R22-11#1e50ce5f2026-10-14
  • R23-11rel:R23-11#76f9cfec2026-10-14
  • R24-11rel:R24-11#267205092026-10-14
  • R25-11rel:R25-11#0c57734d2026-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

function ImportPrivateKey [SWS_CRYPT_50132] Upstream: RS_CRYPTO_02105, RS_CRYPTO_02112

virtual ara::core::Result< PrivateKey::Sptr > ImportPrivateKey (Read OnlyMemRegion serialized, AllowedUsageFlags allowedUsage, FormatId formatId, ara::core::Optional< AlgId > algId) noexcept=0;

Import a serialized private key.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 56f03864743d Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method ImportPrivateKey of class ara::crypto::cryp::CryptoProvider serves to synchronously import a serialized private key [SWS_CRYPT_50132]. Upon calling, the payload data is passed via the memory region serialized (ReadOnlyMemRegion), supplemented by the desired usage restrictions (allowedUsage) and the serialization format (formatId). The parameter algId is optional (ara::core::Optional<AlgId>) and only needs to be set if the selected format does not already uniquely define the required key properties itself [SWS_CRYPT_50132]. As return value, the function provides a ara::core::Result<PrivateKey::Sptr>, which contains a shared pointer to the created key object in case of success.

Error handling

In case of error, the method ensures that rollback semantics take effect [SWS_CRYPT_50132]. The following error codes can be returned via the Result:

  • InvalidArgument: The serialized data in serialized does not conform to the specified format [SWS_CRYPT_50132].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: The passed allowedUsage are incompatible with the algId [SWS_CRYPT_50132].
  • ara::crypto::CryptoErrc::kUnsupported: The function is not supported by the concrete provider [SWS_CRYPT_50132].
  • ara::crypto::CryptoErrc::kBusyResource: The operation cannot be executed temporarily due to busy resources [SWS_CRYPT_50132].
  • ara::crypto::CryptoErrc::kUnsupportedFormat: The formatId is not supported for this object type [SWS_CRYPT_50132].

Concurrency and Limitations

The interface is declared as noexcept and provides exception safety (exception safe) as well as thread safety (thread-safe) [SWS_CRYPT_50132]. Calls can thus be made concurrently from different threads.

This text was generated by an AI system based on the AUTOSAR specification.

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

Parameter (in)

ParameterBeschreibung
serializedthe memory region that contains the serialized key
allowedUsagethe allowedUsage of the key
formatIdthe serialization format
algIdan optional alg ID of the key. Not required if the serialization format already identifies the required properties of the key.

Rückgabewert

TypBeschreibung
ara::core::Result<PrivateKey::Sptr >result containing a shared pointer to the created key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif serialized does not conform to the specified format
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the algId
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the CryptoProvider does not support the requested function
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed
ara::crypto::CryptoErrc::kUnsupportedFormatrollback_semantics if the specified format ID is not supported for this object type

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50132
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50132@rel:R25-11#014ff708
Content hash
014ff708
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50132
Status: valid/unmigrated Version: rel:R25-11#014ff708 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_50132@rel:R25-11#014ff708
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

function ImportPublicKey [SWS_CRYPT_20732] Upstream: RS_CRYPTO_02105, RS_CRYPTO_02112

virtual ara::core::Result< PublicKey::Sptr > ImportPublicKey (ReadOnly MemRegion serialized, AllowedUsageFlags allowedUsage, FormatId format Id, ara::core::Optional< AlgId > algId) noexcept=0;

Import a serialized public key.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 2c89087292cc Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method ImportPublicKey serves to import a serialized public key into the respective ara::crypto::cryp::CryptoProvider [SWS_CRYPT_20732]. The call takes place synchronously and returns a ara::core::Result<PublicKey::Sptr>, which contains a smart pointer to the created key object in the event of success [SWS_CRYPT_20732].

Upon invocation, the following parameters are passed [SWS_CRYPT_20732]:

  • serialized: A ReadOnlyMemRegion memory area that provides the raw data of the serialized key.
  • allowedUsage: The permissible usage flags (AllowedUsageFlags) for the imported key.
  • formatId: The identifier of the serialization format (FormatId).
  • algId: An optional algorithm ID (ara::core::Optional<AlgId>). It is not required if the serialization format already uniquely determines the properties of the key.

Error handling

If an error occurs during processing, it is encapsulated in the returned ara::core::Result. The following error codes are specified [SWS_CRYPT_20732]:

  • InvalidArgument: The passed data in serialized does not correspond to the specified format.
  • ara::crypto::CryptoErrc::kIncompatibleArguments: The usage flags allowedUsage are incompatible with algId.
  • ara::crypto::CryptoErrc::kUnsupportedFormat: The specified formatId is not supported for this object type.
  • ara::crypto::CryptoErrc::kUnsupported: The requested function is not supported by the CryptoProvider.
  • ara::crypto::CryptoErrc::kBusyResource: The operation cannot be executed temporarily.

Concurrency and Safety

The method is declared as noexcept, is considered exception-safe, and is specified as thread-safe according to the specification [SWS_CRYPT_20732]. Error cases follow defined rollback semantics [SWS_CRYPT_20732].

This text was generated by an AI system and is based exclusively on specification data from release R25-11.

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

Parameter (in)

ParameterBeschreibung
serializedthe memory region that contains the serialized key
allowedUsagethe allowedUsage of the key
formatIdthe serialization format
algIdan optional alg ID of the key. Not required if the serialization format already identifies the required properties of the key.

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >result containing a shared pointer to the created key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif serialized does not conform to the specified format
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the algId
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the CryptoProvider does not support the requested function
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed
ara::crypto::CryptoErrc::kUnsupportedFormatrollback_semantics if the specified format ID is not supported for this object type

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20732
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20732@rel:R25-11#2473d874
Content hash
2473d874
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20732
Status: valid/unmigrated Version: rel:R25-11#51a436c4 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_20732@rel:R25-11#51a436c4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2473d8742026-09-30
  • R19-11rel:R19-11#1450fe912026-10-14
  • R20-11rel:R20-11#9c83b88d2026-10-14
  • R21-11rel:R21-11#56c01f3b2026-10-14
  • R22-11rel:R22-11#2ec0aa1f2026-10-14
  • R23-11rel:R23-11#56bf56252026-10-14
  • R24-11rel:R24-11#ada4cfb92026-10-14
  • R25-11rel:R25-11#51a436c42026-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

function ImportSymmetricKey [SWS_CRYPT_50014] Upstream: RS_CRYPTO_02105, RS_CRYPTO_02112

virtual ara::core::Result< SymmetricKey::Sptr > ImportSymmetricKey (ReadOnlyMemRegion serialized, AllowedUsageFlags allowedUsage, Format Id formatId, ara::core::Optional< AlgId > algId) noexcept=0;

Import a serialized symmetric key.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 46a4ead0d7ca Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The ImportSymmetricKey method of interface ara::crypto::cryp::CryptoProvider is used to import a serialized symmetric key [SWS_CRYPT_50014]. As its return value, it provides a ara::core::Result<SymmetricKey::Sptr> that, in case of success, provides a smart pointer to the newly instantiated key object [SWS_CRYPT_50014]. Since no asynchronous return type such as a future is used, execution is presumably synchronous. Question Q-720a495b07c4f31d (open)

The following parameters must be passed during the call [SWS_CRYPT_50014]:

  • serialized (ReadOnlyMemRegion): The memory area containing the serialized key data.
  • allowedUsage (AllowedUsageFlags): Bitmask of the operations and usages permitted for this key.
  • formatId (FormatId): Identifier of the serialization format of the key data.
  • algId (ara::core::Optional<AlgId>): Optional algorithm identifier; it is not required if the specified serialization format already uniquely determines all required properties of the key.

Error Handling and Boundary Conditions

The method is specified as thread-safe and exception safe [SWS_CRYPT_50014]. In case of an error, the implementation guarantees rollback semantics and returns a corresponding error code in ara::core::Result [SWS_CRYPT_50014]:

  • InvalidArgument: The passed binary data in serialized do not conform to the specified format.
  • ara::crypto::CryptoErrc::kIncompatibleArguments: The specified allowedUsage flags are incompatible with the specified algId.
  • ara::crypto::CryptoErrc::kUnsupported: The function is not supported by the concrete instance of the CryptoProvider.
  • ara::crypto::CryptoErrc::kUnsupportedFormat: The specified format is not supported for this key type.
  • ara::crypto::CryptoErrc::kBusyResource: The operation cannot currently be executed due to temporarily busy resources.

This usage note was generated automatically based on the AUTOSAR R25-11 specification.

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

Parameter (in)

ParameterBeschreibung
serializedthe memory region that contains the serialized key
allowedUsagethe allowedUsage of the key
formatIdthe serialization format
algIdan optional alg ID of the key. Not required if the serialization format already identifies the required properties of the key.

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >result containing a shared pointer to the created key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif serialized does not conform to the specified format
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the algId
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the CryptoProvider does not support the requested function
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed
ara::crypto::CryptoErrc::kUnsupportedFormatrollback_semantics if the specified format ID is not supported for this object type

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50014@rel:R25-11#b43f0614
Content hash
b43f0614
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50014
Status: valid/unmigrated Version: rel:R25-11#b43f0614 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_50014@rel:R25-11#b43f0614
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

function LoadPrivateKey [SWS_CRYPT_20764] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02002

virtual ara::core::Result< PrivateKey::Sptr > LoadPrivateKey (Key Slot::Sptr keySlot) noexcept=0;

Load a private key from the provided KeySlot.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 933cf21dc7b3 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The LoadPrivateKey method of the ara::crypto::cryp::CryptoProvider interface loads a private key from a provided key slot ([SWS_CRYPT_20764]). The call is executed synchronously and accepts a shared pointer to the source resource (keySlot) as a parameter. In case of success, the function provides a shared pointer to the loaded key object (PrivateKey::Sptr), which is returned inside a ara::core::Result ([SWS_CRYPT_20764]).

Error handling

If an error occurs during the operation, rollback semantics apply and the ara::core::Result contains a specific error code ([SWS_CRYPT_20764]):

  • ara::crypto::CryptoErrc::kEmptyKeySlot: The passed key slot is empty ([SWS_CRYPT_20764]).
  • ara::crypto::CryptoErrc::kIncompatibleObject: The underlying resource belongs to another, incompatible CryptoProvider or contains a differing key type ([SWS_CRYPT_20764]).
  • ara::crypto::CryptoErrc::kBusyResource: The operation cannot be executed temporarily ([SWS_CRYPT_20764]).

Concurrency and Safety

The specification classifies the function as thread-safe and exception-safe; the signature is declared as noexcept ([SWS_CRYPT_20764]). Multiple threads can invoke the method in parallel, but must handle a possible return of kBusyResource in case of temporary resource conflicts.

This usage note was generated automatically based on the specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
keySlotthe KeySlot that contains the key for loading

Rückgabewert

TypBeschreibung
ara::core::Result<PrivateKey::Sptr >result containing a shared pointer to the loaded key or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if the KeySlot is empty
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the underlying resource belongs to another, incompatible Crypto Provider or contains a different key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20764
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20764@rel:R25-11#56226709
Content hash
56226709
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20764
Status: valid/unmigrated Version: rel:R25-11#619ff9c3 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_20764@rel:R25-11#619ff9c3
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#562267092026-09-30
  • R20-11rel:R20-11#cf85edd52026-10-14
  • R21-11rel:R21-11#7866d75f2026-10-14
  • R22-11rel:R22-11#7ef331982026-10-14
  • R23-11rel:R23-11#9721217a2026-10-14
  • R24-11rel:R24-11#00f5f0232026-10-14
  • R25-11rel:R25-11#619ff9c32026-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

function LoadPublicKey [SWS_CRYPT_20763] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02002

virtual ara::core::Result< PublicKey::Sptr > LoadPublicKey (Key Slot::Sptr keySlot) noexcept=0;

Load a public key from the provided KeySlot.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: bd65058963fb Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The LoadPublicKey method of the ara::crypto::cryp::CryptoProvider interface loads a public key from the provided key slot [SWS_CRYPT_20763]. As parameter keySlot, it expects a KeySlot::Sptr referencing the slot with the key to be loaded [SWS_CRYPT_20763]. As a return value, the function returns a ara::core::Result<PublicKey::Sptr>, which in case of success contains a shared pointer to the loaded public key object [SWS_CRYPT_20763]. The direct provision of the result value is likely to indicate synchronous invocation behavior. Question Q-e0d2480909b1398a (open)

Error handling

If the loading procedure fails, the ara::core::Result contains a corresponding error code of the domain ara::crypto::CryptoErrc, with rollback semantics being defined for all specified error cases [SWS_CRYPT_20763]:

  • ara::crypto::CryptoErrc::kEmptyKeySlot: Occurs when the passed KeySlot is empty [SWS_CRYPT_20763].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Is returned when the underlying resource belongs to another, incompatible CryptoProvider or contains a differing key type [SWS_CRYPT_20763].
  • ara::crypto::CryptoErrc::kBusyResource: Occurs if the operation cannot be executed temporarily because the resource is otherwise occupied [SWS_CRYPT_20763].

Concurrency and Safety

The method is declared with noexcept and specified as exception-safe [SWS_CRYPT_20763]. With regard to concurrency, the operation is explicitly classified as thread-safe, meaning that parallel calls from multiple threads are permissible [SWS_CRYPT_20763].

This usage note was generated by an AI based on the specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
keySlotthe KeySlot that contains the key for loading

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >result containing a shared pointer to the loaded key or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if the KeySlot is empty
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the underlying resource belongs to another, incompatible Crypto Provider or contains a different key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20763
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20763@rel:R25-11#3b024d4b
Content hash
3b024d4b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20763
Status: valid/unmigrated Version: rel:R25-11#94997baf 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_20763@rel:R25-11#94997baf
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3b024d4b2026-09-30
  • R20-11rel:R20-11#5ef8747d2026-10-14
  • R21-11rel:R21-11#cecedb902026-10-14
  • R22-11rel:R22-11#3bab55812026-10-14
  • R23-11rel:R23-11#406c01632026-10-14
  • R24-11rel:R24-11#fc5230262026-10-14
  • R25-11rel:R25-11#94997baf2026-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

function LoadSymmetricKey [SWS_CRYPT_20762] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02002

virtual ara::core::Result< SymmetricKey::Sptr > LoadSymmetricKey (Key Slot::Sptr keySlot) noexcept=0;

Load a symmetric key from the provided KeySlot.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: fa5c0e3150ce Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual method LoadSymmetricKey of class ara::crypto::cryp::CryptoProvider serves to load a symmetric key from a provided key slot [SWS_CRYPT_20762]. As a parameter, the function accepts a shared pointer to the relevant slot (keySlot) and synchronously returns a ara::core::Result<SymmetricKey::Sptr>, which provides a shared pointer to the loaded key object upon successful execution [SWS_CRYPT_20762].

With regard to concurrency and execution safety, the method is specified as thread-safe and exception safe and declared with noexcept [SWS_CRYPT_20762].

If an error occurs during loading, the method returns specific error codes from the domain ara::crypto::CryptoErrc with defined rollback semantics via the result object [SWS_CRYPT_20762]:

  • ara::crypto::CryptoErrc::kEmptyKeySlot: Occurs when the passed KeySlot is empty [SWS_CRYPT_20762].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Is returned if the underlying resource belongs to another, incompatible Crypto-Provider or contains another key type [SWS_CRYPT_20762].
  • ara::crypto::CryptoErrc::kBusyResource: Signals that the operation temporarily cannot be executed [SWS_CRYPT_20762].

This text was generated by an AI system and is based exclusively on the specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
keySlotthe KeySlot that contains the key for loading

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >result containing a shared pointer to the loaded key or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if the KeySlot is empty
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the underlying resource belongs to another, incompatible Crypto Provider or contains a different key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20762
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20762@rel:R25-11#0e0c91c9
Content hash
0e0c91c9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20762
Status: valid/unmigrated Version: rel:R25-11#f47254ea 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_20762@rel:R25-11#f47254ea
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#0e0c91c92026-09-30
  • R20-11rel:R20-11#a2b2b6ca2026-10-14
  • R21-11rel:R21-11#71269d212026-10-14
  • R22-11rel:R22-11#af928a362026-10-14
  • R23-11rel:R23-11#aa4c06512026-10-14
  • R24-11rel:R24-11#d7011cdb2026-10-14
  • R25-11rel:R25-11#f47254ea2026-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

function operator= [SWS_CRYPT_30216] Upstream: RS_CRYPTO_02004

CryptoProvider & operator= (const CryptoProvider &other)=delete;

Copy-assign another CryptoProvider to this instance.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider

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

Record
AUTOSAR/AP/record/SWS_CRYPT_30216
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30216@rel:R25-11#d4dd587d
Content hash
d4dd587d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30216
Status: valid/unmigrated Version: rel:R25-11#96e40041 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_30216@rel:R25-11#96e40041
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d4dd587d2026-09-30
  • R20-11rel:R20-11#8f862b702026-10-14
  • R21-11rel:R21-11#8f862b702026-10-14
  • R22-11rel:R22-11#1f0154312026-10-14
  • R23-11rel:R23-11#b6c645d62026-10-14
  • R24-11rel:R24-11#96e400412026-10-14
  • R25-11rel:R25-11#96e400412026-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

function operator= [SWS_CRYPT_30217] Upstream: RS_CRYPTO_02004

CryptoProvider & operator= (CryptoProvider &&other)=delete;

Move-assign another CryptoProvider to this instance.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider

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

Record
AUTOSAR/AP/record/SWS_CRYPT_30217
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30217@rel:R25-11#875b931c
Content hash
875b931c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30217
Status: valid/unmigrated Version: rel:R25-11#fcc3d64e 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_30217@rel:R25-11#fcc3d64e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#875b931c2026-09-30
  • R20-11rel:R20-11#ad3659582026-10-14
  • R21-11rel:R21-11#c29463602026-10-14
  • R22-11rel:R22-11#1048bb462026-10-14
  • R23-11rel:R23-11#4eff1ccf2026-10-14
  • R24-11rel:R24-11#53bda24c2026-10-14
  • R25-11rel:R25-11#fcc3d64e2026-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

function ~CryptoProvider [SWS_CRYPT_20710] Upstream: RS_CRYPTO_02107

virtual ~CryptoProvider () noexcept=default;

Destructor.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20710
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20710@rel:R25-11#92a5ae4c
Content hash
92a5ae4c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20710
Status: valid/unmigrated Version: rel:R25-11#8dc356f1 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_20710@rel:R25-11#8dc356f1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#92a5ae4c2026-09-30
  • R19-11rel:R19-11#262154f72026-10-14
  • R20-11rel:R20-11#01fe77212026-10-14
  • R21-11rel:R21-11#01fe77212026-10-14
  • R22-11rel:R22-11#416497032026-10-14
  • R23-11rel:R23-11#9976743f2026-10-14
  • R24-11rel:R24-11#9c7dc3252026-10-14
  • R25-11rel:R25-11#8dc356f12026-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

Type alias documentation

type alias Sptr [SWS_CRYPT_20701] Upstream: RS_CRYPTO_02109

using Sptr = std::shared_ptr<CryptoProvider>;

Shared pointer of the CryptoProvider.

Header-Datei#include "ara/crypto/cryp/crypto_provider.h"
Scopeclass ara::crypto::cryp::CryptoProvider
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20701
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20701@rel:R25-11#374f0256
Content hash
374f0256
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20701
Status: valid/unmigrated Version: rel:R25-11#b2ab3ec9 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_20701@rel:R25-11#b2ab3ec9
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#374f02562026-09-30
  • R19-11rel:R19-11#c100f8d02026-10-14
  • R20-11rel:R20-11#60b520932026-10-14
  • R21-11rel:R21-11#60b520932026-10-14
  • R22-11rel:R22-11#6cce43132026-10-14
  • R23-11rel:R23-11#35053b082026-10-14
  • R24-11rel:R24-11#90ffb1202026-10-14
  • R25-11rel:R25-11#b2ab3ec92026-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