DEENESPTFRRUARHIKOZHNL

Crypto Interface (CryIf)

ModulCryIf (Crypto Interface)
BSW-Modul-ID112
Standard-Header#include "CryIf.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoInterface.pdf
ClusterCrypto Services

मॉड्यूल गाइडएआई जनित

कॉन्फ़िगर किए गए चैनलों के माध्यम से CSM के क्रिप्टो जॉब्स और कुंजी कॉल्स को संबंधित Crypto ड्राइवरों को अग्रेषित करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 6b37c73ee677 उद्गम खुले प्रश्न (4)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

कॉन्फ़िगर किए गए चैनलों के माध्यम से CSM के क्रिप्टो जॉब्स और कुंजी कॉल्स को संबंधित Crypto ड्राइवरों को अग्रेषित करता है।

CryIf क्लासिक क्रिप्टो स्टैक में CSM और Crypto Driver के बीच मध्यस्थता करता है और जॉब्स तथा कुंजी कॉल्स को कॉन्फ़िगर किए गए चैनलों के माध्यम से संबंधित Crypto Driver Object को अग्रेषित करता है SWS CSM पृ. 26। केंद्रीय इंटरफ़ेस CryIf_ProcessJob है, जो कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से काम करता है [SWS_CryIf_91003]। एसिंक्रोनस परिणामों की रिपोर्ट ड्राइवर द्वारा कॉलबैक के माध्यम से CryIf को दी जाती है, जो उन्हें CSM को अग्रेषित करता है। अग्रेषित करने से पहले, CryIf अपनी स्वयं की कुंजी आईडीज़ को ड्राइवर की आईडीज़ पर मैप करता है और उनकी सीमा की जाँच करता है। R20-11 के लिए यह ध्यान दिया जाना चाहिए कि बाद के रिलीज़ों ने एरर कोड और सिंक्रोनिसिटी नियमों को बदल दिया है।

CryIf क्लासिक क्रिप्टो स्टैक में सर्विस लेयर में स्थित CSM और MCAL में स्थित Crypto Driver के बीच मध्यस्थता करता है। ऍप्लिकेशन्स के अनुरोध लॉजिकल चैनलों के माध्यम से HSM के हार्डवेयर इंजनों तक जाते हैं SWS CSM चित्र 7.4 पृ. 27। एक चैनल CSM कतार से CryIf के माध्यम से Crypto Driver Object तक का मार्ग होता है; प्रत्येक CSM कतार ठीक एक चैनल को सौंपी जाती है SWS CSM पृ. 26। चैनलों को CryIfChannel कंटेनर में CryIfChannelId और CryIfDriverObjectRef के साथ कॉन्फ़िगर किया जाता है SWS CryIf पृ. 51। प्रत्येक उपयोग से पहले CryIf_Init मॉड्यूल को एक कार्यान्वयन-विशिष्ट कॉन्फ़िगरेशन के साथ प्रारंभ करता है [SWS_CryIf_91000]।

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

संदर्भ आरेख: CryIf चैनल-वार CSM के जॉब्स को Crypto Driver Objects को अग्रेषित करता है और परिणामों की रिपोर्ट वापस CSM को देता है। स्रोत: SWS CSM चित्र 7.4 पृ. 27, [SWS_CryIf_91100]

केंद्रीय इंटरफ़ेस CryIf_ProcessJob है। यह फ़ंक्शन रीएंट्रेंट है और कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से काम करता है [SWS_CryIf_91003]। ऑपरेटिंग मोड्स START, UPDATE और FINISH को संयोजित किया जा सकता है, जिससे वही फ़ंक्शन सिंगल कॉल्स और स्ट्रीमिंग दोनों को कवर करता है SWS CryIf पृ. 22। एसिंक्रोनस परिणामों की रिपोर्ट ड्राइवर CryIf_CallbackNotification [SWS_CryIf_91013] के माध्यम से देता है। CryIf उन्हें Csm_CallbackNotification के ज़रिए CSM को अग्रेषित करता है [SWS_CryIf_91100]। CryIf_CancelJob ड्राइवर पर चल रहे जॉब्स को निरस्त करता है [SWS_CryIf_91014]।

CryIf_ProcessJob के माध्यम से जॉब प्रोसेसिंगCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)कुंजी ID जाँचनाऔर ड्राइवर ID पर मैप करनाoptकुंजी ID सीमा से बाहर हैCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)रिटर्न मान पास करेंasynchron konfiguriertहैंडओवर का रिटर्न मानरिटर्न मान पास करेंBerechnung,उदा. Main फ़ंक्शन सेCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

अनुक्रम आरेख: CryIf कुंजी आईडीज़ की जाँच करता है और फिर जॉब को अग्रेषित करता है। परिणाम सिंक्रोनस रूप से रिटर्न मान के रूप में या एसिंक्रोनस रूप से दो कॉलबैक स्तरों के माध्यम से वापस आता है। स्रोत: [SWS_CryIf_91003], [SWS_CryIf_91013], SWS Crypto पृ. 27

अग्रेषित करने से पहले, CryIf अपनी स्वयं की कुंजी आईडीज़ को ड्राइवर की आईडीज़ पर मैप करता है। यदि वे सीमा से बाहर हैं, तो वह DET को CRYPTO_E_PARAM_HANDLE की रिपोर्ट करता है और E_NOT_OK प्रदान करता है [SWS_CryIf_00133] [SWS_CryIf_00134]। इसके अलावा, CryIf कुंजियों को सेट करने, मान्य और अमान्य करने, पढ़ने, उत्पन्न करने, व्युत्पन्न करने, विनिमय करने और कॉपी करने के लिए सिंक्रोनस फ़ंक्शंस प्रदान करता है। यदि आंशिक कॉपी करने के दौरान स्रोत और गंतव्य विभिन्न ड्राइवरों में स्थित हैं, तो CryIf तत्व को पढ़ता है और स्वयं इसे गंतव्य में लिखता है [SWS_CryIf_00140]।

विकास त्रुटियाँ जैसे CRYIF_E_UNINIT या CRYIF_E_PARAM_POINTER DET को जाती हैं [SWS_CryIf_00009]। रनटाइम एरर्स जैसे CRYPTO_E_BUSY या CRYPTO_E_KEY_NOT_VALID रिटर्न मान के रूप में वापस आते हैं [SWS_CryIf_91020]। बाद के रिलीज़ R20-11 से भिन्न हैं: वे CRYIF_E_PARAM_HANDLE को मानकीकृत करते हैं और CryIf_RandomSeed तथा CryIf_KeyGenerate को सिंक्रोनस के रूप में निर्धारित करते हैं SWS CryIf पृ. 1।

Crypto Service Manager और Crypto Driver के बीच CryIf की भूमिका

Crypto Interface (CryIf) क्लासिक क्रिप्टो स्टैक में ECU Abstraction Layer में स्थित है। ऍप्लिकेशन्स RTE और CSM के माध्यम से क्रिप्टोग्राफ़िक सेवाओं का अनुरोध करते हैं। ये अनुरोध लॉजिकल चैनलों के माध्यम से CryIf से होते हुए MCAL में Crypto Driver तक और आगे उसके हार्डवेयर इंजनों तक जाते हैं, जैसे HSM में HW-AES और HW-RSA SWS CSM चित्र 7.4 पृ. 27। एक Crypto Driver Object हार्डवेयर या सॉफ़्टवेयर में एक स्वतंत्र क्रिप्टो-\"इकाई\" का प्रतिनिधित्व करता है, उदाहरण के लिए एक AES त्वरक या सॉफ़्टवेयर में RSA कार्यान्वयन SWS CSM पृ. 26। CryIf स्वयं कोई गणना नहीं करता है। इसके फ़ंक्शंस संबंधित कॉल को कॉन्फ़िगर किए गए Crypto Driver Object को अग्रेषित करते हैं, जैसे कि [SWS_CryIf_91005], [SWS_CryIf_91007], [SWS_CryIf_91009] और [SWS_CryIf_91014]।

ऊपर की ओर CryIf इंटरफ़ेस के तीन समूह प्रदान करता है:

  • जॉब इंटरफ़ेस CryIf_ProcessJob [SWS_CryIf_91003],
  • जॉब रद्दीकरण (cancellation) CryIf_CancelJob [SWS_CryIf_91014],
  • CryIf_KeyElementSet [SWS_CryIf_91004] से CryIf_KeySetInvalid [SWS_CryIf_91021] तक प्रत्यक्ष कुंजी प्रबंधन (direct key management)।

“ACTIVE” स्थिति वाले जॉब के लिए CSM CryIf_ProcessJob को कॉल करता है और इसके रिटर्न मान को बिना बदलाव के आगे भेज देता है SWS CSM पृ. 22। नीचे की ओर CryIf CryIf_CallbackNotification [SWS_CryIf_91013] के माध्यम से ड्राइवर के समापन संदेश प्राप्त करता है SWS Crypto पृ. 27। अन्य मॉड्यूल से इसे Csm_CallbackNotification और Det_ReportRuntimeError [SWS_CryIf_91100] की आवश्यकता होती है, वैकल्पिक रूप से इसके अतिरिक्त Det_ReportError [SWS_CryIf_91101] की भी।

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

संदर्भ आरेख (Context diagram): CryIf CSM-Queues को चैनल-वार Crypto Driver Objects से जोड़ता है और परिणामों की रिपोर्ट वापस CSM को देता है। स्रोत: SWS CSM चित्र 7.4 पृ. 27, [SWS_CryIf_91100], [SWS_CryIf_91013]

चैनल, कॉन्फ़िगरेशन और इनिशियलाइज़ेशन

एक चैनल एक CSM-Queue से CryIf के माध्यम से एक Crypto Driver Object तक का मार्ग है। CSM की प्रत्येक Queue ठीक एक चैनल को सौंपी जाती है; वैकल्पिक रूप से Crypto Driver की भी अपनी एक Queue होती है SWS CSM पृ. 26। चैनल कंटेनर CryIfChannel में कॉन्फ़िगर किए जाते हैं, जिनकी मल्टिप्लिसिटी 0..* होती है और सभी वेरिएंट्स में Pre-compile कॉन्फ़िगरेशन होता है। कंटेनर में पैरामीटर CryIfChannelId और CryIfDriverObjectRef SWS CryIf पृ. 51 शामिल होते हैं। CryIfChannelId यह निर्धारित करता है कि CSM-Queue किस चैनल से जुड़ी है। रनटाइम पर, [SWS_CryIf_91003] और [SWS_CryIf_91014] का पैरामीटर channelId भी क्रिप्टो-चैनल को निर्दिष्ट करता है। व्याख्या: संभवतः CryIfDriverObjectRef चैनल को उस Crypto Driver Object से बांधता है, जो इस चैनल के ऑर्डर्स को निष्पादित करता है। प्रश्न Q-5f8f778dc8552b7f (खुला)

प्रत्येक उपयोग से पहले CryIf_Init को कॉल किया जाना चाहिए [SWS_CryIf_91000]। यह फ़ंक्शन सिंक्रोनस और गैर-पुनःप्रवेशी (non-reentrant) है। इसे CryIf_ConfigType प्रकार के चयनित कॉन्फ़िगरेशन का एक पॉइंटर प्राप्त होता है, जिसकी सामग्री कार्यान्वयन-विशिष्ट (implementation-specific) होती है [SWS_CryIf_91118] SWS CryIf पृ. 20। विफल इनिशियलाइज़ेशन के लिए त्रुटि सूची CRYIF_E_INIT_FAILED (0x01) का प्रावधान करती है [SWS_CryIf_00009]। CryIf_GetVersionInfo पुनःप्रवेशी (reentrant) है और मॉड्यूल की संस्करण जानकारी प्रदान करता है [SWS_CryIf_91001]।

चैनलों के अलावा, CryIf अपने स्वयं के कुंजी पहचानकर्ता (cryIfKeyId) रखता है। यह उन्हें संबंधित ड्राइवर के कुंजी-IDs पर मैप करता है [SWS_CryIf_00133]। यदि कोई जॉब, जॉब प्रोसेसिंग पुनर्निर्देशन (job processing redirection) का उपयोग करता है, तो CryIf इसके अतिरिक्त आने वाले कुंजी और कुंजी तत्व संदर्भों को ड्राइवर के संदर्भों के अनुसार समायोजित करता है [SWS_CryIf_00136]। एक कुंजी में एक या अधिक कुंजी तत्व होते हैं, जैसे कि कुंजी सामग्री (key material), इनिशियलाइज़ेशन वेक्टर या Seed SWS CSM पृ. 30।

CryIf_ProcessJob से फ़ीडबैक तक जॉब प्रोसेसिंग

एकल कॉल (Single call) और स्ट्रीमिंग एक ही फ़ंक्शन CryIf_ProcessJob के माध्यम से चलते हैं। फ़ील्ड job->jobPrimitiveInputOutput.mode में ऑपरेटिंग मोड “START”, “UPDATE” और “FINISH” शामिल हैं, जिन्हें संयोजित किया जा सकता है। एक ही कॉल में एक पूर्ण सेवा तीनों मोड के संयोजन के अनुरूप होती है SWS CryIf पृ. 22। यह फ़ंक्शन reentrant है और कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से कार्य करता है [SWS_CryIf_91003]। किसी जॉब के स्थिति संक्रमण (State transitions) Crypto Driver द्वारा निष्पादित किए जाते हैं, CSM द्वारा नहीं SWS CSM पृ. 22।

एसिंक्रोनस मामले में, ड्राइवर केवल आवश्यक जानकारी प्रिमिटिव को सौंपता है। इसके बाद गणना को Main-फ़ंक्शन से ट्रिगर किया जा सकता है। पूरा होने के बाद, ड्राइवर CryIf को CryIf_CallbackNotification SWS Crypto पृ. 27 के माध्यम से जॉब और परिणाम की रिपोर्ट करता है। यह फ़ंक्शन सिंक्रोनस और non-reentrant है; पास किया गया जॉब एक कॉलबैक ID रखता है जो इसकी पहचान करती है [SWS_CryIf_91013]। CryIf फिर Csm_CallbackNotification के माध्यम से CSM को समाप्ति की रिपोर्ट करता है; यह फ़ंक्शन स्पष्ट रूप से अंतर्निहित परत CRYIF के लिए अभिप्रेत है [SWS_CryIf_91100]। यदि FINISH बिट सेट है, तो CSM कॉन्फ़िगर किए गए कॉलबैक को कॉल करता है SWS CSM पृ. 82।

CryIf_ProcessJob के माध्यम से जॉब प्रोसेसिंगCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)कुंजी ID जाँचनाऔर ड्राइवर ID पर मैप करनाoptकुंजी ID सीमा से बाहर हैCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)रिटर्न मान पास करेंasynchron konfiguriertहैंडओवर का रिटर्न मानरिटर्न मान पास करेंBerechnung,उदा. Main फ़ंक्शन सेCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

अनुक्रम आरेख (Sequence diagram): CryIf पहले कुंजी-IDs की जाँच करता है और फिर जॉब को आगे भेजता है। परिणाम या तो सिंक्रोनस रूप से रिटर्न मान के रूप में आता है या एसिंक्रोनस रूप से दो कॉलबैक चरणों के माध्यम से वापस आता है। स्रोत: [SWS_CryIf_91003], [SWS_CryIf_00134], [SWS_CryIf_91013], [SWS_CryIf_91100], SWS Crypto पृ. 27

सक्रिय एसिंक्रोनस जॉब और स्ट्रीमिंग जॉब को रद्द किया जा सकता है। इसके लिए CSM जॉब को अपनी स्वयं की Queue से हटा देता है या CryIf_CancelJob को कॉल करता है SWS CSM पृ. 80। CryIf_CancelJob सिंक्रोनस और reentrant है और रद्दीकरण को कॉन्फ़िगर किए गए Crypto Driver Object को अग्रेषित करता है। E_OK का अर्थ है कि जॉब हटा दिया गया था; E_NOT_OK का अर्थ है कि यह संभव नहीं था [SWS_CryIf_91014] SWS CryIf पृ. 24। बाद के रिलीज़ (R24-11/R25-11) के दस्तावेज़ अंश अतिरिक्त रूप से CRYPTO_E_JOB_CANCELED का उल्लेख करते हैं। इस मामले में, रद्दीकरण केवल अगले उपयुक्त प्रोसेसिंग चरण पर होता है और नकारात्मक पूर्णता कॉलबैक के माध्यम से सूचित किया जाता है SWS CSM पृ. 80।

किसी जॉब को रद्द करनाएप्लिकेशनCSMCryIfCrypto Driver ObjectCsm_CancelJob(job, mode)altजॉब अभी भी CSM क्यू में हैजॉब को अपनी क्यू से हटानाजॉब पहले से ही ड्राइवर के पास हैCryIf_CancelJob(channelId, job)Abbruch weiterleiten(Crypto_CancelJob)E_OK / E_NOT_OK(बाद में CRYPTO_E_JOB_CANCELED भी)return valueE_OK: CSM जॉब के पूर्णता कॉलबैक को कॉल करता हैCRYPTO_E_JOB_CANCELED: अगले पर रद्दीकरणgeeigneten Schritt, negativer Abschluss-Callbackreturn value

अनुक्रम आरेख (Sequence diagram): रद्दीकरण या तो CSM-Queue में ही समाप्त हो जाता है या CryIf के माध्यम से Crypto Driver Object को अग्रेषित किया जाता है। स्रोत: [SWS_CryIf_91014], SWS CSM पृ. 80, SWS CryIf पृ. 45

जॉब में कुंजी-IDs को मैप और जाँचना

कुछ जॉब कुंजी प्रबंधन की एक सेवा ले जाते हैं: CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL या CRYPTO_KEYEXCHANGECALCSECRET। उनके लिए CryIf जाँचता है कि क्या job->jobPrimitiveInputOutput->cryIfKeyId और यदि लागू हो तो targetCryIfKeyId मान्य श्रेणी में हैं। यदि ऐसा है, तो यह job->cryptoKeyId या job->targetCryptoKeyId को ड्राइवर के कुंजी-IDs पर सेट करता है [SWS_CryIf_00133] [SWS_CryIf_00141]। यदि स्रोत ID श्रेणी से बाहर है, तो CryIf_ProcessJob DET को CRYPTO_E_PARAM_HANDLE की रिपोर्ट करता है और E_NOT_OK [SWS_CryIf_00134] प्रदान करता है। CRYPTO_KEYDERIVE के लिए लक्ष्य ID [SWS_CryIf_00135] पर भी यही लागू होता है।

कुंजी से संबंधित प्रिमिटिव की भी जाँच की जाती है। CRYPTO_MACGENERATE, CRYPTO_MACVERIFY, CRYPTO_ENCRYPT, CRYPTO_DECRYPT, CRYPTO_AEADENCRYPT, CRYPTO_AEADDECRYPT, CRYPTO_RANDOMGENERATE, CRYPTO_SIGNATUREGENERATE और CRYPTO_SIGNATUREVERIFY में, job->jobPrimitiveInfo->cryIfKeyId की मान्य सीमा के लिए जाँच की जाती है [SWS_CryIf_00143]।

keyid start CryIf_ProcessJob(channelId, job) d1 कुंजी प्रबंधन सेवा? KEYSETVALID, KEYSETINVALID, RANDOMSEED, KEYGENERATE, KEYDERIVE, KEYEXCHANGECALCPUBVAL, KEYEXCHANGECALCSECRET start->d1 c1 क्या jobPrimitiveInputOutput->cryIfKeyId मान्य सीमा में है? d1->c1 हाँ d3 कुंजी के साथ प्रिमिटिव? MACGENERATE/-VERIFY, (AEAD)ENCRYPT/DECRYPT, RANDOMGENERATE, SIGNATUREGENERATE/-VERIFY d1->d3 नहीं d2 Dienst = CRYPTO_KEYDERIVE? c1->d2 हाँ err DET को CRYPTO_E_PARAM_HANDLE रिटर्न E_NOT_OK c1->err नहीं c2 क्या targetCryIfKeyId मान्य सीमा में है? d2->c2 हाँ map job->cryptoKeyId (यदि लागू हो job->targetCryptoKeyId) को ड्राइवर कुंजी ID पर सेट करें d2->map नहीं c2->map हाँ c2->err नहीं fwd चैनल के Crypto Driver Object को अग्रेषित करें map->fwd c3 क्या jobPrimitiveInfo->cryIfKeyId मान्य सीमा में है? d3->c3 हाँ d3->fwd नहीं c3->err नहीं c3->fwd हाँ

गतिविधि आरेख (Activity diagram): CryIf सेवा प्रकार के आधार पर कुंजी-IDs की जाँच करता है और जॉब को आगे अग्रेषित करने से पहले उन्हें ड्राइवर IDs पर मैप करता है। स्रोत: [SWS_CryIf_00133], [SWS_CryIf_00134], [SWS_CryIf_00135], [SWS_CryIf_00143]

यह क्षेत्र रिलीज़ों के बीच बदल गया है। R20-11 जाँचों में CRYPTO_E_PARAM_HANDLE का उल्लेख करता है, जबकि मॉड्यूल की त्रुटि सूची CRYIF_E_PARAM_HANDLE (0x03) [SWS_CryIf_00009] को परिभाषित करती है। परिवर्तन इतिहास के अनुसार, इसे केवल R22-11 में CRYIF_E_PARAM_HANDLE पर एकीकृत किया गया था SWS CryIf पृ. 1। उसी परिवर्तन के साथ DET संदेशों के बाद रिटर्न मान हटा दिए गए। इसके अलावा सेवा CRYPTO_CUSTOM जोड़ी गई, जो बाद के दस्तावेज़ संदर्भ में पहले से ही सूची में है SWS CryIf पृ. 23। R20-11 के लिए Requirements यहाँ उद्धृत रूप में लागू होती हैं।

कुंजी प्रबंधन: सामग्री, स्थिति, निर्माण और विनिमय

प्रत्यक्ष कुंजी-APIs सिंक्रोनस हैं। CryIf_KeyElementSet [SWS_CryIf_91004], CryIf_KeySetValid [SWS_CryIf_91005], CryIf_KeySetInvalid [SWS_CryIf_91021] और CryIf_KeyGetStatus [SWS_CryIf_91012] non-reentrant हैं। परिवर्तन इतिहास के अनुसार, कुंजी स्थिति के लिए कार्यक्षमता R20-11 के साथ जोड़ी गई थी SWS CryIf पृ. 1। यदि किसी तत्व को सेट करना विफल हो जाता है, तो CSM विनिर्देश के अनुसार उसकी स्थिति अज्ञात मानी जाती है SWS CSM पृ. 62। इसे Csm_KeyGetStatus के साथ जाँचा जा सकता है, जो बदले में CryIf_KeyGetStatus को कॉल करता है SWS CSM पृ. 63।

CryIf_KeyElementGet reentrant है [SWS_CryIf_91006]। पैरामीटर resultLengthPtr इनपुट और आउटपुट के रूप में कार्य करता है। कॉल के समय इसमें बफ़र का आकार होता है; आंशिक पहुँच वाले तत्वों के लिए इसके बजाय वह मात्रा होती है जिसे पढ़ा जाना है। पूरा होने के बाद इसमें वास्तव में संग्रहीत डेटा की मात्रा होती है SWS CryIf पृ. 30।

schluesselstatus start शुरू gesetzt एलिमेंट्स सेट किए गए (अभी तक वैध घोषित नहीं, व्याख्या) start->gesetzt CryIf_KeyElementSet valid वैध (valid) gesetzt->valid CryIf_KeySetValid valid->valid Nutzung in Jobs, CryIf_KeyGetStatus invalid अवैध (invalid) valid->invalid CryIf_KeySetInvalid invalid->valid CryIf_KeySetValid invalid->invalid Nutzung scheitert: CRYPTO_E_KEY_NOT_VALID

स्थिति आरेख (State diagram): एक कुंजी को उसके तत्वों को सेट करने के बाद मान्य घोषित किया जाता है और इसे फिर से अमान्य सेट किया जा सकता है। अमान्य कुंजी के मामले में, CRYPTO_E_KEY_NOT_VALID के साथ संचालन विफल हो जाते हैं। CryIf_KeySetValid से पहले की प्रारंभिक स्थिति एक व्याख्या है। स्रोत: [SWS_CryIf_91004], [SWS_CryIf_91005], [SWS_CryIf_91021], [SWS_CryIf_91012], SWS CSM पृ. 70

कुंजी निर्माण के लिए CryIf_RandomSeed [SWS_CryIf_91007] प्रारंभिक मान प्रदान करता है, और CryIf_KeyGenerate [SWS_CryIf_91008] कुंजी उत्पन्न करता है। CSM विनिर्देश के अनुसार, कुंजी तत्व CRYPTO_KE_KEYGENERATE_KEY में बनाई जाती है। इसका आधार CRYPTO_KE_KEYGENERATE_SEED में Seed और CRYPTO_KE_KEYGENERATE_ALGORITHM में एल्गोरिदम हैं SWS CSM पृ. 67। R20-11 में दोनों फ़ंक्शन कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से कार्य करते हैं [SWS_CryIf_91007] [SWS_CryIf_91008]। केवल R21-11 उन्हें सिंक्रोनस के रूप में परिभाषित करता है SWS CryIf पृ. 1। CryIf_KeyDerive सिंक्रोनस और reentrant है और एक स्रोत कुंजी से एक कुंजी व्युत्पन्न करता है, जिसे लक्ष्य कुंजी में संग्रहीत किया जाता है [SWS_CryIf_91009] SWS CryIf पृ. 42।

Diffie-Hellman कुंजी विनिमय के लिए दो फ़ंक्शन हैं। CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] अपने स्वयं के सार्वजनिक मान की गणना करता है। CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] पार्टनर के मान से साझा रहस्य (shared secret) की गणना करता है। कुंजी सामग्री तत्व CRYPTO_KE_KEYEXCHANGE_BASE, CRYPTO_KE_KEYEXCHANGE_PRIVKEY और CRYPTO_KE_KEYEXCHANGE_OWNPUBKEY SWS CSM पृ. 70 में स्थित है। ड्राइवर रहस्य को उसी कुंजी में एक तत्व के रूप में संग्रहीत करता है SWS Crypto पृ. 84। व्याख्या: प्रत्यक्ष कुंजी-APIs के साथ भी, CryIf संभवतः जॉब पथ की तरह ही cryIfKeyId को ड्राइवर के कुंजी-ID पर मैप करता है [SWS_CryIf_00133]। प्रश्न Q-f146ad33e972fa97 (खुला)

CryIf के माध्यम से कुंजी विनिमयAnwendung / CSMCryIfCrypto Driver ObjectKommunikationspartnerUse Case: स्वयं का सार्वजनिक मान परिकलित करेंCryIf_KeyExchangeCalcPubVal(cryIfKeyId,publicValuePtr, publicValueLengthPtr)an konfiguriertes Crypto Driver Object weiterleitenसार्वजनिक मान, रिटर्न मानसार्वजनिक मान, रिटर्न मानUse Case: CryIf के बाहर एक्सचेंजस्वयं का सार्वजनिक मान भेजेंपार्टनर का सार्वजनिक मान भेजेंUse Case: Gemeinsames Geheimnis berechnenCryIf_KeyExchangeCalcSecret(cryIfKeyId,partnerPublicValuePtr, partnerPublicValueLength)Crypto_KeyExchangeCalcSecret(…)गोपनीय कुंजी तत्व के रूप मेंउसी कुंजी में संग्रहीत करेंreturn valuereturn value

अनुक्रम आरेख (Sequence diagram): कुंजी विनिमय दो CryIf कॉल में चलता है। उनके बीच, एप्लिकेशन पार्टनर के साथ CryIf के बाहर सार्वजनिक मानों का आदान-प्रदान करता है। स्रोत: [SWS_CryIf_91010], [SWS_CryIf_91011], SWS CSM पृ. 70, SWS Crypto पृ. 84

Crypto Drivers के भीतर और उनके बीच कुंजियों की प्रतिलिपि बनाना

प्रतियों के लिए CryIf_KeyElementCopy [SWS_CryIf_91015], CryIf_KeyCopy [SWS_CryIf_91016] और CryIf_KeyElementCopyPartial [SWS_CryIf_91018] उपलब्ध हैं। तीनों सिंक्रोनस और reentrant हैं, लेकिन समान cryIfKeyId के लिए नहीं। E_OK और E_NOT_OK के अलावा, वे अन्य के साथ-साथ CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_SIZE_MISMATCH और CRYPTO_E_KEY_EMPTY वापस कर सकते हैं SWS CryIf पृ. 35।

आंशिक प्रतिलिपि के मामले में, विनिर्देश दो मामलों में अंतर करता है:

  • स्रोत और लक्ष्य कुंजी एक ही Crypto Driver में स्थित हैं: CryIf संबंधित ड्राइवर के Crypto_<vi>_<ai>_KeyElementCopyPartial() को कॉल करता है और इसके रिटर्न मान को आगे भेजता है [SWS_CryIf_00139]।
  • कुंजियाँ अलग-अलग ड्राइवरों में स्थित हैं: CryIf Crypto_<vi>_<ai>_KeyElementGet() के साथ तत्व को पढ़ता है, आंशिक डेटा को उसके गंतव्य पर कॉपी करता है और Crypto_<vi>_<ai>_KeyElementSet() [SWS_CryIf_00140] के साथ लक्ष्य तत्व को लिखता है।

ड्राइवरों के कॉपी फ़ंक्शन वैकल्पिक इंटरफ़ेस हैं। यदि कोई तत्व सीधे Flash में स्थित है, तो कॉल में काफी अधिक समय लग सकता है SWS CryIf पृ. 45।

copypartial start CryIf_KeyElementCopyPartial(…) fehler Fehler durch CryIf erkannt? start->fehler abbruch कोई फ़ॉरवर्डिंग नहीं (त्रुटि की स्थिति में व्यवहार देखें) fehler->abbruch हाँ gleich क्या cryIfKeyId और targetCryIfKeyId एक ही Crypto Driver में हैं? fehler->gleich नहीं ende Ende abbruch->ende partial Crypto_<vi>_<ai>_KeyElementCopyPartial() को कॉल करें, रिटर्न मान पास करें gleich->partial हाँ lesen स्रोत तत्व को Crypto_<vi>_<ai>_KeyElementGet() के साथ पढ़ें gleich->lesen नहीं partial->ende kopieren Teildaten an Zielposition kopieren lesen->kopieren schreiben लक्षित तत्व को Crypto_<vi>_<ai>_KeyElementSet() के साथ लिखें kopieren->schreiben schreiben->ende

गतिविधि आरेख (Activity diagram): क्या CryIf सीधे ड्राइवर को सौंपता है या पढ़ने और लिखने के माध्यम से स्वयं कॉपी करता है, यह इस बात पर निर्भर करता है कि कुंजियाँ एक ही ड्राइवर में स्थित हैं या नहीं। स्रोत: [SWS_CryIf_00139], [SWS_CryIf_00140]

त्रुटि की स्थिति में व्यवहार

CryIf विकास त्रुटियों (development errors) की रिपोर्ट DET को देता है। मॉड्यूल की त्रुटि सूची में [SWS_CryIf_00009] शामिल हैं:

त्रुटि कोडमानकारण
CRYIF_E_UNINIT0x00इनिशियलाइज़ेशन से पहले API कॉल
CRYIF_E_INIT_FAILED0x01इनिशियलाइज़ेशन विफल रहा
CRYIF_E_PARAM_POINTER0x02पैरामीटर के रूप में नल पॉइंटर (Null pointer)
CRYIF_E_PARAM_HANDLE0x03पैरामीटर सीमा से बाहर
CRYIF_E_PARAM_VALUE0x04अमान्य पैरामीटर मान
CRYIF_E_KEY_SIZE_MISMATCH0x05स्रोत और लक्ष्य तत्व का आकार मेल नहीं खाता

इनिशियलाइज़ेशन से पहले CRYIF_E_UNINIT की रिपोर्टिंग कई फ़ंक्शंस के लिए प्रमाणित है: CryIf_KeyDerive SWS CryIf पृ. 42, CryIf_RandomSeed SWS CryIf पृ. 37, CryIf_CancelJob SWS CryIf पृ. 24, CryIf_KeyGetStatus SWS CryIf पृ. 29 और CryIf_CallbackNotification SWS CryIf पृ. 44। शेष सेवाओं के लिए भी संभवतः यही लागू होना चाहिए। अन्य जाँचें भी प्रमाणित हैं। CryIf_CancelJob एक अमान्य channelId पर CRYIF_E_PARAM_HANDLE की रिपोर्ट करता है, और एक अमान्य cryIfKeyId पर CryIf_KeyGetStatus की रिपोर्ट करता है। CryIf_CallbackNotification अपने पॉइंटर की जाँच करता है और यदि आवश्यक हो तो CRYIF_E_PARAM_POINTER SWS CryIf पृ. 44 की रिपोर्ट करता है। प्रश्न (खुला)

रनटाइम त्रुटियाँ ड्राइवर से रिटर्न मान के रूप में आती हैं। CryIf उन्हें आगे भेजता है, जैसा कि उदाहरण के लिए आंशिक प्रतिलिपि के लिए [SWS_CryIf_00139] निर्दिष्ट करता है। CSM अपनी ओर से CryIf_ProcessJob के रिटर्न मान को आगे भेजता है SWS CSM पृ. 22। मान सीमा में अन्य के साथ-साथ [SWS_CryIf_91020] शामिल हैं:

  • CRYPTO_E_BUSY (0x02): सेवा अभी भी व्यस्त है
  • CRYPTO_E_ENTROPY_EXHAUSTED (0x04)
  • CRYPTO_E_KEY_READ_FAIL (0x06)
  • CRYPTO_E_KEY_WRITE_FAIL (0x07)
  • CRYPTO_E_KEY_NOT_AVAILABLE (0x08)
  • CRYPTO_E_KEY_NOT_VALID (0x09)

यदि CSM-Queue भरी हुई है, तो CSM पहले ही CRYPTO_E_BUSY के साथ अनुरोध को अस्वीकार कर देता है SWS CSM पृ. 22।

रिटर्न मानों के संबंध में, रिलीज़ इतिहास पर एक नज़र डालना उपयोगी है। CRYPTO_E_QUEUE_FULL को केवल R23-11 के साथ [SWS_CryIf_91003] से हटाया गया था। CryIf_RandomSeed के लिए CRYPTO_E_KEY_EMPTY केवल R24-11 में जोड़ा गया था SWS CryIf पृ. 1। इसलिए R20-11 के लिए इस रिलीज़ की API-Requirements प्रामाणिक हैं, बाद की तारीख वाले दस्तावेज़ अंश नहीं।

आगे विस्तृत साक्ष्य

R20-11 की Requirements और आंशिक रूप से बाद के रिलीज़ों से आने वाले संबंधित दस्तावेज़ अंशों के आधार पर AI-जनरेटेड गाइड। AUTOSAR विनिर्देश ही प्रामाणिक है।

Crypto Interface (CryIf)

Abstracts cryptographic hardware and software acceleration engines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन CryIf_Init [SWS_CryIf_91000] 📄 PDF

void CryIf_Init (const CryIf_ConfigType* configPtr);

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

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

उपयोग

सिंक्रोनस फ़ंक्शन CryIf_Init AUTOSAR Classic Platform [SWS_CryIf_91000] के अनुसार Crypto Interface (CryIf) मॉड्यूल के पूर्ण इनिशियलाइज़ेशन का काम करता है। फ़ंक्शन हेडर फ़ाइल CryIf.h में घोषित है और इसकी सर्विस-ID 0x00 है [SWS_CryIf_91000]। एकमात्र इनपुट पैरामीटर के रूप में, इंटरफ़ेस configPtr की अपेक्षा करता है, जो CryIf_ConfigType प्रकार की एक चयनित कॉन्फ़िगरेशन संरचना का पॉइंटर है [SWS_CryIf_91000]। फ़ंक्शन कोई रिटर्न मान (void) नहीं लौटाता है और इसमें कोई Inout या Out पैरामीटर नहीं होता है [SWS_CryIf_91000]।

सेमांटिक्स और कॉनकरेंसी

CryIf_Init का कॉल सिंक्रोनस रूप से निष्पादित होता है [SWS_CryIf_91000]। इस प्रकार, कॉल करने वाले को निष्पादन लौटाए जाने से पहले मॉड्यूल सभी आवश्यक इनिशियलाइज़ेशन कार्य पूरा करता है। समवर्तीता के संबंध में, फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_CryIf_91000]। इसलिए, रूटीन को कभी भी समानांतर या नेस्टेड रूप से कॉल नहीं किया जाना चाहिए।

प्रतिबंध और एकीकरण

व्याख्या: CryIf_Init का कॉल आमतौर पर बेसिक सॉफ़्टवेयर के इनिशियलाइज़ेशन चरण के दौरान सिस्टम स्टार्टअप पर केंद्रीय रूप से होना चाहिए, इससे पहले कि डाउनस्ट्रीम क्रिप्टो इंटरफ़ेस सेवाओं को कॉल करने की अनुमति दी जा सके। प्रश्न Q-31b82ca9b144c843 (खुला) चूंकि पेलोड में किसी विशिष्ट एरर हैंडलिंग, DET संदेशों या DEM घटनाओं का उल्लेख नहीं है, इसलिए कॉल करने वाले को पहले से कॉन्फ़िगरेशन का एक मान्य पॉइंटर सुनिश्चित करना चाहिए। संबंधित आवश्यकताएं पेलोड में परिभाषित नहीं हैं।

यह उपयोग नोट स्वचालित रूप से तैयार किया गया था और यह केवल SWS_CryIf_91000 के विनिर्देश डेटा पर आधारित है।

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

फ़ंक्शन CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

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

हेडर CryIf.h के माध्यम से प्रदान किया गया फ़ंक्शन CryIf_ProcessJob (सर्विस-ID 0x03) संबंधित कॉन्फ़िगर किए गए Crypto Driver ऑब्जेक्ट को क्रिप्टोग्राफ़िक प्रोसेसिंग जॉब्स अग्रेषित करता है [SWS_CryIf_91003]। एक पैरामीटर के रूप में, यह क्रिप्टो चैनल का पहचानकर्ता (channelId) और जॉब कॉन्फ़िगरेशन का एक पॉइंटर (job) स्वीकार करता है [SWS_CryIf_91003]। संरचना job में उपयोगकर्ता और विशिष्ट क्रिप्टो प्रिमिटिव दोनों के लिए प्रासंगिक सभी जानकारी शामिल होती है [SWS_CryIf_91003]। जॉब निष्पादन कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है; इसके अतिरिक्त, इंटरफ़ेस को रीएंट्रेंट लागू किया गया है [SWS_CryIf_91003]।

त्रुटिरहित स्वीकृति पर, फ़ंक्शन E_OK लौटाता है [SWS_CryIf_91003]। यदि अनुरोध विफल हो जाता है, तो रिटर्न मान या तो E_NOT_OK या ड्राइवर की एक विशिष्ट त्रुटि स्थिति को इंगित करता है: CRYPTO_E_BUSY (ड्राइवर ऑब्जेक्ट व्यस्त है), CRYPTO_E_QUEUE_FULL (कतार भरी हुई है), कुंजी स्थितियों से संबंधित त्रुटियां जैसे कि CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL या CRYPTO_E_KEY_WRITE_FAIL, साथ ही सिंक्रोनस जॉब रद्द होने पर CRYPTO_E_JOB_CANCELED और CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003]।

इसके अतिरिक्त, इंटरफ़ेस कुंजी पहचानकर्ताओं की पूर्व-जांच करता है:

  • यदि job->jobPrimitiveInfo->primitiveInfo->service को CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL या CRYPTO_KEYEXCHANGECALCSECRET पर सेट किया गया है, तो job->cryIfKeyId मान्य मान सीमा में होना चाहिए [SWS_CryIf_00134]। अन्यथा, फ़ंक्शन DET को त्रुटि CRYPTO_E_PARAM_HANDLE रिपोर्ट करता है और E_NOT_OK के साथ निरस्त हो जाता है [SWS_CryIf_00134]।
  • यदि सेवा CRYPTO_KEYDERIVE का अनुरोध किया जाता है, तो लक्ष्य कुंजी पहचानकर्ता job->cryIfTargetKeyId भी मान्य सीमा में होना चाहिए; अन्यथा, CRYPTO_E_PARAM_HANDLE भी DET को रिपोर्ट किया जाता है और E_NOT_OK लौटाया जाता है [SWS_CryIf_00135]।

यह पाठ एक AI द्वारा तैयार किया गया था और AUTOSAR CP R20-11 विनिर्देश पर आधारित है।

फ़ंक्शन CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

This interface dispatches the job cancellation function to the configured crypto driver object.

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

फ़ंक्शन CryIf_CancelJob का उपयोग किसी क्रिप्टो जॉब के रद्दीकरण अनुरोध को कॉन्फ़िगर किए गए क्रिप्टो ड्राइवर ऑब्जेक्ट को अग्रेषित करने के लिए किया जाता है [SWS_CryIf_91014]। यह Crypto Interface का मानकीकृत इंटरफ़ेस प्रदान करता है, हेडर CryIf.h के माध्यम से घोषित किया गया है और इसकी सर्विस-ID 0x0e है [SWS_CryIf_91014]।

कॉल के लिए, लक्ष्य चैनल का पहचानकर्ता और जॉब का कॉन्फ़िगरेशन पास किया जाना चाहिए [SWS_CryIf_91014]:

  • channelId (इनपुट, uint32): संबंधित क्रिप्टो चैनल का पहचानकर्ता रखता है [SWS_CryIf_91014]।
  • job (इनपुट/आउटपुट, Crypto_JobType*): जॉब कॉन्फ़िगरेशन का पॉइंटर, जिसमें उपयोगकर्ता- और प्रिमिटिव-प्रासंगिक जानकारी वाली संरचनाएं शामिल हैं [SWS_CryIf_91014]।

निष्पादन सिंक्रोनस रूप से होता है और कॉलर को प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_CryIf_91014]:

  • E_OK: अनुरोध सफल रहा और जॉब को ड्राइवर से हटा दिया गया [SWS_CryIf_91014]।
  • E_NOT_OK: अनुरोध विफल रहा क्योंकि जॉब को हटाया नहीं जा सका [SWS_CryIf_91014]।
  • CRYPTO_E_JOB_CANCELED: जॉब रद्दीकरण की पुष्टि करने के लिए निर्दिष्ट क्रिप्टो रिटर्न मान [SWS_CryIf_91014]।

समवर्ती व्यवहार के संबंध में, CryIf_CancelJob को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91014]। यह जॉब रद्दीकरण के लिए समानांतर कॉल की अनुमति देता है, जिसमें निष्पादन को अंतर्निहित ड्राइवर ऑब्जेक्ट को ब्लॉकिंग तरीके से सौंपा जाता है [SWS_CryIf_91014]।

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

फ़ंक्शन CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

This function shall dispatch the set key element function to the configured crypto driver object.

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

सिंक्रोनस फ़ंक्शन CryIf_KeyElementSet (सर्विस-ID 0x04) एक कुंजी तत्व सेट करने के अनुरोध को कॉन्फ़िगर किए गए क्रिप्टो ड्राइवर ऑब्जेक्ट पर अग्रेषित करता है [SWS_CryIf_91004]। फ़ंक्शन डिक्लेरेशन हेडर फ़ाइल CryIf.h के माध्यम से प्रदान किया जाता है [SWS_CryIf_91004]।

कॉल चार इनपुट पैरामीटर के माध्यम से किया जाता है [SWS_CryIf_91004]:

  • cryIfKeyId: उस कुंजी के आइडेंटिफ़ायर को निर्दिष्ट करता है, जिसके कुंजी तत्व को अपडेट किया जाना है।
  • keyElementId: सेट किए जाने वाले विशिष्ट कुंजी तत्व के आइडेंटिफ़ायर को निर्दिष्ट करता है।
  • keyPtr: उस बफ़र का पॉइंटर जिसमें कुंजी डेटा होता है, जिसे एक तत्व के रूप में अपनाया जाना है।
  • keyLength: सेट किए जाने वाले कुंजी तत्व की लंबाई बाइट्स में निर्दिष्ट करता है।

फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91004]। इसलिए, कॉल करने वालों को यह सुनिश्चित करना चाहिए कि कॉल असंगठित रूप से समवर्ती न हों।

Std_ReturnType प्रकार का रिटर्न मान अग्रेषण या निष्पादन के परिणाम का संकेत देता है [SWS_CryIf_91004]:

  • E_OK: अनुरोध सफल रहा।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_BUSY: असाइन किया गया क्रिप्टो ड्राइवर ऑब्जेक्ट वर्तमान में व्यस्त है।
  • CRYPTO_E_KEY_WRITE_FAIL: कुंजी तत्व पर राइट एक्सेस से इनकार कर दिया गया।
  • CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित कुंजी उपलब्ध नहीं है।
  • CRYPTO_E_KEY_SIZE_MISMATCH: कुंजी तत्व का आकार प्रदान किए गए डेटा की लंबाई से मेल नहीं खाता है।

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

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

फ़ंक्शन CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

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

उपयोग

सिंक्रोनस इंटरफ़ेस CryIf_KeySetValid (सर्विस-ID 0x05) हेडर फ़ाइल CryIf.h के माध्यम से प्रदान किया जाता है और किसी कुंजी को मान्य करने के अनुरोध को संबंधित कॉन्फ़िगर किए गए क्रिप्टो ड्राइवर ऑब्जेक्ट पर अग्रेषित करता है [SWS_CryIf_91005]। एकमात्र पैरामीटर के रूप में, आइडेंटिफ़ायर cryIfKeyId पास किया जाता है, जो उस लक्ष्य कुंजी को निर्धारित करता है जिसके कुंजी तत्वों को मान्य के रूप में चिह्नित किया जाना है [SWS_CryIf_91005]। इस फ़ंक्शन के लिए कोई अतिरिक्त इनपुट/आउटपुट या आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_CryIf_91005]।

रिटर्न मान और त्रुटि प्रबंधन

Std_ReturnType प्रकार का रिटर्न मान कॉलर को ड्राइवर में अग्रेषण और प्रसंस्करण के परिणाम के बारे में सूचित करता है [SWS_CryIf_91005]:

  • E_OK: ऑपरेशन क्रिप्टो ड्राइवर ऑब्जेक्ट पर सफलतापूर्वक अग्रेषित किया गया और सफलतापूर्वक पूरा हुआ [SWS_CryIf_91005]।
  • E_NOT_OK: अनुरोध का अग्रेषण या निष्पादन विफल रहा [SWS_CryIf_91005]।
  • CRYPTO_E_BUSY: अनुरोध निष्पादित नहीं किया जा सका क्योंकि जिम्मेदार क्रिप्टो ड्राइवर ऑब्जेक्ट वर्तमान में व्यस्त है [SWS_CryIf_91005]।

समवर्तीता और प्रतिबंध

फ़ंक्शन को विनिर्देश में स्पष्ट रूप से गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91005]। इसलिए कॉल करने वाले इंस्टेंस को यह सुनिश्चित करना चाहिए कि ड्राइवर ऑब्जेक्ट पर अग्रेषण के दौरान टकराव को विश्वसनीय रूप से रोकने के लिए CryIf_KeySetValid के कॉल कभी भी समवर्ती या बाधित रूप से निष्पादित न हों।

यह उपयोग नोट विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

फ़ंक्शन CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

Sets invalid for the status of the key identifi ed by cry If Key Id.

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

समकालिक इंटरफ़ेस CryIf_KeySetInvalid (Service ID 0x14) पैरामीटर cryIfKeyId के माध्यम से पहचानी गई कुंजी की स्थिति को अमान्य पर सेट करता है [SWS_CryIf_91021]। फ़ंक्शन का डिक्लेरेशन हेडर फ़ाइल CryIf.h के माध्यम से प्रदान किया जाता है [SWS_CryIf_91021]।

फ़ंक्शन के उपयोग के लिए निम्नलिखित पैरामीटर और रिटर्न मान लागू होते हैं [SWS_CryIf_91021]:

  • पासिंग पैरामीटर: uint32 प्रकार के इनपुट पैरामीटर cryIfKeyId के माध्यम से उस कुंजी का पहचानकर्ता पास किया जाता है, जिसकी वैधता रद्द की जानी है। इनपुट और आउटपुट पैरामीटर मौजूद नहीं हैं।
  • रिटर्न मान (Std_ReturnType):
    • E_OK: स्थिति परिवर्तन का अनुरोध सफल रहा।
    • E_NOT_OK: अनुरोध विफल रहा।
    • CRYPTO_E_BUSY: निष्पादन विफल रहा, क्योंकि संबंधित Crypto Driver Object व्यस्त है।

समवर्तीता और निष्पादन संदर्भ के संबंध में, CryIf_KeySetInvalid को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91021]। इसलिए कॉलिंग इंस्टैंस को यह सुनिश्चित करना होगा कि कॉल्स क्रमिक रूप से निष्पादित हों और एक दूसरे को ओवरलैप न करें। यदि रिटर्न मान CRYPTO_E_BUSY प्राप्त होता है, तो Crypto Driver Object अस्थायी रूप से अवरुद्ध होता है [SWS_CryIf_91021]; इस मामले में कॉलर संभवतः स्थिति के अमान्यकरण को बाद में दोहराने के लिए ज़िम्मेदार होगा। प्रश्न Q-4377065d4d4eecab (खुला)

यह पाठ एक AI द्वारा तैयार किया गया था और विशेष रूप से AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित है।

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

फ़ंक्शन CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by cry If Key Id.

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

उपयोग और कॉल संदर्भ

फ़ंक्शन CryIf_KeyGetStatus का उपयोग Crypto Interface [SWS_CryIf_91012] के भीतर किसी क्रिप्टोग्राफ़िक कुंजी की स्थिति को सिंक्रोनस रूप से क्वेरी करने के लिए किया जाता है। यह सर्विस-ID 0x13 के साथ हेडर CryIf.h के माध्यम से उपलब्ध है [SWS_CryIf_91012]। कॉल करते समय निम्नलिखित पैरामीटर पास किए जाते हैं:

  • cryIfKeyId (इनपुट): उस कुंजी का अद्वितीय पहचानकर्ता, जिसकी स्थिति निर्धारित की जानी है [SWS_CryIf_91012]।
  • keyStatusPtr (आउटपुट): प्रकार Crypto_KeyStatusType के एक चर का पॉइंटर, जिसमें कुंजी की स्थिति लिखी जाती है [SWS_CryIf_91012]।

त्रुटि प्रबंधन और रिटर्न मान

प्रकार Std_ReturnType का रिटर्न मान निष्पादन के परिणाम को इंगित करता है [SWS_CryIf_91012]:

  • E_OK: स्थिति क्वेरी सफल रही और स्थिति लक्ष्य मेमोरी में संग्रहीत की गई [SWS_CryIf_91012]।
  • E_NOT_OK: अनुरोध विफल रहा [SWS_CryIf_91012]।

तत्व विनिर्देश में विशिष्ट त्रुटि कोड, DET संदेश या DEM घटनाएं निर्दिष्ट नहीं हैं; कॉलर-साइड त्रुटि प्रबंधन मुख्य रूप से रिटर्न मान के मूल्यांकन पर निर्भर करता है।

समवर्तीता और प्रतिबंध

फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91012]। इसलिए कॉलर्स को यह सुनिश्चित करना चाहिए कि समान या भिन्न कुंजी इंस्टेंसेस के लिए कोई समवर्ती या बाधित करने वाले कॉल न हों। इसके अलावा, कॉलर को संभवतः आउटपुट पॉइंटर keyStatusPtr के लिए एक मान्य मेमोरी क्षेत्र प्रदान करना चाहिए, क्योंकि यह फ़ंक्शन द्वारा सीधे लिखा जाता है। प्रश्न Q-da3a034d4f2e9442 (खुला)

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

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

फ़ंक्शन CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

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

सिंक्रोनस फ़ंक्शन CryIf_KeyElementGet एक कुंजी तत्व की क्वेरी को कॉन्फ़िगर किए गए Crypto Driver Object पर अग्रेषित करता है [SWS_CryIf_91006]। यह हेडर फ़ाइल CryIf.h के माध्यम से घोषित है और इसे रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91006]।

उपयोग और पैरामीटर

कॉल किए जाने पर, cryIfKeyId प्रभावित कुंजी की पहचान करता है और keyElementId पुनर्प्राप्त किए जाने वाले कुंजी तत्व की पहचान करता है [SWS_CryIf_91006]। पेलोड डेटा बफ़र resultPtr में संग्रहीत किया जाता है [SWS_CryIf_91006]। पॉइंटर resultLengthPtr लंबाई नियंत्रण के लिए एक संयुक्त इनपुट और आउटपुट पैरामीटर के रूप में कार्य करता है [SWS_CryIf_91006]:

  • निष्पादन से पहले, कॉलर इसमें resultPtr का उपलब्ध बफ़र आकार पास करता है [SWS_CryIf_91006]।
  • यदि कुंजी तत्व आंशिक पहुंच की अनुमति देता है, तो मान इसके बजाय पुनर्प्राप्त किए जाने वाले डेटा की मात्रा को परिभाषित करता है, जिसे बफ़र आकार के अनुरूप होने की आवश्यकता नहीं है [SWS_CryIf_91006]।
  • ऑपरेशन पूरा होने के बाद, फ़ंक्शन इस मेमोरी स्थान पर वास्तव में लिखे गए डेटा की मात्रा को संग्रहीत करता है [SWS_CryIf_91006]।

त्रुटि प्रबंधन और रिटर्न मान

Std_ReturnType प्रकार का रिटर्न मान सफलता या त्रुटि की स्थिति का संकेत देता है [SWS_CryIf_91006]:

  • E_OK: अनुरोध सफलतापूर्वक पूरा हुआ [SWS_CryIf_91006]।
  • E_NOT_OK: निष्पादन विफल रहा है [SWS_CryIf_91006]।
  • CRYPTO_E_BUSY: Crypto Driver Object व्यस्त है [SWS_CryIf_91006]।
  • CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित कुंजी तत्व उपलब्ध नहीं है [SWS_CryIf_91006]।
  • CRYPTO_E_KEY_READ_FAIL: कुंजी तत्व पर रीड एक्सेस अस्वीकार कर दी गई थी [SWS_CryIf_91006]।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभ नहीं किया गया है [SWS_CryIf_91006]।

यह उपयोग संबंधी निर्देश AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

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

फ़ंक्शन CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopy.

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

सिंक्रोनस फ़ंक्शन CryIf_KeyElementCopy का उपयोग [SWS_CryIf_91015] के अनुसार स्रोत कुंजी से लक्ष्य कुंजी में एक कुंजी तत्व को कॉपी करने के लिए किया जाता है। सेवा हेडर फ़ाइल CryIf.h के माध्यम से उपलब्ध है।

कॉल के लिए, इनपुट पैरामीटर्स के माध्यम से स्रोत कुंजी (cryIfKeyId), कॉपी किया जाने वाला स्रोत तत्व (keyElementId), साथ ही लक्ष्य कुंजी (targetCryIfKeyId) और लक्ष्य तत्व (targetKeyElementId) पास किए जाते हैं [SWS_CryIf_91015]। फ़ंक्शन को रीएंट्रेंट डिज़ाइन किया गया है, लेकिन स्पष्ट रूप से समान cryIfKeyId के लिए नहीं [SWS_CryIf_91015]। व्याख्या के रूप में यह स्वाभाविक प्रतीत होता है कि डेटा विरोध से बचने के लिए, कॉलर द्वारा समान लक्ष्य कुंजी (targetCryIfKeyId) पर समवर्ती लेखन एक्सेस को भी सिंक्रोनाइज़ किया जाना चाहिए। प्रश्न Q-cba3554c537dd498 (खुला)

प्रकार Std_ReturnType का रिटर्न मान ऑपरेशन के परिणाम का संकेत देता है [SWS_CryIf_91015]:

  • E_OK: कॉपी प्रक्रिया सफल रही।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_BUSY: संबद्ध Crypto Driver Object व्यस्त है।
  • CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित कुंजी तत्व उपलब्ध नहीं है।
  • CRYPTO_E_KEY_READ_FAIL: स्रोत कुंजी तत्व को पढ़ना अनुमत नहीं है।
  • CRYPTO_E_KEY_WRITE_FAIL: लक्ष्य कुंजी तत्व को लिखने की अनुमति नहीं है।
  • CRYPTO_E_KEY_SIZE_MISMATCH: शामिल कुंजी तत्वों के आकार संगत नहीं हैं।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है।

यह उपयोग नोट AUTOSAR R20-11 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।

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

फ़ंक्शन CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

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

हेडर CryIf.h के माध्यम से प्रदान किया गया समकालिक फ़ंक्शन CryIf_KeyElementCopyPartial किसी कुंजी तत्व के आंशिक भागों को किसी अन्य कुंजी तत्व [SWS_CryIf_91018] में कॉपी करता है। स्रोत और गंतव्य कुंजियों के साथ-साथ संबंधित तत्वों को पैरामीटर cryIfKeyId, keyElementId, targetCryIfKeyId और targetKeyElementId के माध्यम से निर्दिष्ट किया जाता है [SWS_CryIf_91018]। दोनों तत्वों के भीतर प्रारंभिक स्थितियाँ keyElementSourceOffset और keyElementTargetOffset द्वारा निर्धारित की जाती हैं, जबकि keyElementCopyLength स्थानांतरित किए जाने वाले बाइट्स की सटीक संख्या निर्धारित करता है [SWS_CryIf_91018]।

समवर्तीता के संबंध में, रूटीन को रीएंट्रेंट डिज़ाइन किया गया है, हालांकि स्पष्ट रूप से समान स्रोत कुंजी (cryIfKeyId) के लिए नहीं [SWS_CryIf_91018]। इसलिए समान स्रोत कुंजी ID के साथ समानांतर कॉल्स को कॉलर द्वारा सिंक्रोनाइज़ किया जाना चाहिए या टाला जाना चाहिए।

रिटर्न मान समकालिक अनुरोध [SWS_CryIf_91018] की विस्तृत निष्पादन स्थिति की रिपोर्ट करता है:

  • E_OK: कॉपी करने की प्रक्रिया सफलतापूर्वक निष्पादित की गई।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_BUSY: संबंधित Crypto Driver Object व्यस्त है।
  • CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित स्रोत या गंतव्य कुंजी तत्व उपलब्ध नहीं है।
  • CRYPTO_E_KEY_READ_FAIL: स्रोत कुंजी तत्व को पढ़ना अनुमत नहीं है।
  • CRYPTO_E_KEY_WRITE_FAIL: गंतव्य कुंजी तत्व में लिखना अनुमत नहीं है।
  • CRYPTO_E_KEY_SIZE_MISMATCH: तत्व आकार या ऑफ़सेट और लंबाई के विनिर्देश असंगत हैं।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है।

यह उपयोग संबंधी निर्देश AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

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

फ़ंक्शन CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall co py all key elements from the source key to a target key.

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

उपयोग

सिंक्रोनस फ़ंक्शन CryIf_KeyCopy एक स्रोत कुंजी से सभी कुंजी तत्वों को एक निर्दिष्ट लक्ष्य कुंजी ([SWS_CryIf_91016]) में कॉपी करता है। यह हेडर फ़ाइल CryIf.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस-ID 0x10 ([SWS_CryIf_91016]) है।

फ़ंक्शन दो इनपुट पैरामीटर की अपेक्षा करता है ([SWS_CryIf_91016]):

  • cryIfKeyId: उस कुंजी का आइडेंटिफ़ायर जिसके कुंजी तत्व स्रोत के रूप में काम करते हैं।
  • targetCryIfKeyId: उस कुंजी का आइडेंटिफ़ायर जो कुंजी तत्वों को लक्ष्य के रूप में प्राप्त करती है।

समवर्तीता और प्रतिबंध

इंटरफ़ेस को रीएंट्रेंट निर्दिष्ट किया गया है, लेकिन इसे एक ही समय में समान स्रोत कुंजी आइडेंटिफ़ायर (cryIfKeyId) के लिए कॉल नहीं किया जाना चाहिए ([SWS_CryIf_91016])।

त्रुटि प्रबंधन

प्रकार Std_ReturnType का रिटर्न मान ऑपरेशन के परिणाम को इंगित करता है ([SWS_CryIf_91016]):

  • E_OK: कॉपी करने की प्रक्रिया सफलतापूर्वक पूर्ण हुई।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_BUSY: विफल रहा, क्योंकि अंतर्निहित Crypto-Driver ऑब्जेक्ट व्यस्त है।
  • CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित कुंजी तत्व उपलब्ध नहीं है।
  • CRYPTO_E_KEY_READ_FAIL: कुंजी तत्व को पढ़ना अनुमत नहीं है।
  • CRYPTO_E_KEY_WRITE_FAIL: लक्ष्य कुंजी तत्व में लिखना अनुमत नहीं है।
  • CRYPTO_E_KEY_SIZE_MISMATCH: कुंजी तत्वों के आकार एक दूसरे के साथ संगत नहीं हैं।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है।

यह उपयोग नोट विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

फ़ंक्शन CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

This function shall dispatch the random seed function to the configured crypto driver object.

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

फ़ंक्शन CryIf_RandomSeed का उपयोग कॉन्फ़िगर किए गए क्रिप्टो ड्राइवर ऑब्जेक्ट को रैंडम सीड (Random Seed) के जनरेशन या फ़ीडिंग को अग्रेषित करने के लिए किया जाता है [SWS_CryIf_91007]। यह हेडर फ़ाइल CryIf.h के माध्यम से उपलब्ध है और इसकी Service-ID 0x07 है [SWS_CryIf_91007]।

इंटरफ़ेस को तीन इनपुट पैरामीटर्स की अपेक्षा होती है [SWS_CryIf_91007]:

  • cryIfKeyId: उस कुंजी का आइडेंटिफ़ायर जिसके लिए एक नया सीड जनरेट किया जाना है।
  • seedPtr: सीड को फ़ीड करने के डेटा वाले मेमोरी क्षेत्र का पॉइंटर।
  • seedLength: बाइट्स में सीड की लंबाई।

निष्पादन व्यवहार (सिंक्रोनस या एसिंक्रोनस) निश्चित रूप से पूर्वनिर्धारित नहीं है, बल्कि संबंधित कॉन्फ़िगरेशन पर निर्भर करता है [SWS_CryIf_91007]। समवर्तीता के संबंध में, फ़ंक्शन को reentrant के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91007]।

रिटर्न मान के रूप में, फ़ंक्शन निम्नलिखित स्थिति मानों के साथ एक Std_ReturnType प्रदान करता है [SWS_CryIf_91007]:

  • E_OK: अनुरोध सफल रहा।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल रहा क्योंकि कुंजी की कुंजी स्थिति “invalid” है।

व्याख्या: CRYPTO_E_KEY_NOT_VALID लौटाए जाने की स्थिति में, यह जांच पास की गई कुंजी cryIfKeyId को संदर्भित करती प्रतीत होती है, यद्यपि विनिर्देश पाठ में भिन्न रूप से cryptoKeyId का उल्लेख किया गया है [SWS_CryIf_91007]। प्रश्न Q-22b20256f21f131b (खुला)

यह पाठ AI द्वारा जनरेट किया गया था और AUTOSAR CP R20-11 विनिर्देश पर आधारित है।

फ़ंक्शन CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

This function shall dispatch the key generate function to the configured crypto driver object.

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

उपयोग

फ़ंक्शन CryIf_KeyGenerate कुंजी निर्माण के फ़ंक्शन कॉल को कॉन्फ़िगर किए गए Crypto Driver ऑब्जेक्ट पर अग्रेषित करता है [SWS_CryIf_91008]। इनपुट पैरामीटर cryIfKeyId के माध्यम से कुंजी का अद्वितीय आइडेंटिफ़ायर पास किया जाता है, जिसे नए जेनरेट किए गए कुंजी मान के साथ अपडेट किया जाना है [SWS_CryIf_91008]। इस इंटरफ़ेस की घोषणा हेडर CryIf.h के माध्यम से प्रदान की जाती है [SWS_CryIf_91008]।

सिंक्रोनाइज़ेशन व्यवहार और समवर्तीता

अंतर्निहित कॉन्फ़िगरेशन के आधार पर निष्पादन या तो सिंक्रोनस या एसिंक्रोनस होता है [SWS_CryIf_91008]। कॉल संदर्भ और समवर्तीता के संबंध में, फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91008]।

रिटर्न मान और त्रुटि प्रबंधन

यह कॉल Std_ReturnType प्रकार का एक स्टेटस मान लौटाता है [SWS_CryIf_91008]:

  • E_OK: कुंजी निर्माण का अनुरोध सफलतापूर्वक निष्पादित किया गया [SWS_CryIf_91008]।
  • E_NOT_OK: अनुरोध विफल रहा [SWS_CryIf_91008]।
  • CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि लक्षित Crypto Driver ऑब्जेक्ट वर्तमान में व्यस्त है [SWS_CryIf_91008]।
  • CRYPTO_E_KEY_EMPTY: अनुरोध विफल रहा क्योंकि एक आवश्यक स्रोत कुंजी तत्व अनिर्धारित (uninitialized) है [SWS_CryIf_91008]।
  • CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल रहा क्योंकि कुंजी आइडेंटिफ़ायर द्वारा संदर्भित कुंजी की स्थिति अमान्य है [SWS_CryIf_91008]।

यह उपयोग नोट AUTOSAR रिलीज़ R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

फ़ंक्शन CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

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

उपयोग

फ़ंक्शन CryIf_KeyDerive का उपयोग कुंजी व्युत्पत्ति के अनुरोध को संबंधित कॉन्फ़िगर किए गए Crypto Driver Object को सिंक्रोनस रूप से अग्रेषित करने के लिए किया जाता है [SWS_CryIf_91009]। इंटरफ़ेस को हेडर फ़ाइल CryIf.h के माध्यम से सर्विस-ID 0x09 के साथ घोषित किया गया है [SWS_CryIf_91009]।

कॉल करते समय, दो कुंजी पहचानकर्ता पास किए जाते हैं [SWS_CryIf_91009]:

  • cryIfKeyId: उस कुंजी का पहचानकर्ता, जिसका उपयोग व्युत्पत्ति के आधार के रूप में किया जाता है।
  • targetCryIfKeyId: उस कुंजी का पहचानकर्ता, जिसमें व्युत्पन्न कुंजी संग्रहीत की जाती है।

त्रुटि प्रबंधन और रिटर्न मान

ऑपरेशन का परिणाम रिटर्न प्रकार Std_ReturnType के माध्यम से प्रेषित किया जाता है [SWS_CryIf_91009]:

  • E_OK: अनुरोध सफलतापूर्वक निष्पादित किया गया था [SWS_CryIf_91009]।
  • E_NOT_OK: निष्पादन विफल रहा है [SWS_CryIf_91009]।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभ नहीं किया गया है [SWS_CryIf_91009]।
  • CRYPTO_E_KEY_NOT_VALID: संदर्भित कुंजी की कुंजी स्थिति अमान्य है [SWS_CryIf_91009]।
  • CRYPTO_E_BUSY: अंतर्निहित Crypto Driver Object ने CRYPTO_E_BUSY की रिपोर्ट की है [SWS_CryIf_91009]।

समवर्तीता और सीमांत शर्तें

इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91009]। चूंकि प्रक्रिया सिंक्रोनस रूप से होती है, इसलिए कॉलर को संबंधित कॉल संदर्भ में ड्राइवर के निष्पादन समय को ध्यान में रखना पड़ सकता है। प्रश्न Q-2b2fd50249878177 (खुला)

यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।

फ़ंक्शन CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

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

सिंक्रोनस और रीएंट्रेंट फ़ंक्शन CryIf_KeyExchangeCalcPubVal सार्वजनिक कुंजी विनिमय मान की गणना को कॉन्फ़िगर किए गए Crypto Driver ऑब्जेक्ट पर अग्रेषित करता है [SWS_CryIf_91010]। सर्विस हेडर CryIf.h के माध्यम से उपलब्ध है [SWS_CryIf_91010]।

फ़ंक्शन कॉल के दौरान निम्नलिखित पैरामीटर संसाधित किए जाते हैं [SWS_CryIf_91010]:

  • cryIfKeyId: उस कुंजी का आइडेंटिफ़ायर, जिसका उपयोग कुंजी विनिमय प्रोटोकॉल के लिए किया जाना है।
  • publicValuePtr: उस मेमोरी क्षेत्र का पॉइंटर जिसमें परिकलित सार्वजनिक मान संग्रहीत किया जाता है।
  • publicValueLengthPtr: लंबाई जानकारी का पॉइंटर। कॉल के समय, इस पैरामीटर में प्रदान किया गया बफ़र आकार होना चाहिए; पूरा होने के बाद यह परिकलित मान की वास्तविक लंबाई को संग्रहीत करता है।

फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_CryIf_91010]:

  • E_OK: अनुरोध सफल रहा।
  • E_NOT_OK: अनुरोध विफल रहा।
  • CRYPTO_E_BUSY: त्रुटि, क्योंकि जिम्मेदार Crypto Driver ऑब्जेक्ट व्यस्त है।
  • CRYPTO_E_KEY_EMPTY: एक अनिर्धारित स्रोत कुंजी तत्व के कारण त्रुटि।
  • CRYPTO_E_KEY_NOT_VALID: त्रुटि, क्योंकि संबोधित कुंजी अमान्य स्थिति में है।

यह पाठ AI-समर्थित प्रणाली द्वारा तैयार किया गया था और पूरी तरह से AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित है।

फ़ंक्शन CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

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

सिंक्रोनस फ़ंक्शन CryIf_KeyExchangeCalcSecret कुंजी विनिमय के दौरान साझा रहस्य की गणना को कॉन्फ़िगर किए गए Crypto Driver ऑब्जेक्ट पर अग्रेषित करता है [SWS_CryIf_91011]। सर्विस को कुंजी का आइडेंटिफ़ायर (cryIfKeyId), संचार भागीदार के सार्वजनिक कुंजी मान का पॉइंटर (partnerPublicValuePtr) और बाइट्स में इसकी लंबाई (partnerPublicValueLength) पास की जाती है [SWS_CryIf_91011]।

एरर हैंडलिंग: फ़ंक्शन Std_ReturnType के माध्यम से परिणाम वापस रिपोर्ट करता है [SWS_CryIf_91011]:

  • E_OK: गणना सफलतापूर्वक निष्पादित की गई [SWS_CryIf_91011]।
  • CRYPTO_E_BUSY: Crypto Driver ऑब्जेक्ट व्यस्त है [SWS_CryIf_91011]।
  • CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व इनिशियलाइज़ नहीं है [SWS_CryIf_91011]।
  • CRYPTO_E_KEY_NOT_VALID: निर्दिष्ट कुंजी की कुंजी स्थिति अमान्य है [SWS_CryIf_91011]।
  • E_NOT_OK: अनुरोध विफल रहा [SWS_CryIf_91011]।

समवर्तीता: इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_CryIf_91011]। चूंकि प्रक्रिया सिंक्रोनस रूप से निष्पादित होती है, इसलिए कॉल आमतौर पर टास्क संदर्भ में होना चाहिए। प्रश्न Q-b3bca3645b0ef468 (खुला) सर्विस हेडर फ़ाइल CryIf.h के माध्यम से प्रदान की जाती है [SWS_CryIf_91011]।

यह उपयोग नोट AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।

फ़ंक्शन CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

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

[SWS_CryIf_91013] के अनुसार, फ़ंक्शन CryIf_CallbackNotification का उपयोग Crypto Interface (CryIf) को किसी क्रिप्टोग्राफ़िक ऑपरेशन के पूरा होने और उसके परिणाम के बारे में सूचित करने के लिए किया जाता है। घोषणा हेडर CryIf.h के माध्यम से उपलब्ध है और इसकी सर्विस-ID 0x0d है [SWS_CryIf_91013]।

कॉल सिंक्रोनस रूप से होता है और दो अनिवार्य इनपुट पैरामीटर संसाधित करता है [SWS_CryIf_91013]:

  • job (इनपुट, Crypto_JobType*): पूर्ण किए गए कार्य की सूचना संरचना की ओर इंगित करता है और इसमें पूर्ण किए गए कार्य को असाइन करने के लिए एक कॉलबैक-ID शामिल होती है [SWS_CryIf_91013]।
  • result (इनपुट, Crypto_ResultType): निष्पादित क्रिप्टोग्राफ़िक ऑपरेशन का परिणाम प्रेषित करता है [SWS_CryIf_91013]।

इस सेवा के लिए कोई विशिष्ट त्रुटि कोड या त्रुटि संदेश (DET/DEM) परिभाषित नहीं हैं; कार्यात्मक त्रुटि जाँच पैरामीटर result के माध्यम से की जाती है, जो ऑपरेशन की सफलता या त्रुटि स्थिति को दर्शाता है [SWS_CryIf_91013]।

समवर्तीता के संबंध में, [SWS_CryIf_91013] के अनुसार फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसका कोई रिटर्न मान (void) नहीं है। इसलिए कॉलर्स को यह सुनिश्चित करना चाहिए कि कॉल अनुक्रमिक रूप से हों और कोई नेस्टेड या समानांतर निष्पादन न हो। व्याख्या: Crypto Interface को एसिंक्रोनस रूप से संसाधित क्रिप्टो जॉब्स का परिणाम वापस करने के लिए अधिसूचना को आमतौर पर अंतर्निहित क्रिप्टो ड्राइवरों द्वारा कॉल किया जाना चाहिए। प्रश्न Q-ae17af188a970e00 (खुला)

यह उपयोग संबंधी निर्देश AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

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

Record
AUTOSAR/AP/record/CP_MOD_CryIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#c8ae8028
Content hash
c8ae8028
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000

विषय मानचित्र

विवरण दृश्य

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

आरंभीकरण और स्थिति

CryIf_GetVersionInfo फ़ंक्शन

Returns the version information of this module.

void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
CryIf_Init फ़ंक्शन

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

void CryIf_Init (const CryIf_ConfigType* configPtr);

सेवाएँ · KeyElement…

CryIf_KeyElementCopy फ़ंक्शन

Service CryIf_KeyElementCopy.

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
CryIf_KeyElementCopyPartial फ़ंक्शन

Service CryIf_KeyElementCopyPartial.

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
CryIf_KeyElementGet फ़ंक्शन

This function shall dispatch the get key ele ment function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);
CryIf_KeyElementSet फ़ंक्शन

This function shall dispatch the set key element function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

सेवाएँ · Key…

CryIf_KeyCopy फ़ंक्शन

This function shall co py all key elements from the source key to a target key.

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
CryIf_KeyDerive फ़ंक्शन

This function shall dispatch th e key derive function to the configured crypto driver object.

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
CryIf_KeyExchangeCalcPubVal फ़ंक्शन

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
CryIf_KeyExchangeCalcSecret फ़ंक्शन

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
CryIf_KeyGenerate फ़ंक्शन

This function shall dispatch the key generate function to the configured crypto driver object.

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);
CryIf_KeyGetStatus फ़ंक्शन

Returns the key state of the key identified by cry If Key Id.

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);
CryIf_KeySetInvalid फ़ंक्शन

Sets invalid for the status of the key identifi ed by cry If Key Id.

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);
CryIf_KeySetValid फ़ंक्शन

This function shall dispatch the set key valid function to the configured crypto driver object.

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

सेवाएँ · अन्य

CryIf_CallbackNotification फ़ंक्शन

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
CryIf_CancelJob फ़ंक्शन

This interface dispatches the job cancellation function to the configured crypto driver object.

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);
CryIf_ProcessJob फ़ंक्शन

Service CryIf_ProcessJob.

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
CryIf_RandomSeed फ़ंक्शन

This function shall dispatch the random seed function to the configured crypto driver object.

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

टाइप

CryIf_ConfigType टाइप

Configuration data structure of Cry If module