क्रिप्टोग्राफ़िक कुंजियों के लिए स्टोरेज स्पेस का प्रबंधन करता है और मेटाडेटा क्वेरीज़ के साथ-साथ परिवर्तन कॉलबैक्स को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 15ebff2d544cउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्रिप्टोग्राफ़िक कुंजियों के लिए स्टोरेज स्पेस का प्रबंधन करता है और मेटाडेटा क्वेरीज़ के साथ-साथ परिवर्तन कॉलबैक्स को सक्षम बनाता है।
यह इंटरफ़ेस क्रिप्टोग्राफ़िक कुंजियों के लिए एक पर्सिस्टेंट या वोलेटाइल स्टोरेज स्पेस को एनकैप्सुलेट करता है और कुंजी मेटाडेटा के साथ-साथ संबंधित CryptoProvider[SWS_CRYPT_30403] की क्वेरी को सक्षम बनाता है। एप्लिकेशन एक पंजीकरण योग्य ऑब्ज़र्वर कॉलबैक के माध्यम से सामग्री परिवर्तनों की निगरानी कर सकते हैं [SWS_CRYPT_30404]। स्लॉट खाली होने पर, कुंजी प्रकार या उसके एल्गोरिदम तक पहुँच त्रुटि कोड ara::crypto::CryptoErrc::kEmptyKeySlot के साथ विफल हो जाती है [SWS_CRYPT_50055]। चूंकि कॉपी करना और स्थानांतरित करना प्रतिबंधित है, इसलिए एक्सेस शेयर्ड पॉइंटर्स के माध्यम से थ्रेड-सुरक्षित रूप से होता है।
संदर्भ
इंटरफ़ेस ara::crypto::cryp::KeySlot AUTOSAR Adaptive Platform के भीतर क्रिप्टोग्राफ़िक कुंजियों के लिए एक समर्पित स्टोरेज स्पेस का प्रतिनिधित्व करता है। एक लॉजिकल कुंजी स्लॉट के एनकैप्सुलेशन के रूप में, यह उसमें संग्रहीत कुंजी के लिए मेटाडेटा, प्रकार की जानकारी और समर्थित एल्गोरिदम के असाइनमेंट का प्रबंधन करता है। एक इंस्टेंस आमतौर पर तीन पक्षों के साथ इंटरैक्ट करता है: उपयोग करने वाला सॉफ़्टवेयर, संबंधित cryp::CryptoProvider, जिस पर [SWS_CRYPT_30403] के माध्यम से एक शेयर्ड संदर्भ प्राप्त किया जा सकता है, और [SWS_CRYPT_30404] के अनुसार सामग्री निगरानी के लिए एक एप्लिकेशन-विशिष्ट कॉलबैक।
एक KeySlot इसके द्वारा दर्शाए गए कुंजी भंडारण से दृढ़ता से बंधा होता है। तदनुसार, इंटरफ़ेस इंस्टेंस के डुप्लिकेशन और स्थानांतरण को रोकता है: कॉपी कंस्ट्रक्टर [SWS_CRYPT_50149] और मूव कंस्ट्रक्टर [SWS_CRYPT_50150] दोनों स्पष्ट रूप से हटा दिए गए हैं। यही नियम कॉपी असाइनमेंट ऑपरेटर [SWS_CRYPT_50147] और मूव असाइनमेंट ऑपरेटर [SWS_CRYPT_50148] पर भी लागू होता है।
स्वामित्व और संदर्भ संबंधों के प्रबंधन के लिए, क्लास स्मार्ट-पॉइंटर प्रकार उपनाम Sptr को std::shared_ptr<KeySlot>[SWS_CRYPT_50151] के रूप में परिभाषित करती है। विमोचन एक वर्चुअल डिफ़ॉल्ट डिस्ट्रक्टर [SWS_CRYPT_50146] के माध्यम से होता है। व्याख्या: चूंकि इंटरफ़ेस कोई सार्वजनिक कंस्ट्रक्टर परिभाषित नहीं करता है, इसलिए ठोस इंस्टेंसेस संबंधित CryptoProvider द्वारा बनाए जाने और Sptr के रूप में प्रदान किए जाने की संभावना है। प्रश्न Q-baef4cb1493c96cd (खुला) प्रदान की गई सभी मेथड्स थ्रेड-सुरक्षित घोषित हैं, जिससे कई निष्पादन संदर्भों से एक साथ रीड और मॉनिटरिंग एक्सेस की अनुमति मिलती है।
उपयोग पथ
KeySlot के साथ सामान्य इंटरैक्शन को सामग्री निगरानी के कॉन्फ़िगरेशन और संग्रहीत कुंजी मेटाडेटा की क्वेरी में विभाजित किया गया है:
ऑब्ज़र्वर पंजीकृत करना: एप्लिकेशन RegisterUpdateObserver का उपयोग करके एक कॉलबैक फ़ंक्शन और एक एप्लिकेशन-विशिष्ट पहचानकर्ता keySlotIdentifier[SWS_CRYPT_30404] पंजीकृत करता है। दोहराए गए कॉल पर, स्लॉट सामग्री के अपडेट या विलोपन पर हमेशा केवल अंतिम रूप से पास किया गया कॉलबैक ही कॉल किया जाता है।
समर्थित एल्गोरिदम की क्वेरी करना:GetPossibleAlgIds के माध्यम से एप्लिकेशन स्लॉट द्वारा समर्थित सभी एल्गोरिदम पहचानकर्ताओं की एक सूची प्राप्त करता है [SWS_CRYPT_50056]।
वर्तमान कुंजी की जांच करना: यदि स्लॉट में कोई कुंजी है, तो GetCryptoObjectType कुंजी का ऑब्जेक्ट प्रकार [SWS_CRYPT_50054] और GetAlgId इसका विशिष्ट एल्गोरिदम पहचानकर्ता [SWS_CRYPT_50055] प्रदान करता है।
संबंधित प्रदाता का निर्धारण करना: आवश्यकता पड़ने पर, GetCryptoProvider के माध्यम से प्रबंधित करने वाले CryptoProvider को शेयर्ड पॉइंटर के रूप में पूछा जा सकता है [SWS_CRYPT_30403]।
ऑब्ज़र्वर का पंजीकरण रद्द करना: निगरानी पूरी होने के बाद, UnregisterUpdateObserver के माध्यम से पंजीकरण हटा दिया जाता है [SWS_CRYPT_30406]।
क्वेरी करने वाली मेथड्स परिणाम प्रकार ara::core::Result के माध्यम से त्रुटि स्थितियों को सुरक्षित करती हैं। यदि किसी KeySlot में कोई कुंजी नहीं है, तो कॉल्स GetCryptoObjectType[SWS_CRYPT_50054] और GetAlgId[SWS_CRYPT_50055] प्रत्येक रोलबैक सिमेंटिक्स के साथ मानकीकृत त्रुटि कोड ara::crypto::CryptoErrc::kEmptyKeySlot लौटाते हैं। मेथड्स GetPossibleAlgIds[SWS_CRYPT_50056] और GetCryptoProvider[SWS_CRYPT_30403] कोई मानकीकृत त्रुटि कोड निर्दिष्ट नहीं करती हैं। RegisterUpdateObserver[SWS_CRYPT_30404] और UnregisterUpdateObserver[SWS_CRYPT_30406] का उपयोग करके ऑब्ज़र्वर प्रबंधन के लिए, त्रुटि के मामले में परिणाम ऑब्जेक्ट में कार्यान्वयन-विशिष्ट त्रुटियां प्रदान की जाती हैं।
यह गाइड विनिर्देश R25-11 के आधार पर AI द्वारा तैयार किया गया था।
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9361e576efa7उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::crypto::cryp::KeySlot का मेथड RegisterUpdateObserver एक एप्लिकेशन-विशिष्ट कॉलबैक फ़ंक्शन को पंजीकृत करने का काम करता है, जिसे किसी की-स्लॉट की सामग्री के प्रत्येक अपडेट पर सूचित किया जाता है [SWS_CRYPT_30404]। यहाँ अपडेट के रूप में सामग्री में संशोधन और स्लॉट को पूरी तरह से खाली करना दोनों मान्य हैं [SWS_CRYPT_30404]।
उपयोग और पैरामीटर
फ़ंक्शन को हेडर ara/crypto/cryp/keyslot.h के माध्यम से शामिल किया जाता है और यह कॉलबैक callback के साथ-साथ एक पहचानकर्ता keySlotIdentifier स्वीकार करता है [SWS_CRYPT_30404]। एप्लिकेशन लॉजिक में संबंधित स्लॉट को विशिष्ट रूप से असाइन करने में सक्षम होने के लिए, कॉल किए जाने पर फ़ंक्शन ऑब्जेक्ट callback को एक तर्क के रूप में स्ट्रिंग keySlotIdentifier प्राप्त होती है [SWS_CRYPT_30404]। उसी एप्लिकेशन द्वारा RegisterUpdateObserver के बार-बार कॉल किए जाने पर, केवल अंतिम पंजीकृत कॉलबैक फ़ंक्शन को ही बनाए रखा जाता है और निष्पादित किया जाता है [SWS_CRYPT_30404]।
समवर्तीता और त्रुटि प्रबंधन
इंटरफ़ेस थ्रेड-सुरक्षित (thread-safe) है और अपवादों को ट्रिगर किए बिना noexcept के रूप में निर्दिष्ट है [SWS_CRYPT_30404]। यह एक ara::core::Result<void> लौटाता है [SWS_CRYPT_30404]। मानकीकृत एरर मौजूद नहीं हैं; विफलता की स्थिति में एक कार्यान्वयन-विशिष्ट एरर कोड लौटाया जाता है [SWS_CRYPT_30404]। व्याख्या: कॉलबैक फ़ंक्शन का वास्तविक कॉल संभवतः क्रिप्टो ड्राइवर के संदर्भ में एसिंक्रोनस रूप से तब होता है, जैसे ही की-स्टोरेज में अपडेट प्रभावी हो जाता है। प्रश्न Q-cfbcc1ddcbe88062 (खुला)
यह उपयोग नोट AUTOSAR Adaptive R25-11 के विनिर्देश पर आधारित है।
Unregisters any previously UpdateObserver callback that has been registered previously by the application.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: b5edba50839dउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::crypto::cryp::KeySlot की विधि UnregisterUpdateObserver पहले एप्लिकेशन द्वारा पंजीकृत एक ऑब्ज़र्वर कॉलबैक (UpdateObserver) को अपंजीकृत करने का कार्य करती है [SWS_CRYPT_30406]। फ़ंक्शन हेडर ara/crypto/cryp/keyslot.h में घोषित है, एक शुद्ध वर्चुअल विधि (=0) के रूप में डिज़ाइन किया गया है और किसी पासिंग पैरामीटर की अपेक्षा नहीं करता है [SWS_CRYPT_30406]।
कॉल संदर्भ और समवर्तीता के संबंध में, निम्नलिखित सीमा शर्तें लागू होती हैं:
सिंक्रोनस सेमांटिक्स और थ्रेड सुरक्षा: अपंजीकरण समकालिक रूप से होता है और इसे स्पष्ट रूप से थ्रेड-सुरक्षित निर्दिष्ट किया गया है [SWS_CRYPT_30406]। इस प्रकार समान KeySlot इंस्टेंस पर अन्य ऑपरेशनों के साथ समवर्ती और थ्रेड-सुरक्षित रूप से कॉल निष्पादित किए जा सकते हैं।
अपवाद सुरक्षा: विधि में विनिर्देश noexcept है और इसे अपवाद-सुरक्षित माना जाता है [SWS_CRYPT_30406]। इसलिए त्रुटि स्थितियाँ किसी भी स्थिति में C++ अपवादों की ओर नहीं ले जाती हैं, बल्कि रिटर्न ऑब्जेक्ट के माध्यम से व्यवस्थित रूप से प्रबंधित की जाती हैं।
रिटर्न मान के रूप में, फ़ंक्शन एक ara::core::Result<void> प्रदान करता है, जो सफल अपंजीकरण पर खाली होता है या त्रुटि के मामले में एक त्रुटि कोड को एनकैप्सुलेट करता है [SWS_CRYPT_30406]। विनिर्देश जानबूझकर इस कॉल के लिए किसी भी मानकीकृत AUTOSAR त्रुटि कोड को परिभाषित नहीं करता है; इसलिए कोई भी त्रुटि निर्माता- या कार्यान्वयन-विशिष्ट होती है [SWS_CRYPT_30406]। कॉलर्स को त्रुटियों के लिए परिणाम की जांच करनी चाहिए, लेकिन वे मानकीकृत त्रुटि स्थिरांकों के विरुद्ध जांच नहीं कर सकते।
कुंजी प्रबंधन के साथ मिलकर, अपंजीकरण मज़बूती से यह सुनिश्चित करता है कि एप्लिकेशन को कुंजी सामग्री में परिवर्तनों के बारे में आगे की सूचनाएं प्राप्त न हों। यदि कॉल के समय कोई कॉलबैक पंजीकृत नहीं था, तो व्याख्या के अनुसार फ़ंक्शन या तो बिना किसी प्रभाव के सफलतापूर्वक वापस आ जाना चाहिए या कार्यान्वयन-विशिष्ट त्रुटि आउटपुट करनी चाहिए। प्रश्न Q-7a1e7e0db0691ce6 (खुला)
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से बनाया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल