DEENESPTFRRUARHIKOZHNL

klasse ara::crypto::Formatter

[SWS_CRYPT_50190] Upstream: RS_CRYPTO_02105

class Formatter {...};

Formatter object interface.

Header-Datei#include "ara/crypto/common/formatter.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto

User GuideAI-GEGENEREERD

Maakt de thread-veilige conversie en serialisatie van cryptografische gegevens tussen verschillende formaten mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f0bec470b702 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt de thread-veilige conversie en serialisatie van cryptografische gegevens tussen verschillende formaten mogelijk.

De interface ara::crypto::Formatter maakt de thread-veilige conversie en serialisatie van cryptografische gegevens tussen ruwe, DER- en PEM-formaten mogelijk [SWS_CRYPT_50197]. Na vastlegging van het doelformaat en bepaling van de benodigde buffergrootte zet de methode Convert de brongegevens over naar de voorbereide uitvoerbuffer [SWS_CRYPT_50198]. Een essentiële voorwaarde voor een succesvolle uitvoering is een toereikend gedimensioneerd doelgeheugen evenals de formele overeenstemming van de invoergegevens met het geconfigureerde bronformaat.

Context

De interface ara::crypto::Formatter definieert in module crypto de uniforme interface voor het formatteren, transformeren en serialiseren van cryptografische datastructuren. Haar hoofdtaak bestaat erin nuttige gegevens en cryptografische objecten te converteren tussen representaties zoals zuivere ruwe data (kFormatRawValueOnly), ASN.1-DER-coderingen (kFormatDerEncoded) evenals tekstuele PEM-formaten (kFormatPemEncoded) met inachtneming van een algoritme-identificatie (AlgId) [SWS_CRYPT_50197]. Hierbij fungeert de Formatter als schakel tussen cryptografische objecten en geheugenbuffers, door gegevens via ReadOnlyMemRegion in te lezen en in ReadWriteMemRegion uit te voeren [SWS_CRYPT_50198].

Levenscyclus

Aangezien ara::crypto::Formatter als puur virtuele interface is gedeclareerd, stelt zij voor referentiëring en levenscyclusbeheer de canonieke smart-pointer-typealias Sptr beschikbaar, die gedefinieerd is als std::shared_ptr<Formatter> [SWS_CRYPT_50191]. Concrete instanties van de interface worden in de praktijk vermoedelijk via fabrieksmethoden van bovenliggende cryptocomponenten beschikbaar gesteld. Vraag Q-99e96992d02b9c13 (open) Na aanmaak bevindt een Formatter zich eerst in een ongeconfigureerde begintoestand, voordat deze door configuratie-aanroepen wordt voorbereid op transformaties.

Met betrekking tot de uitvoeringsomgeving garandeert de interface volledige uitzonderingsveiligheid (exception safe) door het consequente gebruik van noexcept en de foutafhandeling via Result-typen [SWS_CRYPT_50197], [SWS_CRYPT_50198], [SWS_CRYPT_50199]. Alle memberfuncties zijn bovendien gespecificeerd als thread-veilig (thread-safe) [SWS_CRYPT_50197], [SWS_CRYPT_50198], [SWS_CRYPT_50199]. Dit staat parallelle lezende en transformerende toegang van meerdere threads tot een gedeelde Formatter-instantie toe, zolang er geen concurrerende herconfiguraties plaatsvinden.

Gebruikspad

Het reguliere gebruik van ara::crypto::Formatter volgt een vaste volgorde van parametrering, capaciteitscontrole en transformatie:

  1. Formaatconfiguratie: Via SetFormatConfiguration worden het verwachte invoerformaat (inputFormat), het gewenste uitvoerformaat (outputFormat) en de algoritme-identificatie (algId) van de te verwerken gegevens bindend vastgelegd [SWS_CRYPT_50197].
  2. Groottebepaling: Voorafgaand aan de feitelijke conversie roept de applicatie GetExportSize aan om de exacte geheugengrootte in bytes te bepalen die het geserialiseerde object onder de huidige configuratie vereist [SWS_CRYPT_50199]. Dit maakt een nauwkeurig passende allocatie van het doelgeheugen mogelijk.
  3. Gegevensconversie: Tot slot transformeert Convert de brongegevens uit een ReadOnlyMemRegion naar de doelbuffer ReadWriteMemRegion overeenkomstig de gemaakte configuratie [SWS_CRYPT_50198].
Typische dataconversie met de FormatterAnwendungFormatterSetFormatConfiguration(inputFormat, outputFormat, algId)Result<void>GetExportSize()Result<std::size_t> (buffergrootte)Convert(input, out)Result<void>

Sequentiediagram: Typische conversievolgorde vanaf de formaatselectie via de buffergroottebepaling tot aan de feitelijke transformatie. Bronnen: [SWS_CRYPT_50197], [SWS_CRYPT_50199], [SWS_CRYPT_50198]

Foutscenario's

Methoden van ara::crypto::Formatter signaleren fouttoestanden deterministisch via retourwaarden van het type ara::core::Result. Daarbij zijn voor mislukkende operaties duidelijke rollback-semantieken vastgelegd:

  • Niet-ondersteunde formaten: Als de onderliggende implementatie het gespecificeerde transformatiepaar of de algoritme-identificatie niet ondersteunt, levert SetFormatConfiguration de foutcode ara::crypto::CryptoErrc::kUnsupportedFormat op [SWS_CRYPT_50197].
  • Ongeldige invoergegevens: Wanneer de in de buffer overgedragen ruwe gegevens niet overeenkomen met het geconfigureerde formaat of syntactisch ongeldig zijn, mislukt Convert met ara::crypto::CryptoErrc::kInvalidArgument [SWS_CRYPT_50198].
  • Ontoereikende doelbuffer: Als de gereedgestelde ReadWriteMemRegion te klein is voor het geserialiseerde resultaat, breekt Convert af met ara::crypto::CryptoErrc::kInsufficientCapacity [SWS_CRYPT_50198]. Dit probleem kan gericht worden voorkomen door voorafgaande bevraging via GetExportSize [SWS_CRYPT_50199].
  • Ontbrekende voorafgaande configuratie: Voor GetExportSize zijn weliswaar geen gestandaardiseerde foutcodes vermeld [SWS_CRYPT_50199], maar er moet vermoedelijk verplicht vooraf een geldige configuratie via SetFormatConfiguration zijn ingesteld om een consistente groottebepaling of conversie te kunnen laten plaatsvinden. Vraag Q-e7cf4306bc7cfb49 (open)

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11 (module crypto) en is geautomatiseerd opgesteld.

Ledenkaart

Klassendiagram

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

G nara__crypto__Formatter631 Formatter + Convert() + GetExportSize() + SetFormatConfiguration()

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

Convert functie

Converts the data according to the previous configuration of the Formatter.

virtual ara::core::Result< void > Convert (ReadOnlyMemRegion input, ReadWriteMemRegion out) const noexcept=0;

Get the size in bytes of the object when serialized using the current configuration of the Formatter.

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

Configure the formatter with the expected input format, output format, and the AlgId of the data to be formatted. The input and output format may be kFormatRawValueOnly, kFormatDer Encoded, or kFormatPemEncoded.

virtual ara::core::Result< void > SetFormatConfiguration (FormatId inputFormat, FormatId outputFormat, AlgId algId) noexcept=0;

Type-aliassen

Sptr typealias

Smart pointer of the interface.

using Sptr = std::shared_ptr<Formatter>;

Documentatie van de methoden

functie Convert [SWS_CRYPT_50198] Upstream: RS_CRYPTO_02112

virtual ara::core::Result< void > Convert (ReadOnlyMemRegion input, ReadWriteMemRegion out) const noexcept=0;

Converts the data according to the previous configuration of the Formatter.

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

De zuiver virtuele elementfunctie Convert van de interface ara::crypto::Formatter voert een synchrone conversie van gegevens uit volgens de vooraf vastgelegde configuratie van het formatter-object [SWS_CRYPT_50198]. De declaratie is beschikbaar via de header #include "ara/crypto/common/formatter.h" [SWS_CRYPT_50198]. Voor de aanroep geeft de aanroeper de invoergegevens in het oorspronkelijke formaat door via de buffer input van het type ReadOnlyMemRegion en een beschrijfbare buffer out van het type ReadWriteMemRegion, waarin de geconverteerde gegevens in het doelformaat worden geschreven [SWS_CRYPT_50198].

De retourwaarde is gedefinieerd als ara::core::Result<void> en signaleert het succes of een opgetreden fout [SWS_CRYPT_50198]. Als er tijdens de conversie een probleem optreedt, geldt een rollback-semantiek met de volgende specifieke foutcodes [SWS_CRYPT_50198]:

  • ara::crypto::CryptoErrc::kInvalidArgument: Wordt geretourneerd indien de geserialiseerde invoergegevens niet voldoen aan het gespecificeerde formaat [SWS_CRYPT_50198].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Treedt op wanneer de capaciteit van de doorgegeven uitvoerbuffer out te klein is voor het opnemen van de resultaatgegevens [SWS_CRYPT_50198].

Wat betreft gelijktijdigheid en fouttolerantie is de methode gespecificeerd als thread-safe (thread-safe) en exception-safe (exception safe) [SWS_CRYPT_50198]. Omdat de signatuur is voorzien van de specificaties const en noexcept, genereert de operatie geen C++-excepties en wijzigt deze de status van de formatter-instantie niet [SWS_CRYPT_50198].

Deze gebruiksinstructie is automatisch door een AI gegenereerd op basis van de specificatie.

Header-Datei#include "ara/crypto/common/formatter.h"
Scopeclass ara::crypto::Formatter
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
inputan input buffer containing the data in the input format

Parameter (out)

ParameterBeschreibung
outan output buffer that the data will be written to in the output format

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if serialized does not conform to the specified format
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50198
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50198@rel:R25-11#7aa13fa9
Content hash
7aa13fa9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50198
Status: valid/unmigrated Version: rel:R25-11#19644f36 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_50198@rel:R25-11#19644f36
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie GetExportSize [SWS_CRYPT_50199] Upstream: RS_CRYPTO_02112

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

Get the size in bytes of the object when serialized using the current configuration of the Formatter.

Header-Datei#include "ara/crypto/common/formatter.h"
Scopeclass ara::crypto::Formatter
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >A result containing the size in bytes of the serialized object or an error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50199
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50199@rel:R25-11#3b309a4a
Content hash
3b309a4a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50199
Status: valid/unmigrated Version: rel:R25-11#b96bc7d6 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_50199@rel:R25-11#b96bc7d6
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie SetFormatConfiguration [SWS_CRYPT_50197] Upstream: RS_CRYPTO_02112

virtual ara::core::Result< void > SetFormatConfiguration (FormatId inputFormat, FormatId outputFormat, AlgId algId) noexcept=0;

Configure the formatter with the expected input format, output format, and the AlgId of the data to be formatted. The input and output format may be kFormatRawValueOnly, kFormatDer Encoded, or kFormatPemEncoded.

Header-Datei#include "ara/crypto/common/formatter.h"
Scopeclass ara::crypto::Formatter
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
inputFormatthe input format
outputFormatthe output format
algIdthe AlgId of the data to be formatted

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedFormatrollback_semantics if the specified conversion is not supported

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50197
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50197@rel:R25-11#e727a3f1
Content hash
e727a3f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50197
Status: valid/unmigrated Version: rel:R25-11#25ee4601 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_50197@rel:R25-11#25ee4601
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Documentatie van de typealiassen

typealias Sptr [SWS_CRYPT_50191] Upstream: RS_CRYPTO_02306

using Sptr = std::shared_ptr<Formatter>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/common/formatter.h"
Scopeclass ara::crypto::Formatter
SymbolSptr

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

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