क्रिप्टोग्राफ़िक ऑब्जेक्ट्स के थ्रेड-सुरक्षित निरीक्षण और स्थायी भंडारण के लिए एक सामान्य इंटरफ़ेस के रूप में कार्य करता है।
एआई-जनितअसत्यापितमॉडल: 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]।
जबकि 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 की आवश्यकताओं को सारांशित करती है।
The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.
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 द्वारा जनरेट किया गया था।
rollback_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
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल