Key Manager (KeyM)
Manages lifecycle, storage, and distribution of cryptographic keys and certificates.
Funktionen — Übersicht
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);This function initializes the key management module.void KeyM_Deinit (void);This function resets the key management module to the uninitialized state.void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);Provides the version information of this module.Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true.Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is used to prepare a key update operation.Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);The function is used to finalize key update operations.Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);This function provides the certificate data to the key managem ent module to temporarily store the certificate.Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);This function provides the certificate dataStd_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);This function verifies two certificates that are stored and parsed internally against each other.Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);Service KeyM_VerifyCertificate.Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);Service KeyM_VerifyCertificateChain.Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGet.Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);Service KeyM_CertificateElementGetByIndex.Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);This function provides the total number of data elements that a re available for the specified certificate element.Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetFirst.Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetNext.Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);This function provides the sta tus of a certificate.void KeyM_MainFunction (void);Function is called periodically according the specified time interval.void KeyM_MainBackgroundFunction (void);Function is called from a pre - emptive operating system when no other task operation is needed.Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto KeyStd_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both...Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this...void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key update operation has been finished.void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Service KeyM_CryptoKeyFinalizeCallbackNotification.void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key verify operation has been finished.void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that the certificate service operation has been finished.Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);Notifies the application that a certificate verification has been finished.
Typen — Übersicht
struct KeyM_ConfigTypeThis structure is the base type to initialize the Key Manager module.KeyM_KH_UpdateOperationTypeSpecifies the type of key handler update operation that was performed in the callback.struct KeyM_CertElementIteratorTypeThis structure is used to iterate through a number of elements of a certificate.KeyM_CryptoKeyIdTypeCrypto key handle.KeyM_CertDataPointerTypeByte - pointer to the data of the certificateKeyM_StartTypeThis type specifies in which mode the key operation will start.KeyM_CertElementIdTypeCertificate Element handle.KeyM_CertificateIdTypeCertificate handle.KeyM_ServiceCertificateTypeThis type specifies the requested service operation and what information is provided with this function.MaxArray long enough to store the key or certificate name.enum KeyM_CertificateStatusTypeType KeyM_CertificateStatusType.KeyM_CertificateElementTypeArray long enough to store dataKeyM_CryptoKeyDataTypeByte - pointer to the input or output dataenum KeyM_ResultTypeSpecifies the result type of an asynchronous key management fu nction.struct KeyM_CertDataTypeThis structure is used to exchange certificate data through interface functions.
Funktionen & Typen — Detailansicht
फ़ंक्शन KeyM_Init [SWS_KeyM_00043] 📄 PDF
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);
This function initializes the key management module.
फ़ंक्शन KeyM_Init कुंजी प्रबंधन मॉड्यूल ([SWS_KeyM_00043]) के इनिशियलाइज़ेशन का काम करता है। कॉल समकालिक है और इसे गैर-पुनःप्रवेशी ([SWS_KeyM_00043]) के रूप में परिभाषित किया गया है। एकमात्र पास पैरामीटर के रूप में ConfigPtr अपेक्षित है, जो VARIANT-POST-BUILD के लिए कॉन्फ़िगरेशन डेटा सेट का एक पॉइंटर प्रस्तुत करता है; फ़ंक्शन का कोई रिटर्न मान नहीं है ([SWS_KeyM_00043])।
अन्य मॉड्यूल फ़ंक्शनों के साथ पारस्परिक क्रिया के संबंध में, KeyM_Init एक अनिवार्य पूर्व शर्त प्रस्तुत करता है: सक्रिय विकास पहचान के साथ, Key Manager के अन्य सभी फ़ंक्शन जाँचते हैं कि क्या मॉड्यूल पहले KeyM_Init के माध्यम से आरंभ किया गया था और अभी तक KeyM_Deinit के माध्यम से डी-आरंभ नहीं किया गया है ([SWS_KeyM_00144])। यदि किसी मॉड्यूल फ़ंक्शन को गैर-आरंभीकृत स्थिति में कॉल किया जाता है, तो Key Manager विकास त्रुटि KEYM_E_UNINIT की रिपोर्ट करता है ([SWS_KeyM_00144])।
चूंकि KeyM_Init को गैर-पुनःप्रवेशी के रूप में निर्दिष्ट किया गया है ([SWS_KeyM_00043]), सिस्टम आरंभीकरण चरण में फ़ंक्शन को केवल एक बार और समवर्ती कॉलों के अपवर्जन के तहत निष्पादित किया जाना चाहिए। सफल निष्पादन के बाद मॉड्यूल हेडर फ़ाइल KeyM.h के माध्यम से उपलब्ध होता है ([SWS_KeyM_00043])।
यह उपयोग नोट AUTOSAR विनिर्देश पेलोड के आधार पर स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_Deinit [SWS_KeyM_00047] 📄 PDF
void KeyM_Deinit (void);
This function resets the key management module to the uninitialized state.
फ़ंक्शन KeyM_Deinit Key Manager मॉड्यूल को पुनः अन-इनिशियलाइज़्ड स्थिति में रीसेट करने का कार्य करता है ([SWS_KeyM_00047])।
उपयोग और कॉल संदर्भ
KeyM_Deinit का कॉल तुल्यकालिक रूप से होता है और इसे गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है। फ़ंक्शन की सर्विस-ID 0x02 है, यह कोई पैरामीटर स्वीकार नहीं करता है और कोई रिटर्न मान नहीं देता है ([SWS_KeyM_00047])।
समवर्तीता और परस्पर क्रिया
गैर-reentrancy के कारण, KeyM_Deinit को स्वयं के समवर्ती या चल रहे ऑपरेशनों के विरोध में कॉल नहीं किया जाना चाहिए। इस डी-इनिशियलाइज़ेशन के निष्पादन के बाद, मॉड्यूल अन-इनिशियलाइज़्ड स्थिति में होता है। यदि Development त्रुटियाँ सक्षम हैं, तो Key Manager प्रत्येक बाद के फ़ंक्शन कॉल पर जाँच करता है कि मॉड्यूल पहले KeyM_Init() के माध्यम से इनिशियलाइज़ किया गया था और अभी तक KeyM_Deinit() के माध्यम से डी-इनिशियलाइज़ नहीं किया गया है; अन्यथा डेवलपमेंट त्रुटि KEYM_E_UNINIT की रिपोर्ट की जाती है ([SWS_KeyM_00144])।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_GetVersionInfo [SWS_KeyM_00049] 📄 PDF
void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
Provides the version information of this module.
फ़ंक्शन KeyM_Start [SWS_KeyM_00050] 📄 PDF
Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true. It intents to allow key update operation.
सिंक्रोनस फ़ंक्शन KeyM_Start Key Manager में कुंजी अद्यतन संचालन को सक्षम करने के लिए कार्य करता है ([SWS_KeyM_00050])। यह वैकल्पिक है और केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर KeyMCryptoKeyStartFinalizeFunctionEnabled को true पर कॉन्फ़िगर किया गया हो (AUTOSAR_SWS_KeyManager पृ. 35)। फ़ंक्शन KeyM.h के माध्यम से प्रदान किया जाता है और StartType के माध्यम से निष्पादित किए जाने वाले ऑपरेटिंग मोड के साथ-साथ Request Data और Request Data Length के माध्यम से अतिरिक्त अनुरोध डेटा जैसे हस्ताक्षर की अपेक्षा करता है।
प्रतिक्रिया डेटा आउटपुट बफ़र Response Data के माध्यम से वापस लौटाया जाता है। पैरामीटर Response Data Length इनपुट और आउटपुट पैरामीटर के रूप में कार्य करता है: कॉल से पहले यह बफ़र में उपलब्ध बाइट्स की अधिकतम संख्या को परिभाषित करता है, निष्पादन के बाद इसमें वास्तव में लिखी गई डेटा लंबाई शामिल होती है ([SWS_KeyM_00050])।
त्रुटि प्रबंधन और रिटर्न मान:
E_OK: स्टार्ट ऑपरेशन सफलतापूर्वक निष्पादित; कुंजी अद्यतन अब अनुमत हैं।E_NOT_OK: स्टार्ट ऑपरेशन स्वीकार नहीं किया गया।KEYM_E_PARAMETER_MISMATCH: पास किए गए पैरामीटर अपेक्षित मानों से मेल नहीं खाते हैं।KEYM_E_KEY_CERT_SIZE_MISMATCH: पास किया गया पैरामीटर आकार अपेक्षित आकार से मेल नहीं खाता है।
फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_KeyM_00050])। चूंकि किसी आंतरिक मॉड्यूल इंटरलॉकिंग का वर्णन नहीं किया गया है, इसलिए कॉलर को समन्वित, क्रमिक (सीरियलाइज़्ड) निष्पादन सुनिश्चित करना पड़ सकता है। प्रश्न Q-82276b712a8dd170 (खुला)
यह पाठ AUTOSAR R20-11 के आधार पर स्वचालित रूप से उत्पन्न हुआ था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_Prepare [SWS_KeyM_00051] 📄 PDF
Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is used to prepare a key update operation. The main intent is to provide information for the key operation to the key server. Other operations may start the negotiation for a common secret that is used further to derive key material. This function is only av ailable if Key MCrypto Key Prepare Function Enabled is set to TRUE.
सिंक्रोनस फ़ंक्शन KeyM_Prepare एक कुंजी अद्यतन ऑपरेशन (Key Update Operation) तैयार करने के लिए कार्य करता है और कुंजी सर्वर को आवश्यक जानकारी प्रेषित करता है या कुंजी व्युत्पत्ति (की डेरिवेशन) के लिए एक साझा रहस्य की बातचीत शुरू करता है [SWS_KeyM_00051]। फ़ंक्शन में सर्विस-ID 0x05 है, हेडर KeyM.h के माध्यम से घोषित है और केवल तभी उपलब्ध है जब कॉन्फ़िगरेशन पैरामीटर Key MCrypto Key Prepare Function Enabled TRUE पर सेट हो [SWS_KeyM_00051]।
कॉल करते समय निम्नलिखित बफ़र और लंबाई विनिर्देश पास किए जाने हैं [SWS_KeyM_00051]:
Request DataऔरRequest Data Length: अनुरोध के लिए इनपुट डेटा और उसकी लंबाई [SWS_KeyM_00051]।Response Data: आउटपुट डेटा प्राप्त करने के लिए बफ़र का पॉइंटर [SWS_KeyM_00051]।Response Data Length: इनपुट/आउटपुट पैरामीटर, जो कॉल से पहले अधिकतम उपलब्ध बफ़र आकार को इंगित करता है और वापसी पर वास्तव में लिखी गई बाइट गणना शामिल करता है [SWS_KeyM_00051]।
यदि कॉल को E_OK के साथ स्वीकार किया जाता है, तो सेवा स्वीकार कर ली गई है और आंतरिक रूप से संसाधित की जाती है; अंतिम परिणाम बाद में कॉलबैक के माध्यम से प्रदान किए जाते हैं [SWS_KeyM_00051]। यदि स्वीकृति विफल हो जाती है, तो फ़ंक्शन आंतरिक त्रुटियों के लिए E_NOT_OK, भिन्न पैरामीटर मानों के लिए KEYM_E_PARAMETER_MISMATCH या अनुपयुक्त आकार विनिर्देशों के लिए KEYM_E_KEY_CERT_SIZE_MISMATCH वापस करता है [SWS_KeyM_00051]।
चूंकि KeyM_Prepare को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है, इसलिए कोई समवर्ती या नेस्टेड कॉल नहीं होने चाहिए [SWS_KeyM_00051]।
यह पाठ AUTOSAR R20-11 विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_Finalize [SWS_KeyM_00053] 📄 PDF
Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);
The function is used to finalize key update operations. It is typi cally used in conjunction with the Key M_
फ़ंक्शन KeyM_Finalize कुंजियों के लिए अद्यतन प्रक्रियाओं को पूरा करता है और कुंजी संचालन को निष्क्रिय मोड (Idle मोड) में वापस स्थानांतरित करता है [SWS_KeyM_00053]। यह आमतौर पर पिछले KeyM_Start ऑपरेशन के संयोजन में उपयोग किया जाता है। कॉल के बाद, मॉड्यूल आगे की तैयारी या अद्यतन संचालन (Prepare/Update) को तब तक स्वीकार नहीं करता जब तक कि KeyM_Start के माध्यम से एक नया अनुक्रम शुरू नहीं किया जाता है [SWS_KeyM_00053]। इसके अतिरिक्त, अद्यतन की गई कुंजी सामग्री को सहेजा जाता है और Csm_KeySetValid के कॉल द्वारा मान्य स्थिति में स्थानांतरित किया जाता है [SWS_KeyM_00053]।
उपयोग और समवर्तीता: KeyM_Finalize गैर-पुनःप्रवेशी (Non Reentrant) है और अतुल्यकालिक रूप से (asynchronously) काम करता है [SWS_KeyM_00053]। व्याख्या: पुनःप्रवेश्यता की कमी के कारण, कॉल आमतौर पर टास्क संदर्भ में होने की संभावना है। प्रश्न Q-895ebec2d0d2e635 (खुला) इंटरफ़ेस केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर KeyMCryptoKeyStartFinalizeFunctionEnabled TRUE पर सेट हो, और यह KeyM.h के माध्यम से घोषित किया गया हो [SWS_KeyM_00053]।
पैरामीटर और रिटर्न मान: अनुरोध-विशिष्ट डेटा RequestDataPtr और RequestDataLength के माध्यम से पास किया जाता है। प्रतिक्रिया डेटा ResponseDataPtr के माध्यम से प्रदान किया जाता है; ResponseMaxDataLength शुरुआत में बफ़र आकार के रूप में कार्य करता है और सिंक्रोनस रिटर्न पर वास्तविक बाइट गणना प्रदान करता है [SWS_KeyM_00053]। यदि ऑपरेशन स्वीकार किया जाता है और आंतरिक रूप से संसाधित किया जाता है, तो फ़ंक्शन E_OK लौटाता है (परिणाम कॉलबैक के माध्यम से अतुल्यकालिक रूप से अनुसरण करते हैं) और ResponseMaxDataLength अछूता रहता है [SWS_KeyM_00053]।
त्रुटि हैंडलिंग: त्रुटि की स्थिति में, KeyM_Finalize विशिष्ट रिटर्न मानों के माध्यम से विफलता का संकेत देता है [SWS_KeyM_00053]:
E_NOT_OK: आंतरिक त्रुटि के कारण ऑपरेशन स्वीकार नहीं किया गया।KEYM_E_BUSY: KeyM अन्य आदेशों में व्यस्त है; सत्यापन अभी तक नहीं किया जा सकता है।KEYM_E_PARAMETER_MISMATCH: पैरामीटर अपेक्षित मान से मेल नहीं खाते हैं।KEYM_E_KEY_CERT_SIZE_MISMATCH: पैरामीटर आकार मेल नहीं खाता है।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_SetCertificate [SWS_KeyM_00057] 📄 PDF
Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data to the key managem ent module to temporarily store the certificate.
उपयोग
सिंक्रोनस फ़ंक्शन KeyM_SetCertificate एक प्रमाणपत्र को अस्थायी रूप से संग्रहीत करने के लिए कुंजी प्रबंधन मॉड्यूल को प्रमाणपत्र डेटा पास करता है [SWS_KeyM_00057]। यह इनपुट पैरामीटर के रूप में प्रमाणपत्र पहचानकर्ता CertId (प्रकार KeyM_CertificateIdType) के साथ-साथ पॉइंटर CertificateDataPtr (प्रकार const KeyM_CertDataType*) की अपेक्षा करता है, जो प्रदान की जाने वाली प्रमाणपत्र संरचना को संदर्भित करता है [SWS_KeyM_00057]। इंटरफ़ेस हेडर KeyM.h के माध्यम से घोषित किया गया है और इसकी सर्विस-ID 0x0a है [SWS_KeyM_00057]।
रिटर्न मान और त्रुटि प्रबंधन
प्रकार Std_ReturnType का रिटर्न मान डेटा की स्वीकृति के बारे में जानकारी प्रदान करता है [SWS_KeyM_00057]:
E_OK: प्रमाणपत्र सफलतापूर्वक स्वीकार कर लिया गया [SWS_KeyM_00057]।E_NOT_OK: प्रमाणपत्र सेट नहीं किया जा सका [SWS_KeyM_00057]।KEYM_E_PARAMETER_MISMATCH: पास किए गए पैरामीटर अपेक्षित मानों से मेल नहीं खाते हैं [SWS_KeyM_00057]।KEYM_E_KEY_CERT_SIZE_MISMATCH: पास किए गए प्रमाणपत्र डेटा का आकार अपेक्षित आकार से भिन्न है [SWS_KeyM_00057]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_KeyM_00057]। इसलिए समवर्ती कॉलों को कॉलर द्वारा सिंक्रनाइज़ या बहिष्कृत किया जाना चाहिए। चूंकि विनिर्देश स्पष्ट रूप से अस्थायी भंडारण प्रदान करता है, इसलिए पास किया गया प्रमाणपत्र डेटा संभवतः स्थायी भंडारण या सत्यापन होने से पहले मॉड्यूल की अस्थिर मेमोरी में बना रहता है। प्रश्न Q-c35c4b02344d5bc9 (खुला)
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_GetCertificate [SWS_KeyM_00058] 📄 PDF
Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data
उपयोग
सिंक्रोनस फ़ंक्शन KeyM_GetCertificate एक निर्दिष्ट प्रमाणपत्र पहचानकर्ता के लिए प्रमाणपत्र डेटा प्रदान करने का काम करता है [SWS_KeyM_00058]। कॉलर पैरामीटर CertId के माध्यम से वांछित प्रमाणपत्र का पहचानकर्ता और इनआउट पैरामीटर CertificateDataPtr के माध्यम से प्रमाणपत्र डेटा संरचना के लिए एक पॉइंटर पास करता है। कॉलर वह बफ़र उपलब्ध कराने के लिए ज़िम्मेदार है, जिसकी ओर संरचना में पॉइंटर इंगित करता है [SWS_KeyM_00058]। कॉल करने से पहले, संरचना में इस बफ़र की अधिकतम लंबाई निर्दिष्ट होनी चाहिए; सफल वापसी (E_OK) पर, लंबाई फ़ील्ड में प्रदान किए गए प्रमाणपत्र डेटा की वास्तविक लंबाई होती है [SWS_KeyM_00058]।
त्रुटि प्रबंधन
फ़ंक्शन Std_ReturnType प्रकार के रिटर्न मान के माध्यम से सफलता या विशिष्ट त्रुटियों का संकेत देता है [SWS_KeyM_00058]:
E_OK: प्रमाणपत्र डेटा उपलब्ध है और सफलतापूर्वक पास कर दिया गया है।KEYM_E_PARAMETER_MISMATCH: पास की गई प्रमाणपत्र ID (CertId) अमान्य है।KEYM_E_KEY_CERT_SIZE_MISMATCH: प्रदान किया गया बफ़र प्रमाणपत्र के लिए बहुत छोटा है।KEYM_E_KEY_CERT_EMPTY: कोई प्रमाणपत्र डेटा मौजूद नहीं है, क्योंकि प्रमाणपत्र स्लॉट खाली है।KEYM_E_KEY_CERT_READ_FAIL: प्रमाणपत्र प्रदान नहीं किया जा सकता, क्योंकि एक्सेस अस्वीकार कर दिया गया था।E_NOT_OK: आंतरिक त्रुटि के कारण ऑपरेशन स्वीकार नहीं किया गया।
समवर्तीता और प्रतिबंध
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और यह हेडर फ़ाइल KeyM.h के माध्यम से उपलब्ध है [SWS_KeyM_00058]। इसलिए कॉलर को यह सुनिश्चित करना होगा कि फ़ंक्शन के समानांतर कॉल एक-दूसरे के विरुद्ध सिंक्रनाइज़ किए जाएं।
यह पाठ AI द्वारा जनरेट किया गया है और मार्गदर्शन के रूप में कार्य करता है। आधिकारिक AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_VerifyCertificates [SWS_KeyM_00059] 📄 PDF
Std_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);
This function verifies two certificates that are stored and parsed internally against each other. The certificat e referenced with Cert Id was signed by the certificate referenced with cert Upper Id. Only these two certificates are validated against each other.
फ़ंक्शन KeyM_VerifyCertificates [SWS_KeyM_00059] के अनुसार आंतरिक रूप से संग्रहीत और पार्स किए गए दो प्रमाणपत्रों के एक दूसरे के विरुद्ध अतुल्यकालिक सत्यापन का कार्य करता है। इस प्रक्रिया में यह सत्यापित किया जाता है कि क्या CertId के माध्यम से संदर्भित अधीनस्थ प्रमाणपत्र पर CertUpperId के माध्यम से संदर्भित उच्च-स्तरीय प्रमाणपत्र द्वारा हस्ताक्षर किए गए हैं।
चूँकि सेवा को गैर-reentrant (Non Reentrant) के रूप में परिभाषित किया गया है, इसलिए इसे अतिव्यापी प्रक्रियाओं के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_KeyM_00059]। निष्पादन पृष्ठभूमि में अतुल्यकालिक रूप से होता है: E_OK का रिटर्न मान केवल सत्यापन कार्य की सफल स्वीकृति का संकेत देता है। वास्तविक सत्यापन परिणाम कॉलर को कॉन्फ़िगर किए गए कॉलबैक फ़ंक्शन KeyMCertificateVerifyCallbackNotificationFunc के माध्यम से सूचित किया जाता है, बशर्ते यह मान्य रूप से कॉन्फ़िगर किया गया हो [SWS_KeyM_00153]।
यदि अनुरोध स्वीकार नहीं किया जाता है, तो फ़ंक्शन त्रुटि प्रबंधन के लिए विशिष्ट रिटर्न मान प्रदान करता है [SWS_KeyM_00059]:
KEYM_E_BUSY: Key Manager अन्य कार्यों में व्यस्त है; इस समय सत्यापन शुरू नहीं किया जा सकता है।KEYM_E_PARAMETER_MISMATCH: पास की गई कम से कम एक प्रमाणपत्र-ID अमान्य है।KEYM_E_KEY_CERT_EMPTY: संदर्भित प्रमाणपत्र स्लॉटों में से एक खाली है।KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: उच्च-स्तरीय प्रमाणपत्र (CertUpperId) मान्य नहीं है।E_NOT_OK: आंतरिक त्रुटि के कारण कार्य अस्वीकार कर दिया गया था।
यह पाठ एक AI द्वारा जनरेट किया गया था और AUTOSAR विनिर्देश के आधार पर तकनीकी मार्गदर्शन का कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_VerifyCertificate [SWS_KeyM_00060] 📄 PDF
Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);
Service KeyM_VerifyCertificate.
फ़ंक्शन KeyM_VerifyCertificate ऐसे प्रमाणपत्र के एसिंक्रोनस सत्यापन का काम करता है जिसे पहले KeyM_SetCertificate() के माध्यम से प्रदान किया गया था [SWS_KeyM_00060]। यह जाँच पास किए गए प्रमाणपत्र पहचानकर्ता CertId के आधार पर Key Manager में अन्य प्रमाणपत्र-IDs के पहले से संग्रहीत प्रमाणपत्रों के विरुद्ध की जाती है [SWS_KeyM_00060]। डिक्लेरेशन हेडर फ़ाइल KeyM.h के माध्यम से उपलब्ध है [SWS_KeyM_00060]।
कॉल सिमेंटिक्स और रिटर्न मान
E_OK का रिटर्न मान इस बात की पुष्टि करता है कि सत्यापन अनुरोध सफलतापूर्वक स्वीकार कर लिया गया है और ऑपरेशन बैकग्राउंड में निष्पादित किया जा रहा है [SWS_KeyM_00060]। यदि कार्य स्वीकार नहीं किया जा सकता है, तो फ़ीडबैक विशिष्ट त्रुटि कोड के माध्यम से सिंक्रोनस रूप से दिया जाता है [SWS_KeyM_00060]:
E_NOT_OK: आंतरिक त्रुटि के कारण ऑपरेशन अस्वीकार कर दिया गया था [SWS_KeyM_00060]।KEYM_E_BUSY: KeyM मॉड्यूल वर्तमान में अन्य कार्यों में व्यस्त है, जिससे सत्यापन अभी निष्पादित नहीं किया जा सकता है [SWS_KeyM_00060]।KEYM_E_PARAMETER_MISMATCH: पास की गईCertIdअमान्य है [SWS_KeyM_00060]।KEYM_E_KEY_CERT_EMPTY: आवश्यक प्रमाणपत्र स्लॉटों में से कम से कम एक खाली है [SWS_KeyM_00060]।KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: ट्रस्ट चेन में एक उच्च-स्तरीय प्रमाणपत्र अमान्य है [SWS_KeyM_00060]।
कॉनकरेंसी और असिंक्रोनस प्रकृति
चूँकि KeyM_VerifyCertificate को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है, इसलिए कॉलर को यह सुनिश्चित करना होगा कि कोई समवर्ती या व्यवधान डालने वाले कॉल न हों [SWS_KeyM_00060]। सत्यापन अनुरोध के सफल स्वीकृति (वापसी E_OK) के बाद, बैकग्राउंड ऑपरेशन का परिणाम कॉन्फ़िगर किए गए कॉलबैक फ़ंक्शन KeyMCertificateVerifyCallbackNotificationFunc को प्रेषित किया जाता है, बशर्ते उसे एक मान्य फ़ंक्शन नाम दिया गया हो [SWS_KeyM_00153]।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_VerifyCertificateChain [SWS_KeyM_00061] 📄 PDF
Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);
Service KeyM_VerifyCertificateChain.
फ़ंक्शन KeyM_VerifyCertificateChain पास किए गए प्रमाणपत्रों की एक श्रृंखला के विरुद्ध किसी प्रमाणपत्र के अतुल्यकालिक सत्यापन का कार्य करता है [SWS_KeyM_00061]। पैरामीटर के रूप में श्रृंखला के अंतिम प्रमाणपत्र का पहचानकर्ता (CertId), PKI क्रम के अनुसार क्रमबद्ध प्रमाणपत्र ऐरे का एक पॉइंटर (certChainData) और प्रमाणपत्रों की संख्या (NumberOfCertificates) पास किए जाते हैं [SWS_KeyM_00061]। कॉल करने से पहले, सत्यापित किए जाने वाले प्रमाणपत्र को KeyM_SetCertificate() के माध्यम से पंजीकृत किया जाना चाहिए, और रूट प्रमाणपत्र या तो सूची में शामिल होना चाहिए या पहले से ही अन्य प्रमाणपत्रों में से किसी एक को सौंपा गया होना चाहिए [SWS_KeyM_00061]।
फ़ंक्शन गैर-reentrant (Non Reentrant) है और हेडर फ़ाइल KeyM.h के माध्यम से प्रदान किया जाता है [SWS_KeyM_00061]। निम्नलिखित तुल्यकालिक रिटर्न मान कार्य स्वीकृति की स्थिति दर्शाते हैं [SWS_KeyM_00061]:
E_OK: सत्यापन कार्य स्वीकार कर लिया गया है और पृष्ठभूमि में निष्पादित किया जाएगा [SWS_KeyM_00061]।E_NOT_OK: आंतरिक त्रुटि के कारण कार्य अस्वीकार कर दिया गया था [SWS_KeyM_00061]।KEYM_E_BUSY: मॉड्यूल अन्य कार्यों में व्यस्त है; सत्यापन अभी निष्पादित नहीं किया जा सकता है [SWS_KeyM_00061]।KEYM_E_PARAMETER_MISMATCH: पास की गई प्रमाणपत्र-ID अमान्य है [SWS_KeyM_00061]।KEYM_E_KEY_CERT_EMPTY: आवश्यक प्रमाणपत्र स्लॉटों में से एक खाली है [SWS_KeyM_00061]।KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: ट्रस्ट चेन में एक उच्च-स्तरीय प्रमाणपत्र अमान्य है [SWS_KeyM_00061]।
यदि कार्य E_OK के साथ स्वीकार कर लिया गया था, तो मूल्यांकन पृष्ठभूमि में होता है। यदि KeyMCertificateVerifyCallbackNotificationFunc को एक मान्य फ़ंक्शन के साथ कॉन्फ़िगर किया गया है, तो KeyM इस कॉलबैक फ़ंक्शन के माध्यम से कॉलिंग एप्लिकेशन को सत्यापन ऑपरेशन का अंतिम परिणाम रिपोर्ट करता है [SWS_KeyM_00061] [SWS_KeyM_00153]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertElementGet [SWS_KeyM_00063] 📄 PDF
Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGet.
उपयोग और कॉल संदर्भ
सिंक्रोनस फ़ंक्शन KeyM_CertElementGet किसी प्रमाणपत्र स्लॉट से कॉलर द्वारा प्रदान किए गए बफ़र में किसी विशिष्ट प्रमाणपत्र तत्व के डेटा को पढ़ने का काम करता है [SWS_KeyM_00063]। इसका उपयोग तब किया जाता है जब प्रमाणपत्र कॉन्फ़िगरेशन में संग्रहीत ऑब्जेक्ट पहचानकर्ता (OID) के साथ ठीक एक तत्व संबद्ध होता है [SWS_KeyM_00063]।
कॉलर प्रमाणपत्र पहचानकर्ता CertId, तत्व पहचानकर्ता CertElementId और लक्ष्य बफ़र का एक पॉइंटर CertElementData पास करता है [SWS_KeyM_00063]। पैरामीटर CertElementDataLength एक संयुक्त इनपुट और आउटपुट मान के रूप में कार्य करता है: कॉल से पहले इसमें अधिकतम बफ़र आकार होना चाहिए। सफलता की स्थिति में (E_OK), इसे लिखे गए डेटा की वास्तविक लंबाई से ओवरराइट कर दिया जाता है; त्रुटि की स्थिति में, फ़ंक्शन संदर्भित मान को शून्य पर रीसेट कर देता है [SWS_KeyM_00063]।
त्रुटि प्रबंधन और रिटर्न मान
फ़ंक्शन निम्नलिखित रिटर्न मानों के माध्यम से निष्पादन स्थिति की रिपोर्ट करता है [SWS_KeyM_00063]:
E_OK: तत्व मिल गया और सफलतापूर्वक बफ़र में कॉपी कर दिया गया [SWS_KeyM_00063]।E_NOT_OK: तत्व डेटा नहीं मिला [SWS_KeyM_00063]।KEYM_E_PARAMETER_MISMATCH: अमान्यCertIdयाCertElementId[SWS_KeyM_00063]।KEYM_E_KEY_CERT_SIZE_MISMATCH: प्रदान किया गया बफ़र तत्व के डेटा के लिए बहुत छोटा है [SWS_KeyM_00063]।KEYM_E_KEY_CERT_EMPTY: निर्दिष्ट स्लॉट के लिए कोई डेटा मौजूद नहीं है, स्लॉट खाली है [SWS_KeyM_00063]।KEYM_E_KEY_CERT_INVALID: प्रमाणपत्र अमान्य है या अभी तक सत्यापित नहीं हुआ है [SWS_KeyM_00063]।
संगामिति
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_KeyM_00063]। इसलिए, अलग-अलग टास्क या संदर्भों से समवर्ती कॉल होने पर कॉलर-साइड सिंक्रोनाइज़ेशन आवश्यक हो सकता है। प्रश्न Q-238a3e53ce0e3a45 (खुला)
यह पाठ एक AI द्वारा तैयार किया गया है। सभी विवरण विशेष रूप से AUTOSAR मानक रिलीज़ R20-11 पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertificateElementGetByIndex [SWS_KeyM_91014] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);
Service KeyM_CertificateElementGetByIndex.
सिंक्रोनस फ़ंक्शन KeyM_CertificateElementGetByIndex शून्य-आधारित इंडेक्स (0..N) के आधार पर किसी प्रमाणपत्र तत्व के डेटा को लक्षित रूप से पढ़ने का काम करता है, जब किसी तत्व प्रकार के लिए कई प्रविष्टियाँ मौजूद हों [SWS_KeyM_91014]। इस प्रकार यह क्रमिक पुनरावृत्ति का एक प्रत्यक्ष एक्सेस विकल्प प्रस्तुत करता है।
उपयोग और पैरामीटर
कॉलर प्रमाणपत्र पहचानकर्ता CertId, तत्व पहचानकर्ता CertElementId और वांछित Index पास करता है [SWS_KeyM_91014]। इसके अलावा कॉलर को CertElementDataPtr के लिए मेमोरी आवंटित करनी होगी और CertElementDataLengthPtr के माध्यम से अधिकतम उपलब्ध बफ़र आकार पास करना होगा। सफल वापसी पर, CertElementDataLengthPtr को कॉपी किए गए डेटा की वास्तविक लंबाई से ओवरराइट कर दिया जाता है [SWS_KeyM_91014]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन विशिष्ट Std_ReturnType रिटर्न मानों के माध्यम से परिणाम का संकेत देता है [SWS_KeyM_91014]:
E_OK: तत्व मिल गया और सफलतापूर्वक लक्ष्य बफ़र में कॉपी कर दिया गया।KEYM_E_PARAMETER_MISMATCH: अमान्यCertId, अमान्यCertElementIdया पास किया गयाIndexमान्य सीमा से बाहर है।KEYM_E_KEY_CERT_SIZE_MISMATCH: प्रदान किया गया बफ़र प्रमाणपत्र तत्व के लिए बहुत छोटा है।KEYM_E_KEY_CERT_EMPTY: निर्दिष्ट प्रमाणपत्र में कोई डेटा नहीं है या वह खाली है।KEYM_E_CERT_INVALID: प्रमाणपत्र अमान्य है या सत्यापन सफल नहीं था।E_NOT_OK: तत्व डेटा पढ़ना विफल रहा।
संगामिति
विनिर्देश के अनुसार सेवा को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_KeyM_91014]। इसलिए कॉलों को असुरक्षित रूप से समवर्ती निष्पादित नहीं किया जाना चाहिए।
यह उपयोग नोट AUTOSAR R20-11 विनिर्देश के आधार पर एक AI सहायक द्वारा स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertificateElementGetCount [SWS_KeyM_91015] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);
This function provides the total number of data elements that a re available for the specified certificate element. Typically, only one data element is available. But in some cases, several data elements can be assigned to one certificate element in a row. This function retrieves the total number of elements. The indiv idual data elements can then accessed with Key M_ Certificate Element Get By Index(). It is similar to the functions Key M_ Cert Element Get First/ Key M_ Cert Element Get Next to retrieve a group of data elements of one certificate element. AUTOSAR CP R20 - of
सिंक्रोनस इंटरफ़ेस KeyM_CertificateElementGetCount किसी विशिष्ट प्रमाणपत्र तत्व के लिए संग्रहीत डेटा तत्वों की कुल संख्या निर्धारित करता है और परिणाम को बफ़र CountPtr में लिखता है [SWS_KeyM_91015]।
उपयोग और पैरामीटर
फ़ंक्शन हेडर KeyM.h के माध्यम से घोषित किया गया है और इसकी सर्विस-ID 0x1c है [SWS_KeyM_91015]। यह निम्नलिखित पैरामीटरों को संसाधित करता है:
CertId(IN): क्वेरी किए जाने वाले प्रमाणपत्र का विशिष्ट पहचानकर्ता ([SWS_KeyM_91015])।CertElementId(IN): प्रमाणपत्र के भीतर विशिष्ट तत्व निर्धारित करता है ([SWS_KeyM_91015])।CountPtr(OUT):uint16प्रकार के बफ़र का पॉइंटर, जिसमें उपलब्ध डेटा तत्वों की संख्या कॉपी की जाती है ([SWS_KeyM_91015])।
त्रुटि प्रबंधन और रिटर्न मान
प्रकार Std_ReturnType का वापसी मान निष्पादन के परिणाम के बारे में जानकारी प्रदान करता है [SWS_KeyM_91015]:
E_OK: गिनती मान सफलतापूर्वक बफ़र में लिखा गया था ([SWS_KeyM_91015])।E_NOT_OK: गणना मान प्रदान नहीं किया जा सका ([SWS_KeyM_91015])।KEYM_E_PARAMETER_MISMATCH: प्रमाणपत्र ID (CertId) या तत्व ID (CertElementId) अमान्य है या अनुमत सीमा से बाहर है ([SWS_KeyM_91015])।
समवर्तीता और परस्पर क्रिया
निष्पादन सिंक्रोनस है, हालांकि इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है, ताकि समवर्ती कॉल्स को समन्वित किया जाना आवश्यक हो [SWS_KeyM_91015]। यद्यपि प्रमाणपत्र तत्वों को आमतौर पर केवल एक एकल डेटा तत्व सौंपा जाता है, कुछ मामलों में कई डेटा तत्व एक के बाद एक उपस्थित हो सकते हैं [SWS_KeyM_91015]। निर्धारित कुल संख्या व्यक्तिगत तत्वों को बाद में KeyM_CertificateElementGetByIndex() के माध्यम से लक्षित रूप से पढ़ने के आधार के रूप में कार्य करती है, जो कार्यात्मक रूप से KeyM_CertElementGetFirst और KeyM_CertElementGetNext के साथ पुनरावृत्त (iterative) दृष्टिकोण के समान है [SWS_KeyM_91015]।
यह उपयोग नोट AUTOSAR विनिर्देश SWS_KeyM_91015 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertElementGetFirst [SWS_KeyM_00064] 📄 PDF
Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetFirst.
सिंक्रोनस फ़ंक्शन KeyM_CertElementGetFirst [SWS_KeyM_00064] के अनुसार प्रमाणपत्र डेटा के पुनरावृत्तीय निष्कर्षण को शुरू करने का काम करता है। यह प्रमाणपत्र CertId से CertElementId द्वारा संबोधित प्रमाणपत्र तत्व के शीर्ष तत्व को पढ़ता है और KeyM_CertElementGetNext() के बाद के कॉलों के लिए इटरेटर निर्माण CertElementIterator को इनिशियलाइज़ करता है।
कॉल करते समय, [SWS_KeyM_00064] के अनुसार निम्नलिखित पैरामीटर और मेमोरी आवश्यकताओं का ध्यान रखा जाना चाहिए:
CertElementIterator: कॉलर द्वारा आवंटित और प्रबंधित संरचना का एक पॉइंटर; एप्लिकेशन द्वारा इसे न तो नष्ट किया जा सकता है और न ही संशोधित किया जा सकता है, जब तक किKeyM_CertElementGetNext()के माध्यम से सभी डेटा प्राप्त न कर लिया जाए।CertElementData: कॉलर द्वारा उपलब्ध कराए गए आउटपुट बफ़र का एक पॉइंटर, जिसमें सफलतापूर्वक मिलने पर (E_OK) पेलोड डेटा कॉपी किया जाता है।CertElementDataLength: इनपुट के रूप में डेटा बफ़र की अधिकतम लंबाई पास करता है औरE_OKकी वापसी पर वास्तव में लिखी गई डेटा लंबाई के साथ ओवरराइट हो जाता है।
कॉनकरेंसी के संबंध में, [SWS_KeyM_00064] के अनुसार सर्विस रीएंट्रेंट है, लेकिन ठीक एक इटरेटर के लिए (“Reentrant for one iterator”)।
त्रुटि की स्थिति में, फ़ंक्शन [SWS_KeyM_00064] के अनुसार विशिष्ट रिटर्न मानों के माध्यम से अंतर करता है: E_NOT_OK इंगित करता है कि कोई तत्व डेटा नहीं मिला (इसके बाद इटरेटर का उपयोग आगे के कॉलों के लिए नहीं किया जाना चाहिए)। KEYM_E_PARAMETER_MISMATCH एक अमान्य प्रमाणपत्र या तत्व-ID का संकेत देता है, KEYM_E_KEY_CERT_SIZE_MISMATCH बहुत छोटे डेटा बफ़र का, KEYM_E_KEY_CERT_EMPTY उपलब्ध डेटा के बिना एक खाली प्रमाणपत्र का और KEYM_E_CERT_INVALID एक अमान्य या असफलतापूर्वक सत्यापित प्रमाणपत्र का संकेत देता है।
यह उपयोग नोट AUTOSAR R20-11 विनिर्देश डेटा के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_CertElementGetNext [SWS_KeyM_00065] 📄 PDF
Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetNext.
सिंक्रोनस फ़ंक्शन KeyM_CertElementGetNext (सर्विस-ID 0x11, KeyM.h के माध्यम से उपलब्ध) किसी प्रमाणपत्र तत्व से आगे के डेटा को निरंतर पढ़ने का काम करता है, यदि उसमें कई डेटा रिकॉर्ड क्रमिक रूप से संग्रहीत हों [SWS_KeyM_00065]। एक अनिवार्य कॉल शर्त के रूप में, विनिर्देश के अनुसार पहले कम से कम एक बार फ़ंक्शन KeyM_CertElementGetFirst() को कॉल किया गया होना चाहिए [SWS_KeyM_00065]।
सभी पैरामीटरों के लिए मेमोरी क्षेत्र कॉलिंग एप्लिकेशन द्वारा प्रदान किए जाने चाहिए [SWS_KeyM_00065]:
CertElementIterator: एक आवंटित इटरेटर संरचना का पॉइंटर, जिसे ट्रैवर्सल के दौरान एप्लिकेशन द्वारा न तो संशोधित किया जाना चाहिए और न ही नष्ट किया जाना चाहिए, जब तक कि सभी तत्व पूरी तरह से पढ़ न लिए जाएं [SWS_KeyM_00065]।CertElementData: आउटपुट बफ़र का पॉइंटर, जिसमें फ़ंक्शन सफल निष्पादन पर पेलोड डेटा कॉपी करता है [SWS_KeyM_00065]।CertElementDataLength: कॉल करते समय डेटा बफ़र की अधिकतम क्षमता पास करता है और सफल वापसी पर कॉपी किए गए डेटा की वास्तविक लंबाई के साथ ओवरराइट हो जाता है [SWS_KeyM_00065]।
यदि कॉल E_OK लौटाता है, तो अगला तत्व मिल गया था, बफ़र में लिखा गया था और इटरेटर को तदनुसार आगे बढ़ाया गया था [SWS_KeyM_00065]। E_NOT_OK पर, आगे कोई तत्व डेटा नहीं मिल सका; इस स्थिति में इटरेटर का उपयोग किसी अन्य कॉल के लिए नहीं किया जाना चाहिए [SWS_KeyM_00065]। त्रुटि स्थितियों की रिपोर्ट विशिष्ट रिटर्न मानों के माध्यम से की जाती है: KEYM_E_KEY_CERT_SIZE_MISMATCH अपर्याप्त आकार के डेटा बफ़र को इंगित करता है, KEYM_E_PARAMETER_MISMATCH एक अमान्य प्रमाणपत्र या तत्व-ID को, KEYM_E_KEY_CERT_EMPTY एक खाली प्रमाणपत्र को और KEYM_E_CERT_INVALID एक अमान्य या असफलतापूर्वक सत्यापित प्रमाणपत्र को इंगित करता है [SWS_KeyM_00065]।
कॉनकरेंसी के संबंध में, सिंक्रोनस फ़ंक्शन को प्रत्येक एक इटरेटर के लिए रीएंट्रेंट निर्दिष्ट किया गया है [SWS_KeyM_00065]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertGetStatus [SWS_KeyM_00066] 📄 PDF
Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);
This function provides the sta tus of a certificate.
सिंक्रोनस फ़ंक्शन KeyM_CertGetStatus किसी प्रमाणपत्र की स्थिति को क्वेरी करने और इसे एक आउटपुट पैरामीटर के माध्यम से उपलब्ध कराने का काम करता है [SWS_KeyM_00066]। फ़ंक्शन का डिक्लेरेशन हेडर फ़ाइल KeyM.h के माध्यम से सुलभ है, और सर्विस को हेक्साडेसिमल सर्विस-ID 0x12 सौंपी गई है [SWS_KeyM_00066]।
कॉल के लिए निम्नलिखित पैरामीटरों का उपयोग किया जाता है [SWS_KeyM_00066]:
CertId(IN): क्वेरी किए जाने वाले प्रमाणपत्र का पहचानकर्ता शामिल है और इसे डेटा प्रकारKeyM_CertificateIdTypeके साथ पास किया जाता है [SWS_KeyM_00066]।Status(OUT):KeyM_CertificateStatusTypeप्रकार के मेमोरी क्षेत्र का एक पॉइंटर, जिसमें फ़ंक्शन प्रमाणपत्र की निर्धारित स्थिति लिखता है [SWS_KeyM_00066]।
Std_ReturnType प्रकार का रिटर्न मान स्थिति क्वेरी के परिणाम के बारे में सूचित करता है [SWS_KeyM_00066]:
E_OK: प्रमाणपत्र स्थिति सफलतापूर्वक निर्धारित की गई और उपलब्ध कराई गई [SWS_KeyM_00066]।E_NOT_OK: वर्तमान में स्थिति प्रदान करना संभव नहीं है [SWS_KeyM_00066]। यह उदाहरण के लिए तब होता है जब एक अमान्य प्रमाणपत्र-ID पास की जाती है, जिसे त्रुटि कोडKEYM_E_PARAMETER_MISMATCHके साथ प्रलेखित किया गया है [SWS_KeyM_00066]।
निष्पादन और कॉनकरेंसी के संबंध में, इंटरफ़ेस पूरी तरह से सिंक्रोनस व्यवहार करता है और इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_KeyM_00066]। तदनुसार, कई निष्पादन संदर्भों में एक साथ कॉल करने की अनुमति नहीं है। इस इंटरफ़ेस के लिए अतिरिक्त इनपुट और आउटपुट पैरामीटर प्रदान नहीं किए गए हैं [SWS_KeyM_00066]।
यह उपयोग नोट विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन KeyM_MainFunction [SWS_KeyM_00074] 📄 PDF
void KeyM_MainFunction (void);
Function is called periodically according the specified time interval.
फ़ंक्शन KeyM_MainFunction Classic AUTOSAR मॉड्यूल KeyM के लिए आवधिक मुख्य फ़ंक्शन के रूप में कार्य करता है [SWS_KeyM_00074]। विनिर्देश के अनुसार, फ़ंक्शन में हेक्साडेसिमल प्रारूप में सर्विस-ID 0x19 और सिग्नेचर void KeyM_MainFunction (void) है [SWS_KeyM_00074]। इस प्रकार कॉलिंग इंस्टेंस कोई इनपुट पैरामीटर पास नहीं करते हैं और कोई रिटर्न मान प्राप्त नहीं करते हैं [SWS_KeyM_00074]।
समय नियंत्रण के लिए, यह निर्धारित किया गया है कि फ़ंक्शन को एक निश्चित समय अंतराल के अनुसार आवधिक रूप से कॉल किया जाना चाहिए [SWS_KeyM_00074]। हेडर फ़ाइल SchM_KeyM.h को इंटरफ़ेस फ़ाइल के रूप में घोषित किया गया है [SWS_KeyM_00074]। इससे यह व्याख्या निकलती है: SchM_KeyM.h के माध्यम से प्रावधान के कारण, फ़ंक्शन का नियमित कॉल बेसिक सॉफ्टवेयर शेड्यूलर (SchM) के संदर्भ में होने की संभावना है [SWS_KeyM_00074]। प्रश्न Q-761ff71812bda3c2 (खुला) इसके अलावा, चक्रीय ट्रिगरिंग संभवतः मॉड्यूल में समय-निर्भर प्रक्रियाओं के आंतरिक प्रसंस्करण का कार्य करती है KeyM।
त्रुटि प्रबंधन और त्रुटि व्यवहार के संबंध में, विनिर्देश तत्व में इस सेवा के लिए कोई रिटर्न कोड, त्रुटि स्थिरांक या DET अथवा DEM को संदेश प्रलेखित नहीं हैं [SWS_KeyM_00074]। चूँकि कोई इनपुट पैरामीटर मौजूद नहीं है, इसलिए कॉल के समय पास किए गए मानों की जाँच भी लागू नहीं होती है [SWS_KeyM_00074]।
यह उपयोग संबंधी नोट AUTOSAR रिलीज़ R20-11 के विनिर्देश के आधार पर एक AI प्रणाली द्वारा स्वचालित रूप से जनरेट किया गया था।
फ़ंक्शन KeyM_MainBackgroundFunction [SWS_KeyM_00075] 📄 PDF
void KeyM_MainBackgroundFunction (void);
Function is called from a pre - emptive operating system when no other task operation is needed. Can be used for calling time consuming synchronous functions such as Key M_ KH_ Update().
उपयोग और कॉल संदर्भ
फ़ंक्शन KeyM_MainBackgroundFunction का सिग्नेचर void KeyM_MainBackgroundFunction(void) है और इसे सर्विस-ID 0x1a के तहत निर्दिष्ट किया गया है [SWS_KeyM_00075]। यह कोई पासिंग पैरामीटर स्वीकार नहीं करता है और कॉलर को कोई रिटर्न मान नहीं देता है [SWS_KeyM_00075]। एकीकरण के लिए, इंटरफ़ेस को हेडर फ़ाइल SchM_KeyM.h के माध्यम से घोषित और प्रदान किया जाता है [SWS_KeyM_00075]।
यह कॉल पृष्ठभूमि में एक प्रीएम्प्टिव ऑपरेटिंग सिस्टम द्वारा किया जाता है, जैसे ही निष्पादन के लिए कोई अन्य टास्क-ऑपरेशन लंबित नहीं होता है [SWS_KeyM_00075]। इस फ़ंक्शन का प्राथमिक उद्देश्य KeyM मॉड्यूल के समय लेने वाले, सिंक्रोनस ऑपरेशनों के लिए एक गैर-महत्वपूर्ण (uncritical) पृष्ठभूमि संदर्भ प्रदान करना है, जैसा कि उदाहरण के तौर पर KeyM_KH_Update() के निष्पादन के लिए वर्णित है [SWS_KeyM_00075]।
समवर्तीता और त्रुटि प्रबंधन
चूंकि यह फ़ंक्शन एक प्रीएम्प्टिव ऑपरेटिंग सिस्टम के पृष्ठभूमि संदर्भ में निष्पादित होता है, इसलिए यह किसी भी समय किसी भी नियमित, उच्च प्राथमिकता वाले टास्क द्वारा बाधित किए जाने योग्य होना चाहिए। प्रश्न Q-a2394a51ba63467f (खुला) इस पृष्ठभूमि सेवा के लिए, मानक न तो विशिष्ट त्रुटि कोड निर्दिष्ट करता है और न ही DET या DEM को सूचनाएं [SWS_KeyM_00075]। इसके अतिरिक्त, दिए गए डेटा संस्करण में अन्य मॉड्यूल फ़ंक्शनों के संबंध में कोई विशेष रीएंट्रेंसी विशेषताएँ या निश्चित क्रम शर्तें निर्धारित नहीं की गई हैं [SWS_KeyM_00075]।
यह पाठ एक AI द्वारा तैयार किया गया था और यह पूरी तरह से पेलोड के विनिर्देश डेटा पर आधारित है।
फ़ंक्शन KeyM_KH_Start [SWS_KeyM_00067] 📄 PDF
Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key
सिंक्रोनस और नॉन-रीएंट्रेंट फ़ंक्शन KeyM_KH_Start हेडर KeyM_Externals.h के माध्यम से घोषित किया जाता है [SWS_KeyM_00067]। यदि कॉन्फ़िगरेशन पैरामीटर KeyMCryptoKeyStartFinalizeFunctionEnabled और KeyMCryptoKeyHandlerStartFinalizeEnabled को TRUE पर सेट किया गया है, तो यह KeyM_Start के कॉल पर तुरंत निष्पादित होता है [SWS_KeyM_00067]।
पैरामीटर StartType के माध्यम से कुंजी ऑपरेशन का निष्पादन मोड निर्धारित किया जाता है। RequestData और RequestDataLength के माध्यम से फ़ंक्शन अनुरोध-विशिष्ट पूरक डेटा जैसे कि हस्ताक्षर प्राप्त करता है। कॉलर इनपुट/आउटपुट पैरामीटर ResponseDataLength के माध्यम से बफ़र ResponseData में उपलब्ध अधिकतम बाइट मात्रा पास करता है; सफलता की स्थिति में फ़ंक्शन इसके माध्यम से वास्तव में लिखी गई प्रतिक्रिया बाइट्स की संख्या वापस रिपोर्ट करता है [SWS_KeyM_00067]।
रिटर्न मान के रूप में, फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_KeyM_00067]:
E_OK: स्टार्ट ऑपरेशन सफल रहा। केवल इसी रिटर्न मान से Key Manager सक्रिय अवस्था में स्विच होता है, जिससे बाद के कुंजी अद्यतन (Key Updates) अनुमत होते हैं।E_NOT_OK: प्रारंभ कार्रवाई स्वीकार नहीं की गई थी।KEYM_E_PARAMETER_MISMATCH: पास किया गया पैरामीटर अपेक्षित मान से मेल नहीं खाता है।KEYM_E_KEY_CERT_SIZE_MISMATCH: एक निर्दिष्ट पैरामीटर आकार अपेक्षित आकार से मेल नहीं खाता है।
चूँकि KeyM_KH_Start को नॉन-रीएंट्रेंट के रूप में परिभाषित किया गया है, इसलिए समानांतर कुंजी ऑपरेशनों के कॉल समवर्ती रूप से नहीं होने चाहिए [SWS_KeyM_00067]।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_KH_Prepare [SWS_KeyM_00068] 📄 PDF
Std_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);
If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both set to TRUE, then this function w ill be called immediately when Key M_ Prepare gets called. The function takes over the task to prepare a key management operation. The response data will be passed on as is to the caller of Key_ Prepare.
उपयोग और कॉल संदर्भ
फ़ंक्शन KeyM_KH_Prepare हेडर फ़ाइल KeyM_Externals.h के माध्यम से घोषित किया गया है और यह कुंजी प्रबंधन ऑपरेशन की तैयारी का कार्य करता है [SWS_KeyM_00068]। यह KeyM_Prepare के कॉल पर तुरंत ट्रिगर होता है, यदि दोनों कॉन्फ़िगरेशन पैरामीटर KeyMCryptoKeyPrepareFunctionEnabled और KeyMCryptoKeyHandlerPrepareEnabled प्रत्येक TRUE पर सेट हैं [SWS_KeyM_00068]। निष्पादन सिंक्रोनस होता है और इसे नॉन-रीएंट्रेंट निर्दिष्ट किया गया है [SWS_KeyM_00068]।
डेटा ट्रांसफर चार पैरामीटरों के माध्यम से होता है [SWS_KeyM_00068]:
RequestData: इनपुट डेटा, जिसे अनुरोध के साथ पास किया जाता है [SWS_KeyM_00068]।RequestDataLength: एरे में डेटा की लंबाईRequestData[SWS_KeyM_00068]।ResponseDataPtr: फ़ंक्शन द्वारा लौटाए गए प्रतिक्रिया डेटा के लिए बफ़र का पॉइंटर, जिसेKey_Prepareके कॉलर को अपरिवर्तित आगे भेजा जाता है [SWS_KeyM_00068]।ResponseDataLength: इनपुट और आउटपुट पैरामीटर; कॉल पर बफ़र में उपलब्ध अधिकतम बाइट संख्या पास करता है और लौटने के बाद वास्तव में लिखी गई बाइट मात्रा लौटाता है [SWS_KeyM_00068]।
रिटर्न मान और त्रुटि व्यवहार
फ़ंक्शन परिणाम के रूप में स्थिति मान Std_ReturnType लौटाता है [SWS_KeyM_00068]:
E_OK: सर्विस स्वीकार कर ली गई है और आंतरिक रूप से आगे संसाधित की जाएगी; परिणाम एक कॉलबैक के माध्यम से प्रेषित किए जाएंगे [SWS_KeyM_00068]।E_NOT_OK: आंतरिक त्रुटि के कारण सर्विस स्वीकार नहीं की गई थी [SWS_KeyM_00068]।KEYM_E_PARAMETER_MISMATCH: एक पैरामीटर अपेक्षित मान से मेल नहीं खाता है [SWS_KeyM_00068]।KEYM_E_KEY_CERT_SIZE_MISMATCH: किसी पैरामीटर का आकार उपयुक्त नहीं है [SWS_KeyM_00068]।
यह पाठ एक AI द्वारा तैयार किया गया है। सभी विवरण विशेष रूप से AUTOSAR मानक रिलीज़ R20-11 पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_KH_Finalize [SWS_KeyM_00070] 📄 PDF
Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this function will be called immediately when Key M_
उपयोग और डेलिगेशन
फ़ंक्शन KeyM_KH_Finalize हेडर फ़ाइल KeyM_Externals.h के माध्यम से घोषित किया गया है और यह एक उपयोगकर्ता-विशिष्ट Key-Handler के रूप में कार्य करता है [SWS_KeyM_00070]। यदि कॉन्फ़िगरेशन में KeyMCryptoKeyStartFinalizeFunctionEnabled और KeyMCryptoKeyHandlerStartFinalizeEnabled दोनों को TRUE पर सेट किया गया है, तो KeyM_Finalize() कोई स्वतंत्र ऑपरेशन निष्पादित नहीं करता है, बल्कि सीधे इस हैंडलर फ़ंक्शन को प्रोसेसिंग सौंपता है [SWS_KeyM_00070]।
कॉल संदर्भ और पैरामीटर
KeyM_KH_Finalize का कॉल सिंक्रोनस होता है, लेकिन इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है और इसके लिए एक संरक्षित कॉल संदर्भ की आवश्यकता होती है [SWS_KeyM_00070]। डेटा ट्रांसफर निम्नलिखित पैरामीटरों के माध्यम से होता है:
RequestDataऔरRequestDataLength: अनुरोध के साथ पास किए गए इनपुट डेटा का पॉइंटर और डेटा एरे की लंबाई [SWS_KeyM_00070]।ResponseData: फ़ंक्शन द्वारा प्रदान किए गए आउटपुट डेटा के लिए बफ़र [SWS_KeyM_00070]।ResponseDataLength: एक इन/आउट पैरामीटर, जो कॉल पर प्रतिक्रिया बफ़र में उपलब्ध अधिकतम बाइट मात्रा निर्दिष्ट करता है और वापसी पर वास्तव में लिखी गई बाइट संख्या शामिल रखता है [SWS_KeyM_00070]।
रिटर्न मान और त्रुटि प्रबंधन
ऑपरेशन का परिणाम Std_ReturnType के माध्यम से लौटाया जाता है [SWS_KeyM_00070]:
E_OK: ऑपरेशन स्वीकार कर लिया गया है और आंतरिक रूप से आगे संसाधित किया जाएगा; परिणाम कॉलबैक के माध्यम से उपलब्ध कराए जाएंगे [SWS_KeyM_00070]। व्याख्या: हालांकि फ़ंक्शन इंटरफ़ेस को सिंक्रोनस के रूप में परिभाषित किया गया है, वास्तविक निष्पादन बैकग्राउंड में जारी रहने की संभावना है। प्रश्न Q-02c4aac040570c03 (खुला)E_NOT_OK: आंतरिक त्रुटि के कारण ऑपरेशन स्वीकार नहीं किया गया था [SWS_KeyM_00070]।KEYM_E_BUSY: Key Manager अन्य कार्यों में व्यस्त है, इसलिए सत्यापन वर्तमान में नहीं किया जा सकता है [SWS_KeyM_00070]।KEYM_E_PARAMETER_MISMATCH: एक पैरामीटर अपेक्षित मान से मेल नहीं खाता है [SWS_KeyM_00070]।KEYM_E_KEY_CERT_SIZE_MISMATCH: पास किया गया पैरामीटर आकार विनिर्देशों से मेल नहीं खाता है [SWS_KeyM_00070]।
यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CryptoKeyUpdateCallbackNotification [SWS_KeyM_00077] 📄 PDF
void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key update operation has been finished. This function is used by the key manager.
कॉलबैक फ़ंक्शन KeyM_CryptoKeyUpdateCallbackNotification() एप्लिकेशन को सूचित करता है कि एक क्रिप्टोग्राफ़िक कुंजी का अद्यतन पूरा हो गया है ([SWS_KeyM_00077])। फ़ंक्शन KeyM_Externals.h के माध्यम से प्रदान किया जाता है, यह सिंक्रोनस और रीएंट्रेंट है और इसका कोई रिटर्न मान नहीं है ([SWS_KeyM_00077])।
पैरामीटर
Result:KeyM_ResultTypeप्रकार के माध्यम से अद्यतन ऑपरेशन के परिणाम के बारे में जानकारी प्रेषित करता है ([SWS_KeyM_00077], [SWS_KeyM_00156])।ResultDataLength: इस ऑपरेशन के परिणामी डेटा की लंबाई निर्दिष्ट करता है ([SWS_KeyM_00077], [SWS_KeyM_00156])।ResultDataPtr: परिणाम के डेटा का पॉइंटर ([SWS_KeyM_00077])।
परस्पर क्रिया और बफ़र प्रबंधन
KeyM_CryptoKeyUpdateCallbackNotification() का कॉल KeyM_Update() द्वारा किया जाता है जैसे ही Key-Handler वापस लौटता है और ऑपरेशन प्रकार KEYM_KH_UPDATE_FINISH प्रदान करता है ([SWS_KeyM_00093])। इस प्रक्रिया में, KeyM_KH_Update::ResultDataPtr से परिणाम डेटा उस बफ़र में कॉपी किया जाता है जिसे KeyM_Update() के कॉल के दौरान पास किया गया था, और Key-Handler का रिटर्न मान अपना लिया जाता है ([SWS_KeyM_00093])।
यदि KeyM_Update() ने प्रक्रिया को E_OK के साथ स्वीकार किया है, तो कॉलिंग फ़ंक्शन को तब तक बफ़र ResultDataPtr को बिल्कुल संशोधित नहीं करना चाहिए जब तक कि कॉलबैक अधिसूचना KeyM_CryptoKeyUpdateCallbackNotification() न हो जाए ([SWS_KeyM_00156])। वही बफ़र पॉइंटर कॉलबैक में कॉपी किए गए ऑपरेशन परिणामों के साथ ResultDataPtr के रूप में पास किया जाता है ([SWS_KeyM_00156])।
यह उपयोग नोट AUTOSAR Classic R20-11 विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CryptoKeyFinalizeCallbackNotification [SWS_KeyM_00079] 📄 PDF
void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Service KeyM_CryptoKeyFinalizeCallbackNotification.
कॉलबैक फ़ंक्शन KeyM_CryptoKeyFinalizeCallbackNotification कुंजी फ़ाइनलाइज़ेशन ऑपरेशन के पूरा होने के बारे में एप्लिकेशन को सूचित करता है [SWS_KeyM_00079]। इसे सिंक्रोनस और रीएंट्रेंट के रूप में निर्दिष्ट किया गया है, इसका कोई रिटर्न मान नहीं है और इसे हेडर फ़ाइल KeyM_Externals.h के माध्यम से घोषित किया जाता है [SWS_KeyM_00079]।
इंटरफ़ेस कॉल पर एप्लिकेशन को निम्नलिखित पैरामीटर पास करता है [SWS_KeyM_00079]:
Result(प्रकारKeyM_ResultType): पूर्ण किए गए ऑपरेशन का परिणाम और स्थिति की जानकारी प्रेषित करता है [SWS_KeyM_00079]।Result Data Length(प्रकारuint16): इस ऑपरेशन के परिणामी डेटा की लंबाई निर्दिष्ट करता है [SWS_KeyM_00079]।Result Data Ptr(प्रकारconst uint8*): परिणाम डेटा वाले बफ़र का पॉइंटर, जो पहले सर्विस फ़ंक्शन को प्रदान किया गया था [SWS_KeyM_00079]।
कॉन्फ़िगरेशन के संबंध में, कॉलबैक फ़ंक्शन को केवल तभी कॉल किया जाता है और इसकी आवश्यकता होती है जब कॉन्फ़िगरेशन पैरामीटर KeyMCryptoKeyStartFinalizeFunctionEnabled को TRUE पर सेट किया गया हो [SWS_KeyM_00079]। इस कॉलबैक फ़ंक्शन के लिए विशिष्ट DET या DEM त्रुटि संदेश परिभाषित नहीं हैं। संभवतः एप्लिकेशन पहले से शुरू किए गए कुंजी फ़ाइनलाइज़ेशन के असिंक्रोनस परिणामों को प्राप्त करने के लिए इस कॉलबैक को लागू करता है। प्रश्न Q-6d9e4e062b008832 (खुला)
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CryptoKeyVerifyCallbackNotification [SWS_KeyM_00081] 📄 PDF
void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key verify operation has been finished. This function is used by the key manager.
उपयोग और पैरामीटर
कॉलबैक फ़ंक्शन KeyM_CryptoKeyVerifyCallbackNotification KeyM मॉड्यूल द्वारा क्रिप्टोग्राफ़िक कुंजी के लिए सत्यापन ऑपरेशन के पूरा होने के बारे में एप्लिकेशन को सूचित करता है [SWS_KeyM_00081]। व्याख्या: चूँकि यह तत्व विनिर्देश के अनुसार हेडर KeyM_Externals.h के माध्यम से उपलब्ध है और एप्लिकेशन को सूचित करने का कार्य करता है, इसलिए इसका कार्यान्वयन उपयोग करने वाले सॉफ़्टवेयर घटक द्वारा किए जाने की संभावना है, जबकि कॉल Key Manager द्वारा किया जाता है [SWS_KeyM_00081]। प्रश्न Q-e88e332a7d2cac40 (खुला)
कॉल के लिए चार केवल-इनपुट पैरामीटर परिभाषित किए गए हैं [SWS_KeyM_00081]:
Result(KeyM_ResultType): पूर्ण किए गए सत्यापन का परिणाम पास करता है [SWS_KeyM_00081]।KeyId(uint32): उस कुंजी पहचानकर्ता को चिह्नित करता है जिसके लिए सत्यापन शुरू किया गया था [SWS_KeyM_00081]।ResultDataLength(uint16): परिणामी डेटा की लंबाई शामिल है, यदि कोई हो [SWS_KeyM_00081]।ResultDataPtr(const uint8*): सत्यापन परिणाम के डेटा की ओर इंगित करता है [SWS_KeyM_00081]।
समवर्तीता और प्रतिबंध
फ़ंक्शन का कोई रिटर्न मान नहीं है (void) और न ही कोई आउटपुट या इनपुट/आउटपुट पैरामीटर है [SWS_KeyM_00081]। कॉल को सिंक्रोनस और रीएंट्रेंट निष्पादित किया जाता है [SWS_KeyM_00081]। इस कॉलबैक के लिए विशिष्ट त्रुटि कोड और DET या DEM संदेश निर्दिष्ट नहीं हैं; स्थिति और त्रुटि की जानकारी पूरी तरह से पैरामीटर Result के माध्यम से एप्लिकेशन को प्रेषित की जाती है [SWS_KeyM_00081]।
यह पाठ विनिर्देश के आधार पर AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_ServiceCertificateCallbackNotification [SWS_KeyM_00147] 📄 PDF
void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that the certificate service operation has been finished. This function is used by the certificate submodule. Thi s callback is only provided if Key MService Certificate Function Enabled is set to TRUE. The function name is configurable by Key MService Certificate Callback Notification Func.
उपयोग और सिमेंटिक्स
कॉलबैक फ़ंक्शन KeyM_ServiceCertificateCallbackNotification को एप्लिकेशन को प्रमाणपत्र सेवा ऑपरेशन के पूरा होने की सूचना देने के लिए KeyM के प्रमाणपत्र सब-मॉड्यूल द्वारा कॉल किया जाता है [SWS_KeyM_00147]। पूर्ववर्ती प्रमाणपत्र ऑपरेशन एसिंक्रोनस रूप से चलता है और पूरा होने पर एप्लिकेशन को परिणाम प्रसारित करने के लिए इस कॉलबैक को निष्पादित करता है [SWS_KeyM_00149]।
फ़ंक्शन पैरामीटरों के माध्यम से सभी प्रासंगिक परिणाम डेटा प्रेषित किए जाते हैं [SWS_KeyM_00147]:
CertId: उस प्रमाणपत्र का पहचानकर्ता जिसके लिए ऑपरेशन शुरू किया गया था।Result: ऑपरेशन की स्थिति या परिणाम वाला प्रकारKeyM_ResultType।ResultDataLength: परिणाम डेटा की लंबाई, यदि उपलब्ध हो।ResultDataPtr: परिणाम डेटा का पॉइंटर।
फ़ंक्शन का स्वयं कोई रिटर्न मान नहीं है (void) और यह एक सिंक्रोनस निष्पादन सिमेंटिक्स प्रदर्शित करता है [SWS_KeyM_00147]।
कॉन्फ़िगरेशन और सीमाएँ
कॉलबैक हेडर KeyM_Externals.h के माध्यम से प्रदान किया जाता है, लेकिन केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर KeyMServiceCertificateFunctionEnabled को TRUE पर सेट किया गया हो [SWS_KeyM_00147]। अधिसूचना फ़ंक्शन का वास्तविक नाम कॉन्फ़िगरेशन पैरामीटर KeyMServiceCertificateCallbackNotificationFunc के माध्यम से अनुकूलन योग्य है [SWS_KeyM_00147]।
समवर्तीता और त्रुटि प्रबंधन
विनिर्देश के अनुसार, फ़ंक्शन को reentrant के रूप में वर्गीकृत किया गया है [SWS_KeyM_00147]। पूर्ववर्ती एसिंक्रोनस ऑपरेशन की त्रुटि या सफलता की स्थितियों को पास किए गए पैरामीटर Result के माध्यम से संकेतित किया जाता है; पेलोड में इस कॉलबैक इंटरफ़ेस के लिए कोई विशिष्ट DET या DEM संदेश परिभाषित नहीं हैं [SWS_KeyM_00147]।
यह उपयोग निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन KeyM_CertificateVerifyCallbackNotification [SWS_KeyM_00073] 📄 PDF
Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);
Notifies the application that a certificate verification has been finished. The function name is configurable by Key MCertificate Verify Callback Notification Func. Availabl e via Key M_ Externals.h
उपयोग
कॉलबैक फ़ंक्शन KeyM_CertificateVerifyCallbackNotification प्रमाणपत्र सत्यापन के पूरा होने के बारे में एप्लिकेशन को सूचित करने का कार्य करता है [SWS_KeyM_00073]। डिक्लेरेशन हेडर KeyM_Externals.h के माध्यम से उपलब्ध है, जिसमें फ़ंक्शन का नाम कॉन्फ़िगरेशन पैरामीटर KeyMCertificateVerifyCallbackNotificationFunc के माध्यम से कॉन्फ़िगर किया जा सकता है [SWS_KeyM_00073]।
कॉल करने पर दो इनपुट पैरामीटर पास किए जाते हैं [SWS_KeyM_00073]:
CertId(प्रकारKeyM_CertificateIdType): सत्यापित प्रमाणपत्र का पहचानकर्ता [SWS_KeyM_00073]।Result(प्रकारKeyM_CertificateStatusType): सत्यापन ऑपरेशन के परिणाम के बारे में जानकारी शामिल है [SWS_KeyM_00073]।
फ़ंक्शन Std_ReturnType प्रकार के स्थिति मान के रूप में E_OK मान लौटाता है [SWS_KeyM_00073]।
निष्पादन और त्रुटि प्रबंधन
अधिसूचना के निष्पादन को सिंक्रोनस और रीएंट्रेंट के रूप में परिभाषित किया गया है [SWS_KeyM_00073]। इस कॉलबैक के लिए विशिष्ट त्रुटि कोड, भिन्न रिटर्न मान या DET या DEM को रिपोर्ट प्रदान नहीं की गई हैं [SWS_KeyM_00073]। व्याख्या: बिना किसी दुष्प्रभाव के विभिन्न प्रमाणपत्रों के समवर्ती कॉलों को संसाधित करने के लिए एप्लिकेशन-साइड कार्यान्वयन को थ्रेड-सुरक्षित रूप से डिज़ाइन किया जाना चाहिए। प्रश्न Q-6bf5313c425fe1a8 (खुला)
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप KeyM_ConfigType [SWS_KeyM_00157] 📄 PDF
This structure is the base type to initialize the Key Manager module. A pointer to an instance of this structure will be used in the initialization of the Key Manager module.
टाइप KeyM_KH_UpdateOperationType [SWS_KeyM_00055] 📄 PDF
Specifies the type of key handler update operation that was performed in the callback.
टाइप KeyM_CertElementIteratorType [SWS_KeyM_00042] 📄 PDF
This structure is used to iterate through a number of elements of a certificate.
उपयोग
डेटा प्रकार KeyM_CertElementIteratorType [SWS_KeyM_00042] के अनुसार एक संरचना (Structure) के रूप में परिभाषित है और हेडर फ़ाइल KeyM.h के माध्यम से उपलब्ध कराया गया है। विनिर्देश के अनुसार, यह प्रकार किसी प्रमाणपत्र के तत्वों की एक श्रृंखला पर पुनरावृति (iterate) करने के लिए कार्य करता है ([SWS_KeyM_00042])। चूंकि डेटा संरचना की ठोस सामग्री को स्पष्ट रूप से कार्यान्वयन-विशिष्ट ([SWS_KeyM_00042]) के रूप में निर्दिष्ट किया गया है, इसलिए उपयोगकर्ताओं को इस प्रकार को एक अपारदर्शी (ओपेक) पुनरावृत्ति स्थिति के रूप में मानना चाहिए और आंतरिक संरचना फ़ील्ड्स तक सीधे नहीं पहुंचना चाहिए। प्रश्न Q-81b5deb7dcdf2812 (खुला)
हैंडलिंग और सीमाएं
विनिर्देश से उपयोग के लिए निम्नलिखित व्यावहारिक रूपरेखा शर्तें उत्पन्न होती हैं:
- कार्यान्वयन-विशिष्ट संरचना: चूंकि
KeyM_CertElementIteratorTypeके फ़ील्ड निर्माता-विशिष्ट रूप से कार्यान्वित किए जाते हैं ([SWS_KeyM_00042]), आंतरिक मेमोरी लेआउट संबंधित BSW कार्यान्वयन पर निर्भर करता है। - स्थिति प्रबंधन: व्याख्या: प्रमाणपत्र फ़ील्ड के सत्यापन या निष्कर्षण में प्रगति को ट्रैक करने के लिए संरचना का एक इंस्टेंस कॉलर द्वारा इटरेटर संदर्भ के रूप में आवंटित किए जाने और प्रमाणपत्र तत्व ट्रैवर्सल के लिए संबंधित फ़ंक्शनों को पास किए जाने की संभावना है। प्रश्न Q-5ddb438001abe656 (खुला)
- समवर्तीता (कंकरेंसी): संभवतः एक ही प्रमाणपत्र पर समानांतर एक्सेस होने पर, बाहरी सिंक्रनाइज़ेशन के बिना एकाधिक कार्यों (टास्कों) में एक इटरेटर इंस्टेंस का समवर्ती रूप से उपयोग नहीं किया जा सकता है। प्रश्न Q-6b4b8b1cdc35f021 (खुला)
यह पाठ एक AI द्वारा बनाया गया था। यह पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश डेटा पर आधारित है।
टाइप KeyM_CryptoKeyIdType [SWS_KeyM_00302] 📄 PDF
Crypto key handle.
टाइप KeyM_CertDataPointerType [SWS_KeyM_91011] 📄 PDF
Byte - pointer to the data of the certificate
टाइप KeyM_StartType [SWS_KeyM_00038] 📄 PDF
This type specifies in which mode the key operation will start. The OEM production mode provides higher privileges compared to workshop mode.
टाइप KeyM_CertElementIdType [SWS_KeyM_00300] 📄 PDF
Certificate Element handle.
टाइप KeyM_CertificateIdType [SWS_KeyM_00301] 📄 PDF
Certificate handle.
टाइप KeyM_ServiceCertificateType [SWS_KeyM_00039] 📄 PDF
This type specifies the requested service operation and what information is provided with this function.
गणना प्रकार KeyM_ServiceCertificateType हेडर Rte_KeyM_Type.h के माध्यम से प्रदान किया जाता है और कुंजी सर्वर द्वारा अनुरोधित प्रमाणपत्र सेवा संचालन के साथ-साथ फ़ंक्शन के साथ पास की गई जानकारी के प्रकार को निर्दिष्ट करता है [SWS_KeyM_00039]। RTE हेडर फ़ाइल में घोषणा इस बात का संकेत देती है कि इस प्रकार का उपयोग मुख्य रूप से सॉफ़्टवेयर घटकों और Key Manager मॉड्यूल के बीच डेटा विनिमय में किया जाता है। प्रश्न Q-37ed693ea3eda646 (खुला)
प्रमाणपत्र प्रबंधन के लिए निम्नलिखित मानकीकृत संचालन कोड (ऑपरेशन कोड) परिभाषित हैं [SWS_KeyM_00039]:
KEYM_SERVICE_CERT_REQUEST_CSR(0x01): Key-Server Key-Client से एक प्रमाणपत्र या एक प्रमाणपत्र अनुरोध (CSR) उत्पन्न करने का अनुरोध करता है [SWS_KeyM_00039]।KEYM_SERVICE_CERT_UPDATE_SIGNED_CSR(0x02): सर्वर पहले से प्राप्त, प्रमाणपत्र प्राधिकरण (CA) द्वारा हस्ताक्षरित प्रमाणपत्र वापस लौटाता है [SWS_KeyM_00039]।KEYM_SERVICE_CERT_SET_ROOT(0x03) औरKEYM_SERVICE_CERT_UPDATE_ROOT(0x04): एक नया रूट प्रमाणपत्र बनाना या किसी मौजूदा रूट प्रमाणपत्र को अपडेट करना [SWS_KeyM_00039]।KEYM_SERVICE_CERT_SET_INTERMEDIATE(0x05) औरKEYM_SERVICE_CERT_UPDATE_INTERMEDIATE(0x06): एक मध्यवर्ती प्रमाणपत्र (CA प्रमाणपत्र) जोड़ना या अपडेट करना [SWS_KeyM_00039]।KEYM_SERVICE_CERT_UPDATE_CRL(0x07): एक प्रमाणपत्र निरसन सूची (CRL) प्रदान करना या अपडेट करना [SWS_KeyM_00039]।
एक आवश्यक पूर्व शर्त के रूप में, KEYM_SERVICE_CERT_SET_INTERMEDIATE की आवश्यकता है कि सफल सत्यापन सुनिश्चित करने के लिए एक मध्यवर्ती प्रमाणपत्र सेट करने से पहले संबंधित रूट प्रमाणपत्र पहले से संग्रहीत होना चाहिए [SWS_KeyM_00039]। परियोजना-विशिष्ट विस्तारों के लिए, विनिर्देश 0x80 से 0x9F की आरक्षित मान सीमा प्रदान करता है [SWS_KeyM_00039]।
यह पाठ एक AI द्वारा बनाया गया था और AUTOSAR R20-11 के विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Max [SWS_KeyM_91000] 📄 PDF
Array long enough to store the key or certificate name. base Type Encoding = UTF -
टाइप KeyM_CertificateStatusType [SWS_KeyM_91003] 📄 PDF
Type KeyM_CertificateStatusType.
गणना प्रकार KeyM_CertificateStatusType प्रमाणपत्र जांचों के परिणाम का प्रतिनिधित्व करता है और Key Manager में किसी प्रमाणपत्र के वर्तमान सत्यापन और प्रसंस्करण स्थिति को दर्शाता है [SWS_KeyM_91003]। यह प्रकार हेडर Rte_KeyM_Type.h के माध्यम से उपलब्ध कराया जाता है और इसका उपयोग कॉलर्स द्वारा प्रमाणपत्र सत्यापन की स्थिति या विशिष्ट त्रुटि कारणों का विभेदित मूल्यांकन करने के लिए किया जाता है [SWS_KeyM_91003]।
गणना मान नियमित मध्यवर्ती और सफलता की स्थितियों के साथ-साथ सटीक त्रुटि स्थितियों को भी कवर करते हैं [SWS_KeyM_91003]:
KEYM_CERTIFICATE_VALID(0x00): प्रमाणपत्र सफलतापूर्वक पार्स और सत्यापित किया गया था [SWS_KeyM_91003]।KEYM_CERTIFICATE_INVALID(0x01): अनिर्दिष्ट त्रुटि के कारण प्रमाणपत्र अमान्य है [SWS_KeyM_91003]।KEYM_CERTIFICATE_NOT_PARSED(0x02): प्रमाणपत्र अभी तक पार्स नहीं किया गया है [SWS_KeyM_91003]।KEYM_CERTIFICATE_PARSED_NOT_VALIDATED(0x03): प्रमाणपत्र पार्स किया गया था, लेकिन अभी तक मान्य नहीं किया गया है [SWS_KeyM_91003]।KEYM_CERTIFICATE_NOT_AVAILABLE(0x04): कोई प्रमाणपत्र सेट नहीं है [SWS_KeyM_91003]।- त्रुटि-विशिष्ट परीक्षण परिणाम: विफल वैधता अवधि (
KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL, 0x05), अमान्य हस्ताक्षर (KEYM_E_CERTIFICATE_SIGNATURE_FAIL, 0x06), अमान्य ट्रस्ट श्रृंखला (KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST, 0x07), अमान्य प्रकार (KEYM_E_CERTIFICATE_INVALID_TYPE, 0x08), अमान्य प्रारूप (KEYM_E_CERTIFICATE_INVALID_FORMAT, 0x09), अमान्य सामग्री (KEYM_E_CERTIFICATE_INVALID_CONTENT, 0x0A) तथा निरसन या अमान्य वैधता दायरा (KEYM_E_CERTIFICATE_REVOKED, 0x0B) [SWS_KeyM_91003]।
क्रिप्टोग्राफ़िक कुंजियों का उपयोग करने से पहले कॉलर्स को स्थिति की जांच करनी चाहिए; ऑपरेशन आमतौर पर किसी प्रमाणपत्र पर केवल तभी आधारित हो सकते हैं जब स्थिति स्पष्ट रूप से KEYM_CERTIFICATE_VALID का संकेत देती हो। चूंकि यह प्रकार Rte_KeyM_Type.h के माध्यम से घोषित किया जाता है, इसलिए संभवतः इसका उपयोग मुख्य रूप से KeyM और एप्लिकेशन-SWCs के बीच इंटरैक्शन के लिए मानकीकृत सेवा इंटरफ़ेस और पोर्ट्स में किया जाता है। प्रश्न Q-f3ca10ee673798df (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था। यह आधिकारिक AUTOSAR विनिर्देशों के अध्ययन का स्थान नहीं लेता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप KeyM_CertificateElementType [SWS_KeyM_91004] 📄 PDF
Array long enough to store data
उपयोग और संरचना
डेटा प्रकार KeyM_CertificateElementType को तत्व प्रकार uint8 वाले बाइट ऐरे के रूप में निर्दिष्ट किया गया है और विनिर्देश के अनुसार यह किसी प्रमाणपत्र तत्व के डेटा को संग्रहीत करने के लिए पर्याप्त रूप से बड़े मेमोरी क्षेत्र के रूप में कार्य करता है [SWS_KeyM_91004]। KeyM मॉड्यूल के लिए डेटा प्रकार का प्रावधान और घोषणा हेडर फ़ाइल Rte_KeyM_Type.h के माध्यम से होती है [SWS_KeyM_91004]।
कॉन्फ़िगरेशन और संस्करण निर्माण
डेटा प्रकार का स्वरूप कॉन्फ़िगरेशन-निर्भर नाम और आकार भिन्नता के अधीन है, जो मॉड्यूल के कॉन्फ़िगर किए गए पैरामीटरों से प्राप्त होता है [SWS_KeyM_91004]:
- नाम का पैटर्न: ठोस प्रकार का नाम योजना
KeyM_CertificateElementType_{KeyMCertificate}_{KeyMCertificateElement}के अनुसार तत्व-विशिष्ट रूप से उत्पन्न होता है, जहां प्लेसहोल्डर संबंधित प्रमाणपत्र और प्रमाणपत्र तत्व इंस्टेंसों के कॉन्फ़िगर किए गए संक्षिप्त नामोंSHORT-NAMEके अनुरूप होते हैं [SWS_KeyM_91004]। - ऐरे का आकार:
uint8-तत्वों की संख्या कॉन्फ़िगरेशन पैरामीटरKeyMCertificateElementMaxLengthद्वारा निर्धारित की जाती है, ताकि ऐरे संबंधित तत्व के कच्चे डेटा (raw data) के लिए पर्याप्त मेमोरी स्थान प्रदान करे [SWS_KeyM_91004]।
सीमाएं और धारणाएं
चूंकि परिभाषा Rte_KeyM_Type.h में प्रदान की जाती है, इसलिए इस प्रकार का उपयोग मुख्य रूप से प्रमाणपत्र सामग्री के आदान-प्रदान के लिए सॉफ़्टवेयर घटकों के इंटरफ़ेस पर एक मानकीकृत बफ़र के रूप में किए जाने की संभावना है [SWS_KeyM_91004]। प्रश्न Q-994f8ac6772de3c1 (खुला) अधिकतम प्रोसेस करने योग्य डेटा लंबाई कॉन्फ़िगरेशन समय पर परिभाषित अधिकतम लंबाई से स्थिर रूप से बंधी रहती है [SWS_KeyM_91004]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप KeyM_CryptoKeyDataType [SWS_KeyM_91012] 📄 PDF
Byte - pointer to the input or output data
उपयोग और प्रकार परिभाषा
डेटा प्रकार KeyM_CryptoKeyDataType को uint8* के पॉइंटर प्रकार के रूप में परिभाषित किया गया है और यह KeyM मॉड्यूल के भीतर इनपुट या आउटपुट डेटा के लिए बाइट पॉइंटर के रूप में कार्य करता है [SWS_KeyM_91012]। प्रकार परिभाषा हेडर फ़ाइल Rte_KeyM_Type.h के माध्यम से प्रदान की जाती है [SWS_KeyM_91012]।
सीमाएं और मेमोरी प्रबंधन
KeyM_CryptoKeyDataType को बाइट बफ़र्स के पॉइंटर के रूप में उपयोग करते समय, विशिष्ट सीमा शर्तों का ध्यान रखा जाना चाहिए:
- Interpretation: चूंकि प्रकार को एक साधारण बाइट पॉइंटर (
uint8*) के रूप में निर्दिष्ट किया गया है [SWS_KeyM_91012], इसलिए संदर्भित मेमोरी का आवंटन, आकार निर्धारण और वैधता संभवतः संबंधित कॉलर की ज़िम्मेदारी है। प्रश्न Q-07c167f400cbfb9c (खुला) - Interpretation: आउटपुट बफ़र के रूप में पास करते समय, यह सुनिश्चित किया जाना चाहिए कि बफ़र ओवरफ्लो को रोकने के लिए संदर्भित मेमोरी क्षेत्र समाहित की जाने वाली कुंजी या क्रिप्टो डेटा के लिए पर्याप्त बड़ा हो। प्रश्न (खुला)
- Interpretation: संदर्भित बफ़र तक समवर्ती पहुंच के लिए, कॉलिंग सॉफ़्टवेयर द्वारा अतिरिक्त सिंक्रोनाइज़ेशन उपायों की आवश्यकता हो सकती है, क्योंकि प्रकार स्वयं कोई सिंक्रोनाइज़ेशन तंत्र प्रदान नहीं करता है। प्रश्न (खुला)
एकीकरण
कॉलर्स जो KeyM इंटरफ़ेस को क्रिप्टो कुंजी या प्रमाणपत्र डेटा पास करते हैं या उनसे प्राप्त करते हैं, वे KeyM_CryptoKeyDataType की टाइप की गई पॉइंटर परिभाषा तक पहुंच प्राप्त करने के लिए Rte_KeyM_Type.h को शामिल करते हैं [SWS_KeyM_91012]।
यह उपयोग नोट स्वचालित रूप से जनरेट किया गया था और पूरी तरह से KeyM मॉड्यूल के लिए AUTOSAR विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप KeyM_ResultType [SWS_KeyM_91008] 📄 PDF
Specifies the result type of an asynchronous key management fu nction.
एन्यूमिरेशन प्रकार KeyM_ResultType कुंजी और प्रमाणपत्र प्रबंधन के लिए KeyM मॉड्यूल के असिंक्रोनस फ़ंक्शनों के परिणाम को निर्दिष्ट करता है [SWS_KeyM_91008]। यह प्रकार हेडर फ़ाइल Rte_KeyM_Type.h के माध्यम से प्रदान किया जाता है और अनुरोधित असिंक्रोनस कार्य आदेश के परिणाम पर फ़ीडबैक देने का कार्य करता है [SWS_KeyM_91008]।
मान श्रेणी में कॉल करने वालों द्वारा विभेदित मूल्यांकन के लिए मानकीकृत स्थिति और त्रुटि कोड शामिल हैं [SWS_KeyM_91008]:
KEYM_RT_OK(0x00): कुंजी प्रबंधन ऑपरेशन सफलतापूर्वक पूरा हुआ [SWS_KeyM_91008]।KEYM_RT_NOT_OK(0x01): कुंजी प्रबंधन ऑपरेशन के दौरान एक सामान्य त्रुटि उत्पन्न हुई [SWS_KeyM_91008]।KEYM_RT_KEY_CERT_INVALID(0x02): संदर्भित कुंजी या प्रमाणपत्र अमान्य है और इसका उपयोग ऑपरेशन के लिए नहीं किया जा सकता है [SWS_KeyM_91008]।KEYM_RT_KEY_CERT_WRITE_FAIL(0x03): निर्दिष्ट लक्ष्य मेमोरी में कुंजी या प्रमाणपत्र लिखना विफल रहा [SWS_KeyM_91008]।KEYM_RT_KEY_CERT_UPDATE_FAIL(0x04): किसी कुंजी या प्रमाणपत्र के अद्यतन में सामान्य त्रुटि, जिसे अधिक विशिष्ट कोड द्वारा स्पष्ट नहीं किया जा सका [SWS_KeyM_91008]।KEYM_RT_CERT_INVALID_CHAIN_OF_TRUST(0x05): अमान्य विश्वास श्रृंखला (chain of trust) के कारण प्रमाणपत्र सत्यापन विफल रहा [SWS_KeyM_91008]।
असिंक्रोनस KeyM फ़ंक्शनों के कॉलर्स को इस रिटर्न प्रकार का मूल्यांकन करना चाहिए, ताकि त्रुटि की स्थिति में वे अमान्य विश्वास श्रृंखलाओं, मेमोरी एक्सेस त्रुटियों या गलत कुंजी सामग्री पर लक्षित प्रतिक्रिया दे सकें [SWS_KeyM_91008]।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप KeyM_CertDataType [SWS_KeyM_00041] 📄 PDF
This structure is used to exchange certificate data through interface functions.
संरचना KeyM_CertDataType का उपयोग मॉड्यूल KeyM में इंटरफ़ेस फ़ंक्शनों के माध्यम से प्रमाणपत्र डेटा पास करने और विनिमय करने के लिए किया जाता है [SWS_KeyM_00041]। प्रकार परिभाषा हेडर फ़ाइल KeyM.h के माध्यम से उपलब्ध है [SWS_KeyM_00041]।
संरचना दो आवश्यक तत्वों को बंडल करती है [SWS_KeyM_00041]:
certDataLength: प्रकारuint32का तत्व, जो प्रमाणपत्र डेटा की लंबाई निर्दिष्ट करता है [SWS_KeyM_00041]।certData: प्रकारVoidPtrका तत्व, जो कॉलर के स्थानीय डेटा क्षेत्र में सीधे प्रमाणपत्र डेटा को संदर्भित करने वाले पॉइंटर के रूप में कार्य करता है [SWS_KeyM_00041]।
चूंकि certData कॉलर के स्थानीय संदर्भ में मेमोरी क्षेत्रों को संदर्भित करता है [SWS_KeyM_00041], बफ़र प्रबंधन कॉलिंग इंस्टेंस की ज़िम्मेदारी है। व्याख्या: कॉलर को यह सुनिश्चित करने की आवश्यकता हो सकती है कि संदर्भित मेमोरी संबंधित इंटरफ़ेस फ़ंक्शन की संपूर्ण निष्पादन अवधि के लिए मान्य रहे और इसमें कम से कम certDataLength में निर्दिष्ट बाइट्स की संख्या शामिल हो। प्रश्न Q-7da9d5ed0975ddbd (खुला) इसके अतिरिक्त, यह माना जा सकता है कि शून्य से अधिक लंबाई के लिए, इंटरफ़ेस फ़ंक्शन के भीतर गलत मेमोरी एक्सेस से बचने के लिए NULL के गैर-समान एक मान्य पॉइंटर पास किया जाना चाहिए।
यह उपयोग संबंधी निर्देश AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_KeyM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_KeyM@rel:R20-11#fa86218c- Content hash
fa86218c- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_KeyManager.pdf#nameddest=SWS_KeyM_00043
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल