DEENESPTFRRUARHIKOZHNL

क्लास ara::crypto::cryp::CryptoObject

[SWS_CRYPT_20500] Upstream: RS_CRYPTO_02005

class CryptoObject :           public ara::crypto::Serializable {...};

A common interface for all cryptographic objects recognizable by the Crypto Provider.

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

उपयोगकर्ता गाइडएआई जनित

क्रिप्टोग्राफ़िक ऑब्जेक्ट्स के थ्रेड-सुरक्षित निरीक्षण और स्थायी भंडारण के लिए एक सामान्य इंटरफ़ेस के रूप में कार्य करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 156a618ba987 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

क्रिप्टोग्राफ़िक ऑब्जेक्ट्स के थ्रेड-सुरक्षित निरीक्षण और स्थायी भंडारण के लिए एक सामान्य इंटरफ़ेस के रूप में कार्य करता है।

इंटरफ़ेस ara::crypto::cryp::CryptoObject Adaptive-Crypto-Stack में सभी क्रिप्टोग्राफ़िक ऑब्जेक्ट्स के लिए सामान्य अमूर्तता (abstraction) को परिभाषित करता है और Sptr [SWS_CRYPT_20501] के माध्यम से उनके जीवनचक्र को नियंत्रित करता है। यह एल्गोरिदम पहचानकर्ताओं और उपयोग फ़्लैग्स को थ्रेड-सुरक्षित रूप से पढ़ने में सक्षम बनाता है और WriteableKeySlot [SWS_CRYPT_20505], [SWS_CRYPT_20517] में कुंजी सामग्री के स्थायी ओवरराइटिंग का समर्थन करता है। भंडारण प्रक्रिया के दौरान, रोलबैक शब्दार्थ वाले परिभाषित त्रुटि कोड अंतर्निहित स्टोरेज स्लॉट की डेटा अखंडता सुनिश्चित करते हैं [SWS_CRYPT_20517]।

संदर्भ

इंटरफ़ेस ara::crypto::cryp::CryptoObject उन सभी क्रिप्टोग्राफ़िक ऑब्जेक्ट्स के लिए सामान्य अमूर्तता बनाता है जिन्हें Crypto-Provider द्वारा पहचाना और प्रबंधित किया जा सकता है। क्लास ara::crypto::Serializable का विस्तार करती है और एल्गोरिदम पहचान, उपयोग प्रतिबंध और स्थायी भंडारण के तंत्र जैसे मूलभूत गुणों को परिभाषित करती है। विशिष्ट इंटरैक्शन पार्टनर कॉलिंग एप्लिकेशन, प्रदान करने वाला Crypto-Provider और WriteableKeySlot-इंस्टेंस के रूप में लक्ष्य स्टोरेज हैं।

जीवनचक्र

प्लेटफ़ॉर्म के भीतर क्रिप्टोग्राफ़िक ऑब्जेक्ट्स को मुख्य रूप से साझा स्वामित्व के माध्यम से प्रबंधित किया जाता है। इसके लिए, क्लास कैनोनिकल स्मार्ट-पॉइंटर उपनाम ara::crypto::cryp::CryptoObject::Sptr को std::shared_ptr<CryptoObject> [SWS_CRYPT_20501] के रूप में परिभाषित करती है। ठोस इंस्टेंस किसी Crypto-Provider के विशेष फ़ैक्टरी और लोडर रूटीन द्वारा त्वरित किए जाने और कॉलर को इस पॉइंटर प्रकार के माध्यम से प्रदान किए जाने की संभावना है। प्रश्न Q-36e2bd12d7dc8b98 (खुला) इंटरफ़ेस की सभी घोषित विधियों को थ्रेड-सुरक्षित और अपवाद-सुरक्षित (exception safe, noexcept) के रूप में निर्दिष्ट किया गया है, जिससे कई थ्रेड्स में सुरक्षित समवर्ती रीड और स्टोरेज एक्सेस सुनिश्चित होता है [SWS_CRYPT_20505], [SWS_CRYPT_50092], [SWS_CRYPT_20517]। अंतिम Sptr संदर्भ समाप्त होते ही ऑब्जेक्ट और संबंधित कुंजी सामग्री का विमोचन स्वचालित रूप से हो जाता है।

उपयोग पथ

एक विशिष्ट उपयोग पथ में किसी ऑब्जेक्ट के क्रिप्टोग्राफ़िक गुणों की पहचान और उसके बाद उसका स्थायी भंडारण शामिल होता है। सबसे पहले, एप्लिकेशन GetAlgId() के माध्यम से ऑब्जेक्ट के एल्गोरिदम पहचानकर्ता को ara::crypto::AlgIdString के रूप में प्राप्त करता है [SWS_CRYPT_20505]। इसके बाद, यह सुनिश्चित करने के लिए कि ऑब्जेक्ट इच्छित ऑपरेशन के लिए अधिकृत है, GetAllowedUsage() के माध्यम से अनुमेय उपयोग फ़्लैग (AllowedUsageFlags) निर्धारित किए जाते हैं [SWS_CRYPT_50092]। स्थायी सुरक्षा के लिए, एप्लिकेशन विधि Save() [SWS_CRYPT_20517] को एक लिखने योग्य कुंजी स्लॉट पास करता है। कुंजी सामग्री और संबंधित मेटाडेटा तब लक्ष्य स्लॉट में संग्रहीत किए जाते हैं, जिसमें स्लॉट में पहले से मौजूद डेटा ओवरराइट हो जाता है [SWS_CRYPT_20517]।

CryptoObject का निरीक्षण और परसिस्टेंसएप्लिकेशनCryptoObjectWriteableKeySlotGetAlgId()AlgIdStringGetAllowedUsage()AllowedUsageFlags (kAllowPersist)Save(keyslot)की मटीरियल और मेटाडेटा लिखेंSpeicherquittungResult<void>

अनुक्रम आरेख: KeySlot में क्रिप्टोग्राफ़िक ऑब्जेक्ट के निरीक्षण और स्थायी भंडारण के लिए विशिष्ट प्रक्रिया। स्रोत: [SWS_CRYPT_20505], [SWS_CRYPT_50092], [SWS_CRYPT_20517].

त्रुटि परिदृश्य

जबकि GetAlgId() [SWS_CRYPT_20505] और GetAllowedUsage() [SWS_CRYPT_50092] कोई मानकीकृत त्रुटि कोड नहीं दिखाते हैं और सफलता की स्थिति में संबंधित परिणाम ara::core::Result में लौटाते हैं, स्थायी भंडारण ऑपरेशन Save() बाध्यकारी रोलबैक शब्दार्थ के साथ विशिष्ट त्रुटि स्थितियों को परिभाषित करता है [SWS_CRYPT_20517]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: तब होता है जब ऑब्जेक्ट पारित किए गए WriteableKeySlot के साथ असंगत होता है, उदाहरण के लिए क्योंकि एल्गोरिदम पहचानकर्ता (AlgId) एक दूसरे से भिन्न होते हैं या कुंजी स्लॉट किसी भिन्न Crypto-Provider से संबंधित होता है [SWS_CRYPT_20517]।
  • ara::crypto::CryptoErrc::kUsageViolation: अमान्य उपयोग का संकेत देता है यदि कुंजी के GetAllowedUsage() के माध्यम से घोषित उपयोग फ़्लैग में स्थायी भंडारण का अधिकार (kAllowPersist) शामिल नहीं है [SWS_CRYPT_50092], [SWS_CRYPT_20517]।
  • ara::crypto::CryptoErrc::kBusyResource: तब लौटाया जाता है जब अंतर्निहित मेमोरी संसाधन अस्थायी रूप से व्यस्त होता है और ऑपरेशन को तुरंत निष्पादित नहीं किया जा सकता है [SWS_CRYPT_20517]।

रोलबैक शब्दार्थ के लिए धन्यवाद, इनमें से प्रत्येक त्रुटि पर WriteableKeySlot की स्थिति बरकरार रहती है, ताकि मेमोरी में कोई आंशिक रूप से लिखा या दूषित कुंजी डेटा न रहे [SWS_CRYPT_20517]।

यह मार्गदर्शिका AUTOSAR Adaptive R25-11 विनिर्देश पर आधारित है और इंटरफ़ेस ara::crypto::cryp::CryptoObject की आवश्यकताओं को सारांशित करती है।

सदस्य मानचित्र

टाइप उपनाम

1

क्लास आरेख

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

G nara__crypto__cryp__CryptoObject679 CryptoObject + GetAlgId() + GetAllowedUsage() + Save() nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855 nara__crypto__cryp__PrivateKey762 PrivateKey nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__PublicKey940 PublicKey nara__crypto__cryp__PublicKey940->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

मेथड

GetAlgId फ़ंक्शन

The interface shall return the AlgId of this CryptoObject.

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;
GetAllowedUsage फ़ंक्शन

The interface shall return the allowed usage of the key.

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;
Save फ़ंक्शन

The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

टाइप उपनाम

Sptr टाइप उपनाम

Smart pointer of the interface.

मेथड का प्रलेखन

फ़ंक्शन GetAlgId [SWS_CRYPT_20505] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;

The interface shall return the AlgId of this CryptoObject.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<ara::crypto::AlgIdString >A result containing the AlgId of this CryptoObject

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_20505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20505@rel:R25-11#a70a89a6
Content hash
a70a89a6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20505
Status: valid/unmigrated Version: rel:R25-11#974298db 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_20505@rel:R25-11#974298db
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fa5364ac2026-09-30
  • R20-11rel:R20-11#3073d8c92026-10-14
  • R21-11rel:R21-11#3073d8c92026-10-14
  • R22-11rel:R22-11#131cf8662026-10-14
  • R23-11rel:R23-11#b34bd5a42026-10-14
  • R24-11rel:R24-11#36c55a302026-10-14
  • R25-11rel:R25-11#974298db2026-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

फ़ंक्शन GetAllowedUsage [SWS_CRYPT_50092] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;

The interface shall return the allowed usage of the key.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<AllowedUsageFlags >A result containing the allowed usage of the key

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

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

फ़ंक्शन Save [SWS_CRYPT_20517] Upstream: RS_CRYPTO_02004

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 0aae854cf6a9 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

इंटरफ़ेस ara::crypto::cryp::CryptoObject की विधि Save दिए गए WriteableKeySlot ([SWS_CRYPT_20517]) में संबद्ध मेटाडेटा के साथ कुंजी सामग्री को स्थायी रूप से संग्रहीत करने का कार्य करती है। लक्ष्य KeySlot में पहले से संग्रहीत डेटा निष्पादन के दौरान अधिलेखित कर दिया जाता है ([SWS_CRYPT_20517])।

पैरामीटर के रूप में WriteableKeySlot::Sptr प्रकार का keyslot पास किया जाता है, जो अंतर्निहित मेमोरी स्थान का प्रतिनिधित्व करता है ([SWS_CRYPT_20517])। फ़ंक्शन को noexcept और exception safe के रूप में निर्दिष्ट किया गया है और रिटर्न मान के रूप में एक ara::core::Result<void> लौटाता है, जो सफल होने पर खाली होता है ([SWS_CRYPT_20517])।

त्रुटि की स्थिति में, रोलबैक सेमांटिक्स लागू होते हैं ([SWS_CRYPT_20517])। विशेष रूप से, निम्नलिखित त्रुटि कोड लौटाए जाते हैं:

  • ara::crypto::CryptoErrc::kIncompatibleObject: कुंजी KeySlot के साथ असंगत है, उदाहरण के लिए भिन्न AlgId या किसी अन्य CryptoProvider ([SWS_CRYPT_20517]) को सौंपे जाने के कारण।
  • ara::crypto::CryptoErrc::kUsageViolation: कुंजी के अनुमत उपयोग में अधिकार kAllowPersist ([SWS_CRYPT_20517]) शामिल नहीं है।
  • ara::crypto::CryptoErrc::kBusyResource: ऑपरेशन अस्थायी रूप से निष्पादित नहीं किया जा सकता है ([SWS_CRYPT_20517])।

समवर्तीता के संबंध में, विधि को thread-safe ([SWS_CRYPT_20517]) के रूप में घोषित किया गया है।

यह उपयोग नोट AUTOSAR R25-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keyslotKeySlot representing the underlying storage

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the key is incompatible to the KeySlot, e.g., because the AlgId of the KeySlot is incompatible to the AlgId of the key or because the KeySlot belongs to a different CryptoProvider
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowPersist
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_20517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20517@rel:R25-11#6dd1b4e4
Content hash
6dd1b4e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20517
Status: valid/unmigrated Version: rel:R25-11#27ad83e4 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_20517@rel:R25-11#27ad83e4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#401495a62026-09-30
  • R19-11rel:R19-11#12df20182026-10-14
  • R20-11rel:R20-11#74dce1282026-10-14
  • R21-11rel:R21-11#9fdecde72026-10-14
  • R22-11rel:R22-11#4e577c772026-10-14
  • R23-11rel:R23-11#302bac292026-10-14
  • R24-11rel:R24-11#7745263b2026-10-14
  • R25-11rel:R25-11#27ad83e42026-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

टाइप उपनामों का प्रलेखन

टाइप उपनाम Sptr [SWS_CRYPT_20501] Upstream: RS_CRYPTO_02005

using Sptr = std::shared_ptr<CryptoObject>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20501@rel:R25-11#f734ba5f
Content hash
f734ba5f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20501
Status: valid/unmigrated Version: rel:R25-11#4816c7c1 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_20501@rel:R25-11#4816c7c1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2f0be81f2026-09-30
  • R19-11rel:R19-11#b83af8272026-10-14
  • R20-11rel:R20-11#eb73b7d72026-10-14
  • R21-11rel:R21-11#eb73b7d72026-10-14
  • R22-11rel:R22-11#cc06a6ac2026-10-14
  • R23-11rel:R23-11#0db32e6b2026-10-14
  • R24-11rel:R24-11#0db32e6b2026-10-14
  • R25-11rel:R25-11#4816c7c12026-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