सममितीय कुंजी एन्क्रिप्शन के माध्यम से कुंजियों की सुरक्षित रैपिंग और अनरैपिंग को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 16126e8d9692उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सममितीय कुंजी एन्क्रिप्शन के माध्यम से कुंजियों की सुरक्षित रैपिंग और अनरैपिंग को सक्षम बनाता है।
SymmetricKeyWrapperCtx संदर्भ सममितीय एल्गोरिदम के माध्यम से कुंजियों की क्रिप्टोग्राफ़िक रैपिंग और अनरैपिंग का कार्य करता है। Wrap या UnwrapSymmetricKey के निष्पादन से पहले, संदर्भ को SetKey के माध्यम से एक संगत कुंजी एन्क्रिप्शन कुंजी (KEK) के साथ कॉन्फ़िगर किया जाना चाहिए [SWS_CRYPT_24018]। सभी संचालन शामिल कुंजी ऑब्जेक्ट्स के संगत उपयोग अनुमतियों की अपेक्षा करते हैं और रोलबैक सेमांटिक्स के साथ ara::core::Result के माध्यम से त्रुटियों की रिपोर्ट करते हैं [SWS_CRYPT_24014]। इंटरफ़ेस अपवाद-सुरक्षित है और समवर्ती संचालन के लिए थ्रेड-सुरक्षित के रूप में निर्दिष्ट है।
संदर्भ
SymmetricKeyWrapperCtx वर्ग AUTOSAR Adaptive Platform के भीतर सममितीय कुंजी रैपिंग एल्गोरिदम (Key Wrapping) के लिए मानकीकृत इंटरफ़ेस को परिभाषित करता है। इसका मुख्य उत्तरदायित्व निर्यात के दौरान कुंजियों का क्रिप्टोग्राफ़िक संरक्षण तथा आंतरिक उपयोग के लिए रैप की गई कुंजियों की पुनर्प्राप्ति है। इसमें, वर्ग मुख्य रूप से कुंजी एन्क्रिप्शन कुंजियों (Key Encryption Keys, KEK) के साथ इंटरैक्ट करता है, जो या तो SymmetricKey प्रकार के एक क्षणिक कुंजी ऑब्जेक्ट के रूप में या किसी KeySlot के माध्यम से स्थायी रूप से प्रदान की जाती हैं [SWS_CRYPT_24018], [SWS_CRYPT_50034]। रैप करते समय संदर्भ एक सामान्य CryptoObject स्वीकार करता है [SWS_CRYPT_24014], जबकि अनरैपिंग ऑपरेशन एक नया, उपयोग के लिए तैयार SymmetricKey ऑब्जेक्ट उत्पन्न करता है और वापस लौटाता है [SWS_CRYPT_24016]।
जीवनचक्र
SymmetricKeyWrapperCtx के इंस्टेंसेस टाइप किए गए स्मार्ट पॉइंटर Sptr (std::shared_ptr<SymmetricKeyWrapperCtx> के लिए एक उपनाम) के माध्यम से प्रबंधित किए जाते हैं [SWS_CRYPT_24001]। वास्तविक ऑब्जेक्ट निर्माण एक सक्षम प्रदाता फ़ैक्टरी के माध्यम से होना चाहिए, क्योंकि यह वर्ग विशुद्ध वर्चुअल विधियों वाला एक अमूर्त इंटरफ़ेस प्रस्तुत करता है। प्रश्न Q-7b9a1007da43ddcd (खुला) इंटरफ़ेस के सभी सदस्य फलन अपवाद-सुरक्षित (exception safe) और साथ ही थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट हैं, जो समवर्ती सॉफ्टवेयर घटकों में सुरक्षित उपयोग को सक्षम बनाता है [SWS_CRYPT_24014], [SWS_CRYPT_24016]।
लाइफ़साइकिल में संदर्भ दो मुख्य चरणों से गुज़रता है: इंस्टेंसिएशन के तुरंत बाद यह एक गैर-आरंभीकृत अवस्था में होता है। इस चरण में क्रिप्टोग्राफ़िक संचालन और बफ़र गणनाएँ त्रुटि kUninitializedContext के साथ विफल हो जाती हैं [SWS_CRYPT_50035], [SWS_CRYPT_24014]। केवल एक संगत KEK या KeySlot के साथ SetKey के सफल कॉल द्वारा ही संदर्भ परिचालन-तैयार अवस्था में बदलता है, जिसमें कुंजियों को सुरक्षित रूप से रैप या अनरैप किया जा सकता है [SWS_CRYPT_24018], [SWS_CRYPT_50034]।
उपयोग पथ
किसी कुंजी को रैप करने के सामान्य अनुक्रम के लिए कॉन्फ़िगरेशन, बफ़र सत्यापन और निष्पादन का एक समन्वित क्रम आवश्यक होता है। सबसे पहले एप्लिकेशन संदर्भ को SetKey के माध्यम से वांछित KEK ऑब्जेक्ट [SWS_CRYPT_24018] के साथ कॉन्फ़िगर करता है या एक संगत KeySlot को बाउंड करता है [SWS_CRYPT_50034]। दूसरे चरण में, एप्लिकेशन GetRequiredWrappedKeyBufferSize के माध्यम से रैप किए जाने वाले लक्ष्य ऑब्जेक्ट के लिए आवश्यक अधिकतम आउटपुट बफ़र आकार निर्धारित करता है [SWS_CRYPT_50035]। उचित आयाम वाला मेमोरी क्षेत्र (ReadWriteMemRegion) उपलब्ध कराए जाने के बाद, Wrap का कॉल निष्पादित होता है, जो क्रमबद्ध और एन्क्रिप्टेड कुंजी डेटा को बफ़र में लिखता है और बाइट्स की सटीक संख्या लौटाता है [SWS_CRYPT_24014]।
अनरैपिंग की पूरक प्रक्रिया के लिए, एप्लिकेशन SetKey के माध्यम से कॉन्फ़िगरेशन के बाद रैप किए गए डेटा वाले इनपुट बफ़र को UnwrapSymmetricKey को पास करता है [SWS_CRYPT_24016]। इस प्रक्रिया में, नए बनाए जाने वाले सममितीय कुंजी के लिए लक्ष्य एल्गोरिदम पहचानकर्ता (targetAlgId) और साथ ही अनुमत उपयोग फ़्लैग्स (allowedUsage) को स्पष्ट रूप से निर्धारित किया जाना चाहिए [SWS_CRYPT_24016]।
त्रुटि परिदृश्य
वर्ग की विधियाँ रोलबैक सेमांटिक्स के साथ रिटर्न प्रकार ara::core::Result के माध्यम से त्रुटियों का संकेत देती हैं। मुख्य त्रुटि परिदृश्यों में शामिल हैं:
आरंभीकरण का अभाव: यदि किसी सफल कुंजी असाइनमेंट से पहले GetRequiredWrappedKeyBufferSize, Wrap या UnwrapSymmetricKey को कॉल किया जाता है, तो वे ara::crypto::CryptoErrc::kUninitializedContext लौटाते हैं [SWS_CRYPT_50035], [SWS_CRYPT_24014], [SWS_CRYPT_24016]।
उपयोग अधिकारों का उल्लंघन: KEK सेट करते समय, उसके पास कम से कम kAllowKeyWrapping या kAllowKeyUnwrapping की अनुमति होनी चाहिए, अन्यथा SetKey त्रुटि ara::crypto::CryptoErrc::kUsageViolation के साथ विफल हो जाता है [SWS_CRYPT_24018]। Wrap के मामले में, KEK पर kAllowKeyWrapping का अभाव या रैप की जाने वाली ऑब्जेक्ट पर kAllowSecuredExport का अभाव भी kUsageViolation की ओर ले जाता है [SWS_CRYPT_24014]। अनरैप करते समय, यह जाँचा जाता है कि क्या KEK kAllowKeyUnwrapping की अनुमति देता है [SWS_CRYPT_24016]।
असंगतता और बफ़र त्रुटियाँ: यदि Wrap के लिए लक्ष्य बफ़र बहुत छोटा है, तो ara::crypto::CryptoErrc::kInsufficientCapacity की रिपोर्ट की जाती है [SWS_CRYPT_24014]। त्रुटिपूर्ण कुंजी प्रारूप या असंगत प्रकार ara::crypto::CryptoErrc::kInvalidArgument का कारण बनते हैं [SWS_CRYPT_24014], [SWS_CRYPT_24016]। यदि संदर्भ केवल स्लॉट या केवल कुंजी ऑब्जेक्ट्स का समर्थन करता है, तो SetKey त्रुटि kUnsupported की रिपोर्ट करता है [SWS_CRYPT_24018], [SWS_CRYPT_50034]।
संसाधन संघर्ष और रिक्त स्लॉट: यदि ऑपरेशन किसी व्यस्त संसाधन तक पहुँचता है, तो ara::crypto::CryptoErrc::kBusyResource लौटाया जाता है; यदि संदर्भित KeySlot रिक्त है, तो इसका परिणाम ara::crypto::CryptoErrc::kEmptyKeySlot होता है [SWS_CRYPT_24014], [SWS_CRYPT_24016]।
यह गाइड एक AI द्वारा तैयार की गई थी और पूरी तरह से AUTOSAR विनिर्देश पर आधारित है।
Configure the context to use the provided key as key encryption key.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: d0a83598653dउद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग और सिमेंटिक्स
समकालिक सदस्य फ़ंक्शन SetKeyara::crypto::cryp::SymmetricKeyWrapperCtx के एक इंस्टेंस को इस तरह कॉन्फ़िगर करता है कि पास किया गया ऑब्जेक्ट SymmetricKey::Sptr आगामी कुंजी संचालन के लिए Key Encryption Key (KEK) के रूप में उपयोग किया जाए [SWS_CRYPT_24018]। फ़ंक्शन को noexcept के साथ एक शुद्ध वर्चुअल विधि के रूप में निर्दिष्ट किया गया है और यदि असाइनमेंट सफल रहा हो तो यह एक खाली ara::core::Result<void> लौटाता है [SWS_CRYPT_24018]।
त्रुटि प्रबंधन और रोलबैक
यदि कॉन्फ़िगरेशन के दौरान कोई त्रुटि होती है, तो एक अनिवार्य रोलबैक शब्दार्थ लागू होता है, ताकि संदर्भ की स्थिति अपरिवर्तित रहे [SWS_CRYPT_24018]। संभावित त्रुटि कारणों को ara::crypto::CryptoErrc के त्रुटि कोडों के माध्यम से दर्शाया जाता है:
kIncompatibleObject: पास किया गया कुंजी ऑब्जेक्ट सममित संदर्भ के साथ असंगत है [SWS_CRYPT_24018]।
kUsageViolation: कुंजी के अनुमत उपयोग में न तो kAllowKeyWrapping और न ही kAllowKeyUnwrapping शामिल है [SWS_CRYPT_24018]।
kUnsupported: संदर्भ कार्यान्वयन विशेष रूप से केवल एक KeySlot के माध्यम से एक कुंजी सेट करने का समर्थन करता है [SWS_CRYPT_24018]।
समवर्तीता और परस्पर क्रिया
विधि को thread-safe और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है [SWS_CRYPT_24018]। यदि कुंजियों को स्लॉट के माध्यम से प्रबंधित किया जाता है या संदर्भ विशेष रूप से KeySlots का समर्थन करता है, तो उसी रैपर संदर्भ के लिए KeySlot::Sptr[SWS_CRYPT_50034] के साथ वैकल्पिक ओवरलोड SetKey मौजूद है। यह संदर्भ को Key-Wrapping के निष्पादन समय पर स्लॉट में संग्रहीत कुंजी को लोड करने के लिए कॉन्फ़िगर करता है [SWS_CRYPT_50034]।
यह उपयोग नोट विनिर्देश AUTOSAR Adaptive Platform Release R25-11 पर आधारित है।
Configure the context to use the key stored in the provided KeySlot at the time the key wrapping is performed.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 30d79040bb46उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
वर्चुअल मेथड SetKey संदर्भ ara::crypto::cryp::SymmetricKeyWrapperCtx को इस प्रकार कॉन्फ़िगर करता है कि प्रदान किए गए KeySlot में संग्रहीत कुंजी का उपयोग तब किया जाए जब Key-Wrapping निष्पादित हो [SWS_CRYPT_50034]। यह कॉल पैरामीटर keySlot के रूप में एक KeySlot::Sptr की अपेक्षा करती है, जिसमें एक सममितीय कुंजी होती है [SWS_CRYPT_50034]। फ़ंक्शन को सिंक्रोनस रूप से कॉल किया जाता है, इसे noexcept के साथ घोषित किया गया है और यह एक ara::core::Result<void> लौटाता है [SWS_CRYPT_50034]।
त्रुटि प्रबंधन
त्रुटि की स्थिति में, मेथड रोलबैक सिमेंटिक्स सुनिश्चित करता है और निम्नलिखित त्रुटि परिणामों में से एक लौटाता है [SWS_CRYPT_50034]:
ara::crypto::CryptoErrc::kIncompatibleObject: पास किया गया keySlot इस संदर्भ के साथ असंगत है [SWS_CRYPT_50034]।
ara::crypto::CryptoErrc::kUnsupported: संदर्भ विशेष रूप से एक प्रत्यक्ष SymmetricKey[SWS_CRYPT_50034] सेट करने का समर्थन करता है।
संगामिति
ऑपरेशन थ्रेड-सुरक्षित (thread-safe) है और गारंटीकृत एक्सेप्शन सुरक्षा (exception safe) प्रदान करता है [SWS_CRYPT_50034]।
इंटरैक्शन
यह इंटरफ़ेस SymmetricKeyWrapperCtx के भीतर SymmetricKey::Sptr वाले ओवरलोड SetKey का स्लॉट-आधारित समकक्ष प्रस्तुत करता है, जो एक कुंजी को सीधे Key Encryption Key (KEK) के रूप में बांधता है [SWS_CRYPT_24018]। एनालॉग स्लॉट-आधारित कॉन्फ़िगरेशन फ़ंक्शंस का उपयोग संबंधित क्रिप्टोग्राफ़िक संदर्भों जैसे KeyDerivationFunctionCtx[SWS_CRYPT_50010], KeyEncapsulatorPublicCtx[SWS_CRYPT_50012], VerifierPublicCtx[SWS_CRYPT_50018], MessageAuthnCodeCtx[SWS_CRYPT_50026] और SignerPrivateCtx[SWS_CRYPT_50036] में भी किया जाता है।
यह उपयोग नोट AUTOSAR Adaptive R25-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: fe87df5f5eaeउद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
इंटरफ़ेस ara::crypto::cryp::SymmetricKeyWrapperCtx की विधि UnwrapSymmetricKey पूर्व में सेट की गई Key Encryption Key (KEK) का उपयोग करके एक लपेटी गई कुंजी को डिक्रिप्ट करती है और एक नया SymmetricKey ऑब्जेक्ट लौटाती है [SWS_CRYPT_24016]। पैरामीटर के रूप में, सिंक्रोनस फ़ंक्शन सुरक्षित कुंजी डेटा युक्त इनपुट बफ़र (wrappedKey), लक्ष्य कुंजी के लिए एल्गोरिदम पहचानकर्ता (targetAlgId) और इसके अनुमत रूपांतरण प्रकारों के लिए बिट-फ़्लैग (allowedUsage) स्वीकार करता है [SWS_CRYPT_24016]।
रिटर्न मान ara::core::Result<SymmetricKey::Sptr> में सफल निष्पादन पर उत्पन्न कुंजी के लिए एक स्मार्ट पॉइंटर शामिल होता है या यह रोलबैक सिमेंटिक्स के साथ एक त्रुटि का संकेत देता है [SWS_CRYPT_24016]। संभावित त्रुटि कारणों में शामिल हैं:
InvalidArgument: wrappedKey में पास किया गया कुंजी डेटा अनपैक नहीं किया जा सकता है, उदाहरण के लिए किसी अमान्य प्रारूप या गलत बफ़र आकार के कारण [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kUninitializedContext: रैपर संदर्भ को अभी तक किसी उपयुक्त KEK के साथ प्रारंभ नहीं किया गया है [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kUsageViolation: KEK के उपयोग प्रतिबंध अनपैक करने पर रोक लगाते हैं (kAllowKeyUnwrapping का अभाव) [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kUnknownIdentifier: targetAlgId के लिए पास किया गया मान ज्ञात नहीं है या समर्थित नहीं है [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kIncompatibleArguments: निर्दिष्ट allowedUsage फ़्लैग targetAlgId या कुंजी प्रकार के साथ असंगत हैं [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kBusyResource: ऑपरेशन के लिए आवश्यक सिस्टम संसाधन वर्तमान में व्यस्त है [SWS_CRYPT_24016]।
ara::crypto::CryptoErrc::kEmptyKeySlot: ऑपरेशन के लिए कॉन्फ़िगर किया गया KeySlot रिक्त है [SWS_CRYPT_24016]।
विधि को const और noexcept के रूप में घोषित किया गया है, यह अपवाद सुरक्षा की गारंटी देती है और विनिर्देश के अनुसार समवर्ती कॉल के लिए थ्रेड-सुरक्षित (thread-safe) है [SWS_CRYPT_24016]।
यह पाठ AI द्वारा तैयार किया गया था और मार्गदर्शन के रूप में कार्य करता है। विनिर्देश ही प्रामाणिक है।
Wrap the provided key using the previously set key encryption key.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 8e6ff8198c9dउद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
क्लास ara::crypto::cryp::SymmetricKeyWrapperCtx (हेडर फ़ाइल ara/crypto/cryp/symmetric_key_wrapper_ctx.h) की विधि Wrap पूर्व में सेट किए गए कुंजी एन्क्रिप्शन कुंजी (Key Encryption Key - KEK) का उपयोग करके प्रदान की गई कुंजी को लपेटती है [SWS_CRYPT_24014]।
सिंक्रोनस फ़ंक्शन निम्नलिखित पैरामीटर्स की अपेक्षा करता है [SWS_CRYPT_24014]:
key (CryptoObject::Sptr): लपेटी जाने वाली कुंजी।
wrappedKey (ReadWriteMemRegion): एक आउटपुट बफ़र, जिसमें लपेटी गई कुंजी लिखी जाती है।
रिटर्न मान के रूप में, ऑपरेशन एक ara::core::Result<std::size_t> प्रदान करता है, जिसमें सफलता की स्थिति में बफ़र में लिखी गई लपेटी गई कुंजी के बाइट्स की संख्या शामिल होती है [SWS_CRYPT_24014]।
त्रुटि प्रबंधन और सिमेंटिक्स
विधि को exception safe के रूप में परिभाषित किया गया है और यह त्रुटि स्थितियों के लिए सख्त रोलबैक सिमेंटिक्स लागू करती है [SWS_CRYPT_24014]। निम्नलिखित त्रुटि स्थितियाँ रिपोर्ट की जा सकती हैं [SWS_CRYPT_24014]:
InvalidArgument: कुंजी ऑब्जेक्ट को लपेटा नहीं जा सकता (उदा. अमान्य आकार या गलत प्रकार के कारण)।
ara::crypto::CryptoErrc::kUninitializedContext: संदर्भ को अभी तक किसी कुंजी मान के साथ प्रारंभ नहीं किया गया है।
ara::crypto::CryptoErrc::kUsageViolation: KEK के अनुमत उपयोग में kAllowKeyWrapping शामिल नहीं है या ऑब्जेक्ट के उपयोग में kAllowSecuredExport शामिल नहीं है।
ara::crypto::CryptoErrc::kInsufficientCapacity: आउटपुट बफ़र wrappedKey बहुत छोटा है।
ara::crypto::CryptoErrc::kBusyResource: एक आवश्यक संसाधन व्यस्त है।
ara::crypto::CryptoErrc::kEmptyKeySlot: एक कॉन्फ़िगर किया गया KeySlot वर्तमान में खाली है।
समवर्तीता और प्रतिबंध
इंटरफ़ेस को thread-safe के रूप में निर्दिष्ट किया गया है [SWS_CRYPT_24014]। निष्पादन के लिए पूर्वपेक्षा एक पूर्व-प्रारंभीकृत संदर्भ और संबंधित कुंजियों के उपयुक्त उपयोग विशेषताएँ हैं [SWS_CRYPT_24014]।
यह उपयोग नोट AUTOSAR Adaptive R25-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
rollback_semantics if the allowed usage of the KEK does not include kAllowKey Wrapping or the allowed usage of the object does not include k AllowSecuredExport
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल