Crypto Service Manager (CSM)
Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.
Funktionen — Übersicht
void Csm_Init (const Csm_ConfigType* configPtr);Initializes the CSM module.void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Uses the given data to perform the hash calculation and stores the hash.Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);Service Csm_MacGenerate.Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);Service Csm_MacVerify.Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Encrypt.Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Decrypt.Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);Service Csm_AEADEncrypt.Std_ReturnType Csm_AEADDecryptManager (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);Service Csm_AEADDecryptManager.Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);Service Csm_SignatureGenerate.Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);Service Csm_SignatureVerify.Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);Generate a random number and stores it in the memory location pointed by th e result pointer.Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);Sets the given key element bytes to the key identified by key Id.Std_ReturnType Csm_KeySetValid (uint32 keyId);Sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_KeySetInvalid (uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by key Id.Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);Service Csm_KeyElementGet.Std_ReturnType Csm_KeyElement Csm_KeyElementCopyManager (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId); ⚠️Service Csm_KeyElementCopyManager.Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);This function shall copy all key elements from the source key to a target key.Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);Service Csm_KeyElementCopyPartial.Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed.Std_ReturnType Csm_KeyGenerate (uint32 keyId);Generates new key material and store it in the key identified by key Id.Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);Derives a new key by using the key elements in the given key identified by the key Id.Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed...Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the...Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);Stores the key if necessary and sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);Provides a new seed for the specified key that is used for an associated random number generator.Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);Generates new key material and stores it in the key identified by key Id.Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);Derives a new key by using the key elements in the given key identified by the key Id.Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);Calculates the public value of the current user for the key exchange and stores theStd_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the...Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto...Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);Cancels the job processing from asynchronous or streaming jobs.void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CSM that a job has finished.void Csm_MainFunction (void);API to be called cyclically to process the requested jobs.void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);CSM notifies the application that a job has finished.
Typen — Übersicht
struct Csm_ConfigTypeConfiguration data structure of Csm moduleCrypto_AlgorithmFamilyTypeType Crypto_AlgorithmFamilyType.enum Crypto_AlgorithmModeTypeType Crypto_AlgorithmModeType.struct Crypto_InputOutputRedirectionConfigTypeDefines which of the input/ output parameters are re - directed to a key element.struct Crypto_JobTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_JobStateTypeEnumeration of the current job state.Crypto_JobPrimitiveInputOutputTypeType Crypto_JobPrimitiveInputOutputType.struct Crypto_JobPrimitiveInfoTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_ServiceInfoTypeEnumeration of the kind of the service.Crypto_JobRedirectionInfoTypeType Crypto_JobRedirectionInfoType.struct Crypto_AlgorithmInfoTypeStructure which determines the exact algorithm.enum Crypto_ProcessingTypeEnumeration of the processing type.struct Crypto_PrimitiveInfoTypeStructure which contains basic information about the crypto primitive.Csm_ConfigIdTypeIdentification of a CSM service configuration via a numeric identifier, that is unique within a service.enum Crypto_OperationModeTypeEnume ration which operation shall be performed.enum Crypto_VerifyResultTypeEnumeration of the result type of verification operations.Csm_KeyDataTypeArray long enough to store any key element of the considered keyenum Crypto_ResultTypeReturn for Std_ Return Type for Cryptostack.Csm_HashDataTypeArray long enough to store the data which shall be hashed.enum Csm_HashResultTypeArray long enough to store the data of the hash.Csm_MacGenerateDataTypeArray long enough to store the data from which a MAC shall be generated.enum Csm_MacGenerateResultTypeArray long enough to store the data of the MAC.Csm_MacVerifyDataTypeArray long enough to store the data for whichs MAC shall be verified.Csm_MacVerifyCompareTypeArray long enough to store a MAC to be verified.Csm_EncryptDataTypeArray long enough to store the data to be encrypted.enum Csm_EncryptResultTypeArray long enough to store the data of the cipher.Csm_DecryptDataTypeArray long enough to store the data to be decrypted.enum Csm_DecryptResultTypeArray long enough to store the data of the decrypted plaintext.Csm_AEADEncryptPlaintextTypeArray long enough to store the plaintext to be encrypted with AEAD.Csm_AEADEncryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADEncryptCiphertextTypeArray long enough to store the data of the cipher.Csm_AEADEncryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptCiphertextTypeArray long enough to store the ciphertext to be decrypted with AEAD.Csm_AEADDecryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADDecryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptPlaintextTypeArray long enough to store the data of the plaintext.Csm_SignatureGenerateDataTypeArray long enough to store the data from which the signature shall be generated.enum Csm_SignatureGenerateResultTypeArray long enough to store the signature and its length.Csm_SignatureVerifyDataTypeArray long enough to store the data for whichs signature shall be verified.Csm_SignatureVerifyCompareTypeArray long enough to store a signature to be verified.enum Csm_RandomGenerateResultTypeArray long enough to store the data of the random number.Csm_LengthPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the...Csm_VerifyResultPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return...enum Crypto_KeyStatusTypeEnumeration for key status.
Funktionen & Typen — Detailansicht
फ़ंक्शन Csm_Init [SWS_Csm_00646] 📄 PDF
void Csm_Init (const Csm_ConfigType* configPtr);
Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.
सिंक्रोनस फ़ंक्शन Csm_Init का उपयोग [SWS_Csm_00646] के अनुसार Crypto Service Manager (CSM) मॉड्यूल को प्रारंभ करने के लिए किया जाता है। इंटरफ़ेस को हेडर Csm.h के माध्यम से घोषित किया गया है [SWS_Csm_00646]।
पैरामीटर्स और कॉल व्यवहार के संबंध में, [SWS_Csm_00646] निम्नलिखित गुण निर्धारित करता है:
- पैरामीटर: इनपुट पैरामीटर के रूप में
configPtrपास किया जाता है। यह प्रकारconst Csm_ConfigType*की एक चयनित कॉन्फ़िगरेशन संरचना का पॉइंटर है [SWS_Csm_00646]। कोई इनपुट/आउटपुट पैरामीटर या आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_Csm_00646]। - रिटर्न मान: फ़ंक्शन कोई रिटर्न मान (
void) नहीं देता है [SWS_Csm_00646]। - सिंक्रोनिसिटी और पहचान: निष्पादन सिंक्रोनस रूप से होता है; सर्विस-ID
0x00है [SWS_Csm_00646]।
समवर्तीता और मल्टी-पार्टीशन संचालन के लिए, [SWS_Csm_00646] के अनुसार विशिष्ट आवश्यकताएं लागू होती हैं:
- रीएंट्रेंसी: फ़ंक्शन नॉन-रीएंट्रेंट (
Non Reentrant) है और इसलिए इसे समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_Csm_00646]। - विभाजन (पार्टिशनिंग): यदि CSM मॉड्यूल एक से अधिक पार्टीशन को सौंपा गया है (अर्थात, यदि मुख्य फ़ंक्शन जैसे
Csm_MainFunctionपार्टीशनों में वितरित हैं), तो CSM प्रति पार्टीशन एक समर्पित इनिशियलाइज़ेशन फ़ंक्शन प्रदान कर सकता है [SWS_Csm_00646]।
व्याख्या: चूंकि विनिर्देश Csm_Init को एक इनिशियलाइज़ेशन फ़ंक्शन के रूप में परिभाषित करता है, इसलिए यह कॉल सामान्यतः नियमित क्रिप्टोग्राफ़िक जॉब्स के निष्पादन से पहले सिस्टम स्टार्टअप चरण के दौरान की जानी चाहिए। प्रश्न Q-f462c3f9f4ed24fc (खुला)
यह उपयोग नोट एक AI द्वारा जनरेट किया गया था और AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_GetVersionInfo [SWS_Csm_00705] 📄 PDF
void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
फ़ंक्शन Csm_Hash [SWS_Csm_00980] 📄 PDF
Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Uses the given data to perform the hash calculation and stores the hash.
उपयोग
फ़ंक्शन Csm_Hash पास किए गए इनपुट डेटा पर एक क्रिप्टोग्राफ़िक हैश मान की गणना करता है और परिणाम को लक्ष्य मेमोरी में सहेजता है [SWS_Csm_00980]। इंटरफ़ेस को हेडर Csm.h के माध्यम से घोषित किया जाता है और इसकी सर्विस ID 0x5d है [SWS_Csm_00980]। निष्पादन व्यवहार या तो सिंक्रोनस होता है या एसिंक्रोनस, जो jobId के माध्यम से निर्दिष्ट जॉब के संबंधित कॉन्फ़िगरेशन पर निर्भर करता है [SWS_Csm_00980]।
पैरामीटर निम्नानुसार विभाजित हैं [SWS_Csm_00980]:
jobId: CSM जॉब का विशिष्ट पहचानकर्ता, जो क्रिप्टोग्राफ़िक सेवा का उपयोग करता है।mode: यह इंगित करता है कि कौन सा ऑपरेशन मोड या कौन से ऑपरेशन मोड निष्पादित किए जाने हैं।dataPtrऔरdataLength: हैश किए जाने वाले इनपुट डेटा का पॉइंटर और संसाधित किए जाने वाले बाइट्स की संख्या।resultPtr: उस बफ़र का पॉइंटर जिसमें परिकलित हैश मान संग्रहीत किया जाता है।resultLengthPtr: कॉल से पहले, इस पॉइंटर में बफ़रresultPtrकी बाइट्स में प्रदान की गई क्षमता होनी चाहिए। प्रसंस्करण पूरा होने के बाद, इस मान को उत्पन्न हैश मान की वास्तविक बाइट लंबाई द्वारा अधिलेखित कर दिया जाता है। यदि प्रदान किया गया बफ़र परिणाम की कुल लंबाई से छोटा है, तो हैश मान छोटा (ट्रंकेट) करके संग्रहीत किया जाता है।
त्रुटि हैंडलिंग और समवर्तीता
प्रकार Std_ReturnType का रिटर्न मान E_OK के साथ एक सफल अनुरोध और E_NOT_OK के साथ ऑर्डर प्रोसेसिंग में एक त्रुटि का संकेत देता है [SWS_Csm_00980]। समवर्तीता के संबंध में, Csm_Hash को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_00980]।
यह पाठ AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_MacGenerate [SWS_Csm_00982] 📄 PDF
Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);
Service Csm_MacGenerate.
रीएंट्रेंट फ़ंक्शन Csm_MacGenerate (सर्विस ID 0x60, हेडर Csm.h) पास किए गए इनपुट डेटा पर एक Message Authentication Code (MAC) की गणना करता है और परिणाम को निर्दिष्ट लक्ष्य पते पर संग्रहीत करता है [SWS_Csm_00982]। प्रसंस्करण सिंक्रोनस रूप से होता है या एसिंक्रोनस रूप से, यह jobId के माध्यम से संदर्भित जॉब के कॉन्फ़िगरेशन पर निर्भर करता है [SWS_Csm_00982]।
पैरामीटर mode निष्पादित किए जाने वाले ऑपरेशन मोड निर्दिष्ट करता है। इनपुट डेटा dataPtr के माध्यम से और उनकी बाइट संख्या dataLength के माध्यम से पास की जाती है [SWS_Csm_00982]। बफ़र macPtr परिणाम प्राप्त करता है। इनपुट और आउटपुट पैरामीटर macLengthPtr के माध्यम से, कॉल के समय प्रदान किए गए बफ़र का आकार पास किया जाना चाहिए; अनुरोध पूरा होने के बाद, परिकलित MAC की वास्तविक लंबाई इसमें संग्रहीत की जाती है। यदि बफ़र कुल परिणाम से छोटा है, तो MAC को छोटा (ट्रंकेट) करके सहेजा जाता है [SWS_Csm_00982]।
प्रकार Std_ReturnType के संभावित रिटर्न मान [SWS_Csm_00982] हैं:
E_OK: अनुरोध सफलतापूर्वक निष्पादित किया गया।E_NOT_OK: अनुरोध विफल रहा।CRYPTO_E_BUSY: सेवा अभी भी व्यस्त है।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है।CRYPTO_E_KEY_SIZE_MISMATCH: एक कुंजी तत्व का आकार गलत है।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभीकृत नहीं है।
यह पाठ विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_MacVerify [SWS_Csm_01050] 📄 PDF
Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);
Service Csm_MacVerify.
फ़ंक्शन Csm_MacVerify [SWS_Csm_01050] के अनुसार यह जाँच करके Message Authentication Code (MAC) के सत्यापन का कार्य करता है कि क्या पास किया गया MAC प्रदान किए गए डेटा से मेल खाता है। सत्यापन का परिणाम उस मेमोरी स्थान पर संग्रहीत किया जाता है, जिसे verifyPtr संदर्भित करता है। यह सेवा हेडर फ़ाइल Csm.h के माध्यम से उपलब्ध है और रीएंट्रेंट के रूप में निर्दिष्ट है।
कॉल करते समय निम्नलिखित पैरामीटरों और सिमेंटिक्स का ध्यान रखा जाना चाहिए [SWS_Csm_01050]:
- सिंक्रोनस या एसिंक्रोनस व्यवहार: निष्पादन
jobIdद्वारा संदर्भित जॉब के कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है। - ऑपरेटिंग मोड:
mode(Crypto_OperationModeType) के माध्यम से यह निर्धारित किया जाता है कि कौन से ऑपरेशनल मोड निष्पादित किए जाने चाहिए। - लंबाई विनिर्देश: जहाँ
dataLength,dataPtrके लिए डेटा बाइट्स की संख्या निर्दिष्ट करता है, वहींmacLengthके लिए अनिवार्य रूप से बिट्स में जाँचे जाने वाले MAC की लंबाई आवश्यक होती है।
रिटर्न मान के रूप में, फ़ंक्शन अनुरोध की स्थिति को Std_ReturnType [SWS_Csm_01050] के रूप में लौटाता है:
E_OK: अनुरोध सफल रहा।E_NOT_OK: अनुरोध विफल रहा।CRYPTO_E_BUSY: सेवा अभी भी व्यस्त है।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है।CRYPTO_E_KEY_SIZE_MISMATCH: एक कुंजी तत्व का आकार गलत है।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है।
यह पाठ एक AI द्वारा तैयार किया गया था। यह पूरी तरह से AUTOSAR संस्करण R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_Encrypt [SWS_Csm_00984] 📄 PDF
Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Service Csm_Encrypt.
फ़ंक्शन Csm_Encrypt (सर्विस ID 0x5e, Csm.h के माध्यम से प्रदान किया गया) पास किए गए इनपुट डेटा को एन्क्रिप्ट करता है और सिफरटेक्स्ट को निर्दिष्ट परिणाम बफ़र में संग्रहीत करता है [SWS_Csm_00984]।
उपयोग और सिमेंटिक्स
ऑपरेशन करने के लिए निम्नलिखित पैरामीटर पास किए जाते हैं [SWS_Csm_00984]:
jobId: CSM जॉब का पहचानकर्ता जो सेवा का उपयोग करता है।mode: निष्पादित किए जाने वाले ऑपरेशन मोड को इंगित करता है (प्रकारCrypto_OperationModeTypeका)।dataPtrऔरdataLength: एन्क्रिप्ट किए जाने वाले आउटपुट डेटा का पॉइंटर और संसाधित किए जाने वाले बाइट्स की संख्या।resultPtr: मेमोरी क्षेत्र का पॉइंटर जिसमें एन्क्रिप्ट किया गया डेटा संग्रहीत किया जाता है।resultLengthPtr: बाइट्स में लंबाई की जानकारी का पॉइंटर। कॉल से पहले, इस पैरामीटर मेंresultPtrकी प्रदान की गई बफ़र क्षमता होनी चाहिए; अनुरोध पूरा होने के बाद, वास्तविक आउटपुट लंबाई वहां संग्रहीत की जाती है [SWS_Csm_00984]।
निष्पादन सिमेंटिक्स स्थिर रूप से निर्धारित नहीं हैं: यह संबद्ध जॉब के कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_00984]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_00984]। कॉलर्स को यह सुनिश्चित करना चाहिए कि बफ़र resultPtr संपूर्ण प्रसंस्करण के दौरान ऑपरेशन पूरा होने तक मान्य रहे और कम से कम प्रारंभिक रूप से resultLengthPtr के माध्यम से निर्दिष्ट आकार का हो।
त्रुटि प्रबंधन और रिटर्न मान
प्रकार Std_ReturnType का रिटर्न मान अनुरोध की स्थिति के बारे में जानकारी प्रदान करता है [SWS_Csm_00984]:
E_OK: अनुरोध सफल रहा।E_NOT_OK: अनुरोध विफल रहा।CRYPTO_E_BUSY: अनुरोध अस्वीकार कर दिया गया क्योंकि सेवा वर्तमान में अभी भी व्यस्त है।CRYPTO_E_KEY_NOT_VALID: निर्दिष्ट कुंजी “invalid” स्थिति में है।CRYPTO_E_KEY_SIZE_MISMATCH: एक कुंजी तत्व का आकार अमान्य है।CRYPTO_E_KEY_EMPTY: एक गैर-प्रारंभीकृत (uninitialized) स्रोत कुंजी तत्व पास किया गया था।
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI प्रणाली द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_Decrypt [SWS_Csm_00989] 📄 PDF
Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Service Csm_Decrypt.
फ़ंक्शन Csm_Decrypt ([SWS_Csm_00989]) पास किए गए सिफ़र डेटा को डिक्रिप्ट करता है और परिणामी प्लेनटेक्स्ट को लक्षित मेमोरी क्षेत्र में संग्रहीत करता है। यह हेडर Csm.h के माध्यम से प्रदान किया जाता है और पास किए गए जॉब के कॉन्फ़िगरेशन के आधार पर क्रिप्टोग्राफ़िक ऑपरेशन निष्पादित करता है।
उपयोग और पैरामीटर
पैरामीटर jobId के माध्यम से उपयोग किए जाने वाले CSM जॉब को संबोधित किया जाता है, जबकि mode (प्रकार Crypto_OperationModeType) निष्पादित किए जाने वाले ऑपरेशनल चरण (चरणों) को निर्दिष्ट करता है ([SWS_Csm_00989])। डिक्रिप्ट किए जाने वाले डेटा को बाइट संख्या dataLength के साथ पॉइंटर dataPtr के रूप में पास किया जाता है। प्लेनटेक्स्ट को resultPtr द्वारा संदर्भित बफ़र में लिखा जाता है।
इन-आउट पैरामीटर resultLengthPtr बफ़र प्रबंधन को नियंत्रित करता है: कॉल के समय, इसमें बाइट्स में resultPtr का प्रदान किया गया बफ़र आकार होना चाहिए; ऑपरेशन पूरा होने के बाद, वास्तव में लिखी गई आउटपुट लंबाई वहाँ संग्रहीत की जाती है ([SWS_Csm_00989])।
निष्पादन और वापसी मान (Return Values)
निष्पादन व्यवहार (सिंक्रोनस या एसिंक्रोनस) सीधे अंतर्निहित जॉब कॉन्फ़िगरेशन पर निर्भर करता है ([SWS_Csm_00989])। फ़ंक्शन को रीएंट्रेंट (reentrant) डिज़ाइन किया गया है और यह प्रकार Std_ReturnType के विशिष्ट रिटर्न मान लौटाता है:
E_OK: अनुरोध सफल रहा ([SWS_Csm_00989])।E_NOT_OK: अनुरोध विफल रहा ([SWS_Csm_00989])।CRYPTO_E_BUSY: अनुरोधित सेवा वर्तमान में अभी भी व्यस्त (busy) है ([SWS_Csm_00989])।CRYPTO_E_KEY_NOT_VALID: प्रयुक्त कुंजी की स्थिति अमान्य है ([SWS_Csm_00989])।CRYPTO_E_KEY_SIZE_MISMATCH: किसी कुंजी तत्व का आकार अनुपयुक्त है ([SWS_Csm_00989])।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अनारंभीकृत (uninitialized) है ([SWS_Csm_00989])।
यह पाठ AUTOSAR R20-11 विनिर्देश डेटा के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_AEADEncrypt [SWS_Csm_01023] 📄 PDF
Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);
Service Csm_AEADEncrypt.
उपयोग
फ़ंक्शन Csm_AEADEncrypt संबद्ध डेटा के साथ प्रमाणित एन्क्रिप्शन (AEAD) करता है और हेडर Csm.h के माध्यम से उपलब्ध है [SWS_Csm_01023]। यह plaintextPtr और plaintextLength के माध्यम से एन्क्रिप्ट किए जाने वाले प्लेनटेक्स्ट को, साथ ही associatedDataPtr और associatedDataLength के माध्यम से अतिरिक्त संबद्ध डेटा को संसाधित करता है [SWS_Csm_01023]। आउटपुट डेटा बफ़र्स ciphertextPtr (सिफरटेक्स्ट) और tagPtr (प्रमाणीकरण टैग या MAC) में लिखा जाता है [SWS_Csm_01023]। कॉल करते समय, ciphertextLengthPtr और tagLengthPtr में बाइट्स में प्रदान की गई बफ़र क्षमता होनी चाहिए; पूरा होने के बाद, इनमें आउटपुट मानों की वास्तविक लंबाई होती है [SWS_Csm_01023] (Interpretation: विनिर्देश में उल्लिखित पैरामीटर resultPtr संभवतः संपादकीय कारणों से ciphertextPtr या tagPtr को संदर्भित करता है)। प्रश्न Q-ea7e69875375c501 (खुला) mode के माध्यम से, किए जाने वाले ऑपरेशन मोड का चयन किया जाता है [SWS_Csm_01023]। निष्पादन पास किए गए jobId के जॉब कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_01023]।
त्रुटि प्रबंधन और रिटर्न मान
सेवा रिटर्न प्रकार Std_ReturnType के माध्यम से निम्नलिखित स्थिति मान प्रदान करती है [SWS_Csm_01023]:
E_OK: अनुरोध सफल रहा [SWS_Csm_01023]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_01023]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि सेवा व्यस्त है [SWS_Csm_01023]।CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल रहा क्योंकि कुंजी की स्थिति अमान्य है [SWS_Csm_01023]।CRYPTO_E_KEY_SIZE_MISMATCH: अनुरोध विफल रहा क्योंकि एक कुंजी तत्व का आकार गलत है [SWS_Csm_01023]।CRYPTO_E_KEY_EMPTY: एक गैर-प्रारंभीकृत स्रोत कुंजी तत्व के कारण अनुरोध विफल रहा [SWS_Csm_01023]।
संगामिति
इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_01023]।
यह उपयोग नोट AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_AEADDecryptManager [SWS_Csm_01026] 📄 PDF
Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);
Service Csm_AEADDecryptManager.
सेवा Csm_AEADDecrypt (सर्विस ID 0x63, Csm.h के माध्यम से प्रदान की गई) [SWS_Csm_01026] के अनुसार AEAD डिक्रिप्शन (Authenticated Encryption with Associated Data) निष्पादित करती है। व्याख्या: यद्यपि विनिर्देश पाठ का विवरण एन्क्रिप्शन का उल्लेख करता है, परिभाषित इनपुट और आउटपुट पैरामीटरों के आधार पर यह फ़ंक्शन सिफ़रटेक्स्ट के डिक्रिप्शन के साथ-साथ पास किए गए प्रमाणीकरण टैग के सत्यापन के लिए कार्य करता है। प्रश्न Q-00e8fca03eb3b44d (खुला)
jobId के माध्यम से पहचाने गए जॉब के कॉन्फ़िगरेशन के आधार पर निष्पादन सिंक्रोनस या एसिंक्रोनस रूप से होता है ([SWS_Csm_01026])। समवर्ती (concurrency) के संबंध में, फ़ंक्शन रीएंट्रेंट है ([SWS_Csm_01026])। पैरामीटर mode के माध्यम से यह निर्दिष्ट किया जाता है कि किन ऑपरेशन मोड्स को निष्पादित किया जाना है।
कॉल के लिए निम्नलिखित पैरामीटर संबंध लागू होते हैं ([SWS_Csm_01026]):
- इनपुट डेटा: सिफ़रटेक्स्ट (
ciphertextPtr,ciphertextLength), संबद्ध डेटा (associatedDataPtr,associatedDataLength) और सत्यापित किए जाने वाले टैग (tagPtr,tagLength) के लिए पॉइंटर्स और लंबाई विनिर्देश। - आउटपुट डेटा: बफ़र
plaintextPtrडिक्रिप्ट किए गए प्लेनटेक्स्ट को प्राप्त करता है। कॉल के समय पॉइंटरplaintextLengthPtrमें बफ़र क्षमता होनी चाहिए; पूरा होने के बाद, वास्तविक आउटपुट लंबाई वहाँ संग्रहीत की जाती है। - सत्यापन परिणाम: टैग सत्यापन का परिणाम
verifyPtrके माध्यम से वापस रिपोर्ट किया जाता है।
[SWS_Csm_01026] के अनुसार प्रकार Std_ReturnType के रिटर्न मान इस प्रकार निर्दिष्ट हैं:
E_OK: अनुरोध सफल रहा।E_NOT_OK: अनुरोध विफल रहा।CRYPTO_E_BUSY: सेवा व्यस्त है।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है।CRYPTO_E_KEY_SIZE_MISMATCH: कुंजी तत्व का आकार ग़लत है।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभ (initialized) नहीं किया गया है।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_SignatureGenerate [SWS_Csm_00992] 📄 PDF
Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);
Service Csm_SignatureGenerate.
फ़ंक्शन Csm_SignatureGenerate [SWS_Csm_00992] के अनुसार पास किए गए पेलोड डेटा पर क्रिप्टोग्राफ़िक सिग्नेचर गणना के लिए उपयोग किया जाता है। कॉल को सिंक्रोनस रूप से प्रोसेस किया जाता है या एसिंक्रोनस रूप से, यह पास किए गए जॉब (jobId) के संबंधित कॉन्फ़िगरेशन पर निर्भर करता है [SWS_Csm_00992]। फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_00992]।
कॉल के समय, Crypto_OperationModeType प्रकार का पैरामीटर mode निष्पादित किए जाने वाले ऑपरेशन मोड को नियंत्रित करता है [SWS_Csm_00992]। जिन डेटा पर सिग्नेचर किया जाना है, उन्हें उनकी बाइट लंबाई dataLength के साथ dataPtr के माध्यम से पास किया जाता है [SWS_Csm_00992]। परिकलित सिग्नेचर को signaturePtr द्वारा संदर्भित मेमोरी क्षेत्र में लिखा जाता है [SWS_Csm_00992]। इनपुट/आउटपुट पैरामीटर signatureLengthPtr में कॉल से पहले प्रदान किए गए बफ़र का आकार बाइट्स में होना चाहिए; अनुरोध पूरा होने के बाद, इसमें उत्पन्न सिग्नेचर की वास्तविक बाइट लंबाई होती है [SWS_Csm_00992]।
रिटर्न मान फ़ंक्शन अनुरोध की स्थिति को इंगित करता है [SWS_Csm_00992]:
E_OK: अनुरोध सफलतापूर्वक निष्पादित या प्रारंभ किया गया [SWS_Csm_00992]।E_NOT_OK: अनुरोध के दौरान सामान्य त्रुटि [SWS_Csm_00992]।CRYPTO_E_BUSY: अनुरोधित सेवा वर्तमान में व्यस्त है [SWS_Csm_00992]।CRYPTO_E_KEY_NOT_VALID: उपयोग की गई कुंजी की स्थिति अमान्य है [SWS_Csm_00992]।CRYPTO_E_KEY_SIZE_MISMATCH: एक कुंजी तत्व का आकार अनुपयुक्त है [SWS_Csm_00992]।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभ नहीं किया गया है [SWS_Csm_00992]।
यह पाठ एक AI द्वारा तैयार किया गया था और यह पूरी तरह से AUTOSAR रिलीज़ R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_SignatureVerify [SWS_Csm_00996] 📄 PDF
Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);
Service Csm_SignatureVerify.
सेवा Csm_SignatureVerify (सर्विस ID 0x64, Csm.h में घोषित) पास किए गए डेटा के आधार पर एक क्रिप्टोग्राफ़िक हस्ताक्षर के सत्यापन का कार्य करती है [SWS_Csm_00996]। विनिर्देश कार्यक्षमता का तुलनात्मक रूप से इस जाँच के रूप में वर्णन करता है कि क्या हस्ताक्षर (विवरण में MAC के रूप में भी संदर्भित) पास किए गए डेटा के साथ उत्पन्न किया गया था [SWS_Csm_00996]।
उपयोग और पैरामीटर: कॉल करते समय, jobId कॉन्फ़िगर किए गए CSM जॉब की पहचान करता है, जबकि mode (प्रकार Crypto_OperationModeType) निष्पादित किए जाने वाले ऑपरेशन मोड निर्दिष्ट करता है [SWS_Csm_00996]। सत्यापित किया जाने वाला पेलोड डेटा बाइट संख्या dataLength के साथ पॉइंटर dataPtr के माध्यम से पास किया जाता है [SWS_Csm_00996]। मान्य किया जाने वाला हस्ताक्षर signaturePtr के माध्यम से उसकी बाइट लंबाई signatureLength के साथ प्रदान किया जाता है [SWS_Csm_00996]। फ़ंक्शन सत्यापन परिणाम को आउटपुट पैरामीटर verifyPtr (प्रकार Crypto_VerifyResultType*) द्वारा संदर्भित मेमोरी स्थान पर संग्रहीत करता है [SWS_Csm_00996]। निष्पादन व्यवहार संबंधित जॉब कॉन्फ़िगरेशन के आधार पर तुल्यकालिक या अतुल्यकालिक होता है [SWS_Csm_00996]।
त्रुटि प्रबंधन और रिटर्न मान: फ़ंक्शन Std_ReturnType प्रकार की एक स्थिति लौटाता है, जो अनुरोध की सफलता या विशिष्ट त्रुटि स्थितियों को इंगित करती है [SWS_Csm_00996]:
E_OK: सेवा अनुरोध सफल रहा [SWS_Csm_00996]।E_NOT_OK: सेवा अनुरोध विफल रहा [SWS_Csm_00996]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि अंतर्निहित सेवा अभी भी व्यस्त है [SWS_Csm_00996]।CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल रहा क्योंकि कुंजी की स्थिति अमान्य है [SWS_Csm_00996]।CRYPTO_E_KEY_SIZE_MISMATCH: अनुरोध विफल रहा क्योंकि एक कुंजी तत्व का आकार गलत है [SWS_Csm_00996]।CRYPTO_E_KEY_EMPTY: एक गैर-प्रारंभीकृत स्रोत कुंजी तत्व के कारण अनुरोध विफल रहा [SWS_Csm_00996]।
समवर्तीता: विनिर्देश के अनुसार, फ़ंक्शन रीएंट्रेंट निष्पादित किया गया है [SWS_Csm_00996]।
यह उपयोग नोट विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Csm_RandomGenerate [SWS_Csm_01543] 📄 PDF
Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);
Generate a random number and stores it in the memory location pointed by th e result pointer.
फ़ंक्शन Csm_RandomGenerate यादृच्छिक संख्याओं के उत्पादन के लिए उपयोग किया जाता है और परिणाम को उस मेमोरी क्षेत्र में संग्रहीत करता है जिसे resultPtr संदर्भित करता है [SWS_Csm_01543]।
उपयोग और पैरामीटर
पैरामीटर jobId के माध्यम से कॉन्फ़िगर किए गए CSM जॉब का पहचानकर्ता पास किया जाता है जो सेवा का उपयोग करता है [SWS_Csm_01543]। कॉलर इनपुट और आउटपुट पैरामीटर resultLengthPtr के माध्यम से वांछित डेटा की मात्रा को नियंत्रित करता है: कॉल के समय, इस पॉइंटर को उत्पन्न की जाने वाली यादृच्छिक बाइट्स की संख्या को संदर्भित करना चाहिए, जिन्हें बफ़र resultPtr में संग्रहीत किया जाना है [SWS_Csm_01543]। अनुरोध पूरा होने के बाद, resultLengthPtr में उत्पन्न मान की वास्तविक बाइट लंबाई होती है [SWS_Csm_01543]। प्रोसेसिंग संबंधित जॉब के कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होती है [SWS_Csm_01543]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_Csm_01543]:
E_OK: अनुरोध सफल रहा [SWS_Csm_01543]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_01543]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि सेवा अभी भी व्यस्त है [SWS_Csm_01543]।CRYPTO_E_ENTROPY_EXHAUSTED: अनुरोध विफल रहा क्योंकि यादृच्छिक संख्या जनरेटर की एंट्रॉपी समाप्त हो गई है [SWS_Csm_01543]।
संगामिति
फ़ंक्शन को रीएंट्रेंट डिज़ाइन किया गया है और यह हेडर Csm.h के माध्यम से सेवा ID 0x72 के साथ उपलब्ध है [SWS_Csm_01543]।
यह उपयोग संबंधी निर्देश स्वचालित रूप से तैयार किया गया था। केवल AUTOSAR मानक के विनिर्देश ही बाध्यकारी हैं।
फ़ंक्शन Csm_KeyElementSet [SWS_Csm_00957] 📄 PDF
Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);
Sets the given key element bytes to the key identified by key Id.
उपयोग और सिमेंटिक्स
सिंक्रोनस फ़ंक्शन Csm_KeyElementSet keyId के माध्यम से पहचाने जाने वाली कुंजी के लिए निर्दिष्ट कुंजी तत्व के बाइट्स सेट करता है [SWS_Csm_00957]। फ़ंक्शन की सर्विस-ID 0x78 है और यह हेडर Csm.h के माध्यम से उपलब्ध है [SWS_Csm_00957]। कॉल के लिए निम्नलिखित इनपुट पैरामीटर पास किए जाते हैं [SWS_Csm_00957]:
keyId: उस कुंजी का पहचानकर्ता, जिसके लिए नई कुंजी सामग्री सेट की जानी है [SWS_Csm_00957]।keyElementId: लिखे जाने वाले कुंजी तत्व (key element) [SWS_Csm_00957] का पहचानकर्ता।keyElementPtr: कुंजी तत्व [SWS_Csm_00957] के संसाधित किए जाने वाले बाइट्स का पॉइंटर।keyElementLength: कुंजी तत्व [SWS_Csm_00957] के सेट किए जाने वाले बाइट्स की संख्या।
रिटर्न मान और त्रुटि प्रबंधन
निष्पादन Std_ReturnType प्रकार का एक स्टेटस लौटाता है, जो सफलता या विशिष्ट त्रुटि कारणों को इंगित करता है [SWS_Csm_00957]:
E_OK: अनुरोध सफल रहा [SWS_Csm_00957]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_00957]।CRYPTO_E_BUSY: संबंधित Crypto Driver Object व्यस्त है [SWS_Csm_00957]।CRYPTO_E_KEY_WRITE_FAIL: कुंजी तत्व पर राइट एक्सेस अस्वीकार कर दिया गया [SWS_Csm_00957]।CRYPTO_E_KEY_NOT_AVAILABLE: एड्रेस की गई कुंजी उपलब्ध नहीं है [SWS_Csm_00957]।CRYPTO_E_KEY_SIZE_MISMATCH: कुंजी तत्व का आकार प्रदान किए गए डेटा के आकार से मेल नहीं खाता है [SWS_Csm_00957]।
समवर्तीता और प्रतिबंध
फ़ंक्शन Csm_KeyElementSet को सिंक्रोनस और नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Csm_00957]। इसमें कोई इनपुट/आउटपुट (inout) या आउटपुट पैरामीटर (out) नहीं हैं [SWS_Csm_00957]।
यह पाठ एक AI द्वारा तैयार किया गया था; तकनीकी शुद्धता विनिर्देश दस्तावेज़ों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeySetValid [SWS_Csm_00958] 📄 PDF
Std_ReturnType Csm_KeySetValid (uint32 keyId);
Sets the key state of the key identified by key Id to valid.
तुल्यकालिक फ़ंक्शन Csm_KeySetValid नई कुंजी सामग्री प्रदान किए जाने के बाद, पहचानकर्ता keyId द्वारा संदर्भित कुंजी की स्थिति को वैध ("valid") पर सेट करने का कार्य करता है [SWS_Csm_00958]। सेवा हेडर Csm.h के माध्यम से प्रदान की जाती है और इसकी सर्विस ID 0x67 है [SWS_Csm_00958]।
उपयोग और रिटर्न मानों के लिए [SWS_Csm_00958] के अनुसार निम्नलिखित प्रावधान लागू होते हैं:
- इनपुट पैरामीटर:
keyIdके माध्यम से उस कुंजी का पहचानकर्ता पास किया जाता है जिसके लिए नई सामग्री को मान्य किया जाना है। - रिटर्न मान
E_OK: कुंजी स्थिति को मान्य करने का अनुरोध सफल रहा। - रिटर्न मान
E_NOT_OK: अनुरोध विफल रहा। - रिटर्न मान
CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि अंतर्निहित Crypto Driver Object व्यस्त है।
समवर्तीता के संबंध में, Csm_KeySetValid को गैर-रीएंट्रेंट ("Non Reentrant") के रूप में निर्दिष्ट किया गया है [SWS_Csm_00958]। इसलिए, यदि कॉल संभावित रूप से समवर्ती संदर्भों से होते हैं, तो कॉल करने वालों को उचित सिंक्रोनाइज़ेशन सुनिश्चित करना पड़ सकता है। प्रश्न Q-1762a3bca77ab74e (खुला)
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeySetInvalid [SWS_Csm_91075] 📄 PDF
Std_ReturnType Csm_KeySetInvalid (uint32 keyId);
Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.
सिंक्रोनस फ़ंक्शन Csm_KeySetInvalid किसी कुंजी की स्थिति को अमान्य पर सेट करता है [SWS_Csm_91075]। अमान्य की गई कुंजी का उपयोग तब तक क्रिप्टोग्राफ़िक संचालन के लिए नहीं किया जा सकता जब तक कि इसे फिर से एक वैध स्थिति में स्थानांतरित न कर दिया जाए [SWS_Csm_91075]।
उपयोग और पैरामीटर
कॉल हेडर Csm.h के माध्यम से उपलब्ध है और सिंक्रोनस रूप से निष्पादित होता है [SWS_Csm_91075]। इनपुट पैरामीटर keyId (प्रकार uint32) के माध्यम से उस कुंजी का पहचानकर्ता पास किया जाता है जिसे अमान्य किया जाना है [SWS_Csm_91075]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन प्रकार Std_ReturnType का एक स्टेटस मान लौटाता है [SWS_Csm_91075]:
E_OK: अमान्यकरण (invalidation) का अनुरोध सफल रहा [SWS_Csm_91075]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_91075]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि क्रिप्टो ड्राइवर ऑब्जेक्ट व्यस्त है [SWS_Csm_91075]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Csm_91075]। इसलिए कॉलर्स को यह सुनिश्चित करना चाहिए कि कॉल बाधित करने वाले या असंगठित समानांतर तरीके से न हों। यदि संबंधित क्रिप्टो ड्राइवर ऑब्जेक्ट कॉल के समय व्यस्त है, तो ऑपरेशन को CRYPTO_E_BUSY के साथ अस्वीकार कर दिया जाता है [SWS_Csm_91075]।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyGetStatus [SWS_Csm_91047] 📄 PDF
Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);
Returns the key state of the key identified by key Id.
उपयोग
सिंक्रोनस फ़ंक्शन Csm_KeyGetStatus का उपयोग इसके पहचानकर्ता (identifier) के माध्यम से निर्दिष्ट कुंजी की वर्तमान स्थिति को क्वेरी करने के लिए किया जाता है [SWS_Csm_91047]। डिक्लेरेशन हेडर Csm.h के माध्यम से उपलब्ध है [SWS_Csm_91047]।
कॉल करते समय निम्नलिखित पैरामीटर पास किए जाते हैं [SWS_Csm_91047]:
keyId(इनपुट): उस कुंजी का आइडेंटिफ़ायर, जिसकी स्थिति निर्धारित की जानी है।keyStatusPtr(आउटपुट):Crypto_KeyStatusTypeप्रकार के मेमोरी लोकेशन का पॉइंटर, जहाँ CSM निर्धारित कुंजी स्थिति को संग्रहीत करता है।
फ़ंक्शन Std_ReturnType रिटर्न मान के रूप में निम्नलिखित प्रदान करता है [SWS_Csm_91047]:
E_OK: स्थिति क्वेरी सफल रही और परिणाम आउटपुट पॉइंटर के माध्यम से उपलब्ध है।E_NOT_OK: अनुरोध विफल रहा।
कनकरेन्सी और व्यवहार
सर्विस फ़ंक्शन का सर्विस-ID 0x83 है और इसे reentrant के रूप में निर्दिष्ट किया गया है [SWS_Csm_91047]। चूँकि निष्पादन सिंक्रोनस रूप से होता है, कॉल कॉलर को स्थिति निर्धारण पूर्ण होने तक ब्लॉक करता है [SWS_Csm_91047]। keyStatusPtr के लिए एक मान्य मेमोरी क्षेत्र कॉलर द्वारा प्रदान किया जाना चाहिए, क्योंकि अमान्य पॉइंटर्स संभवतः रिटर्न मान E_NOT_OK की ओर ले जाते हैं। प्रश्न Q-a920a9a12b1374aa (खुला)
यह उपयोग नोट AUTOSAR R20-11 विनिर्देश डेटा के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyElementGet [SWS_Csm_00959] 📄 PDF
Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);
Service Csm_KeyElementGet.
तुल्यकालिक और रीएंट्रेंट फ़ंक्शन Csm_KeyElementGet keyId के माध्यम से पहचानी गई कुंजी से एक विशिष्ट कुंजी तत्व का डेटा पढ़ता है और इसे पास किए गए मेमोरी क्षेत्र में कॉपी करता है [SWS_Csm_00959]। सेवा हेडर फ़ाइल Csm.h के माध्यम से घोषित की जाती है और इसकी सर्विस ID 0x68 है [SWS_Csm_00959]।
पैरामीटर और बफ़र प्रबंधन
तत्व की पहचान के लिए पैरामीटर keyId (कुंजी का पहचानकर्ता) और keyElementId (वांछित कुंजी तत्व का पहचानकर्ता) पास किए जाते हैं [SWS_Csm_00959]। पढ़ने के लिए एक आउटपुट बफ़र के प्रावधान के साथ-साथ उसके लंबाई प्रबंधन की आवश्यकता होती है:
keyElementPtr: उस मेमोरी स्थान का पॉइंटर जहाँ कुंजी तत्व के निकाले गए बाइट्स कॉपी किए जाते हैं [SWS_Csm_00959]।keyElementLengthPtr: एक इनपुट/आउटपुट पैरामीटर (inout), जिसमें फ़ंक्शन कॉल के समय बाइट्स मेंkeyElementPtrका अधिकतम उपलब्ध बफ़र आकार होना चाहिए। प्रोसेसिंग पूरी होने के बाद, फ़ंक्शन यहाँ वास्तव में लिखी गई बाइट लंबाई संग्रहीत करता है [SWS_Csm_00959]।
रिटर्न मान और त्रुटि विश्लेषण
फ़ंक्शन ऑपरेशन के परिणाम को इंगित करने के लिए Std_ReturnType के रूप में विशिष्ट स्थिति कोड लौटाता है [SWS_Csm_00959]:
E_OK: कुंजी तत्व की कॉपी प्रक्रिया सफल रही [SWS_Csm_00959]।E_NOT_OK: अनुरोध सामान्यतः विफल रहा [SWS_Csm_00959]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि प्रभावित Crypto Driver Object वर्तमान में व्यस्त है [SWS_Csm_00959]।CRYPTO_E_KEY_NOT_AVAILABLE:keyElementIdके माध्यम से अनुरोधित कुंजी तत्व उपलब्ध नहीं है [SWS_Csm_00959]।CRYPTO_E_KEY_READ_FAIL: कुंजी तत्व पर रीड एक्सेस अस्वीकार कर दी गई थी [SWS_Csm_00959]।CRYPTO_E_KEY_EMPTY: अनुरोधित स्रोत कुंजी तत्व अप्रारंभीकृत है [SWS_Csm_00959]।
यह उपयोग निर्देश AUTOSAR CP R20-11 के विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyElementCopyManager [SWS_Csm_00969] 📄 PDF
Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);
Service Csm_KeyElementCopyManager.
सिंक्रोनस फ़ंक्शन Csm_KeyElementCopyManager का उपयोग सोर्स कुंजी से किसी एकल कुंजी तत्व को डेस्टिनेशन कुंजी के डेस्टिनेशन तत्व में कॉपी करने के लिए किया जाता है [SWS_Csm_00969]। कॉल हेडर फ़ाइल Csm.h के माध्यम से Service-ID 0x71 के साथ प्रदान किया जाता है और इसके लिए चार इनपुट पैरामीटर्स की आवश्यकता होती है: सोर्स कुंजी तत्व की पहचान के लिए keyId और keyElementId तथा डेस्टिनेशन के लिए targetKeyId और targetKeyElementId [SWS_Csm_00969]।
समवर्तीता के संबंध में, सर्विस को reentrant डिज़ाइन किया गया है, लेकिन स्पष्ट रूप से समान keyId के लिए नहीं [SWS_Csm_00969]। इसलिए समान सोर्स कुंजी पर समानांतर एक्सेस से कॉलर द्वारा बचा जाना चाहिए या इसे सिंक्रनाइज़ किया जाना चाहिए।
फ़ंक्शन Std_ReturnType प्रकार की स्थिति लौटाता है। सफल निष्पादन पर, यह E_OK प्रदान करता है [SWS_Csm_00969]। त्रुटि के मामले में, कारण विश्लेषण के लिए विशिष्ट रिटर्न मान उपलब्ध हैं [SWS_Csm_00969]:
CRYPTO_E_BUSY: अंतर्निहित Crypto ड्राइवर ऑब्जेक्ट व्यस्त है [SWS_Csm_00969]।CRYPTO_E_KEY_NOT_AVAILABLE: अनुरोधित कुंजी तत्व उपलब्ध नहीं है [SWS_Csm_00969]।CRYPTO_E_KEY_READ_FAIL: सोर्स तत्व को पढ़ने की अनुमति नहीं है [SWS_Csm_00969]।CRYPTO_E_KEY_WRITE_FAIL: डेस्टिनेशन तत्व में लिखने की अनुमति नहीं है [SWS_Csm_00969]।CRYPTO_E_KEY_SIZE_MISMATCH: दोनों कुंजी तत्वों के आकार एक दूसरे के साथ असंगत हैं [SWS_Csm_00969]।CRYPTO_E_KEY_EMPTY: सोर्स कुंजी तत्व अभी भी अन-इनिशियलाइज़्ड है [SWS_Csm_00969]।E_NOT_OK: अनुरोध निष्पादन में सामान्य त्रुटियाँ [SWS_Csm_00969]।
यह पाठ AI द्वारा जनरेट किया गया था और यह केवल मार्गदर्शन के रूप में कार्य करता है। केवल आधिकारिक AUTOSAR विनिर्देश ही बाध्यकारी हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyCopy [SWS_Csm_01034] 📄 PDF
Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);
This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h
उपयोग
सर्विस ID 0x73 के साथ तुल्यकालिक सेवा फ़ंक्शन Csm_KeyCopy एक स्रोत कुंजी से एक लक्षित कुंजी में सभी कुंजी तत्वों को पूरी तरह से कॉपी करने का कार्य करता है [SWS_Csm_01034]। घोषणा हेडर फ़ाइल Csm.h के माध्यम से उपलब्ध कराई जाती है [SWS_Csm_01034]। स्रोत कुंजी के पहचानकर्ता के लिए keyId और लक्षित कुंजी के पहचानकर्ता के लिए targetKeyId अपरिवर्तनीय इनपुट पैरामीटर के रूप में पास किए जाते हैं [SWS_Csm_01034]। हस्ताक्षर में अतिरिक्त इनपुट/आउटपुट या आउटपुट पैरामीटर परिभाषित नहीं हैं [SWS_Csm_01034]।
त्रुटि प्रबंधन और रिटर्न मान
प्रकार Std_ReturnType का रिटर्न मान कॉल करने वाले को निष्पादन के परिणाम के बारे में सूचित करता है [SWS_Csm_01034]। जबकि E_OK सफल निष्पादन का संकेत देता है, E_NOT_OK अनुरोध की सामान्य विफलता को चिह्नित करता है [SWS_Csm_01034]। विशिष्ट त्रुटि कारणों को अलग क्रिप्टो रिटर्न मानों द्वारा दर्शाया जाता है [SWS_Csm_01034]:
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: स्रोत कुंजी का कुंजी तत्व प्रारंभीकृत नहीं है।
समवर्तीता और प्रतिबंध
कॉल व्यवहार के संबंध में, Csm_KeyCopy को रीएंट्रेंट डिज़ाइन किया गया है, हालाँकि इस बाध्यकारी प्रतिबंध के साथ कि यह समान keyId के लिए लागू नहीं होता है [SWS_Csm_01034]।
यह उपयोग नोट विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
फ़ंक्शन Csm_KeyElementCopyPartial [SWS_Csm_91025] 📄 PDF
Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);
Service Csm_KeyElementCopyPartial.
तुल्यकालिक फ़ंक्शन Csm_KeyElementCopyPartial एक ही क्रिप्टो ड्राइवर के भीतर किसी कुंजी तत्व के एक परिभाषित उप-भाग को दूसरे कुंजी तत्व में कॉपी करता है [SWS_Csm_91025]। पैरामीटर keyElementSourceOffset और keyElementCopyLength के माध्यम से यह निर्धारित किया जाता है कि स्रोत तत्व (keyId और keyElementId द्वारा पहचानी गई) किस बाइट से और किस लंबाई में कॉपी किया जाता है। लक्ष्य तत्व (targetKeyId, targetKeyElementId) में प्रारंभिक स्थिति keyElementTargetOffset के माध्यम से निर्दिष्ट की जाती है [SWS_Csm_91025]।
रिटर्न मान निष्पादन स्थिति के साथ-साथ विशिष्ट त्रुटि कारणों को प्रदान करता है [SWS_Csm_91025]:
E_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: संबंधित कुंजी तत्वों (key elements) के आकार असंगत हैं।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है।E_NOT_OK: अनुरोध सामान्य कारणों से विफल हो गया।
फ़ंक्शन को reentrant कार्यान्वित किया गया है, लेकिन इसे एक ही समय में समान keyId के लिए कॉल नहीं किया जाना चाहिए [SWS_Csm_91025]। इसके अतिरिक्त, इंटरफ़ेस यह पूर्वापेक्षा रखता है कि स्रोत और गंतव्य एक ही Crypto ड्राइवर में प्रबंधित हों [SWS_Csm_91025]। घोषणा हेडर Csm.h के माध्यम से उपलब्ध है [SWS_Csm_91025]।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_RandomSeed [SWS_Csm_01051] 📄 PDF
Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);
Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager
उपयोग और कॉल संदर्भ
सिंक्रोनस फ़ंक्शन Csm_RandomSeed किसी कुंजी के कुंजी तत्व CRYPTO_KE_RANDOM_SEED को पास किए गए रैंडम मान (सीड) से भरने का कार्य करता है [SWS_Csm_01051]। कॉल के समय, keyId के माध्यम से लक्ष्य कुंजी का पहचानकर्ता, seedPtr के माध्यम से सीड डेटा वाले मेमोरी स्थान का पॉइंटर, और seedLength के माध्यम से बाइट्स में सीड की लंबाई पास की जाती है [SWS_Csm_01051]।
इंटरैक्शन
यदि निष्पादन के दौरान CSM को कोई त्रुटि नहीं मिलती है, तो फ़ंक्शन Csm_RandomSeed सेवा कॉल को सीधे Crypto Interface के CryIf_RandomSeed पर अग्रेषित करता है [SWS_Csm_01052]।
त्रुटि प्रबंधन और रिटर्न मान
फ़ंक्शन प्रकार Std_ReturnType का एक स्टेटस मान लौटाता है [SWS_Csm_01051]:
E_OK: अनुरोध सफल रहा [SWS_Csm_01051]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_01051]।CRYPTO_E_BUSY: निष्पादन विफल रहा क्योंकि संबंधित Crypto Driver Object वर्तमान में व्यस्त है [SWS_Csm_01051]।CRYPTO_E_KEY_NOT_VALID: अनुरोध अस्वीकार कर दिया गया क्योंकि कुंजी की स्थिति अमान्य है [SWS_Csm_01051]।
समवर्तीता और प्रतिबंध
कनकंरसी व्यवहार के संबंध में, Csm_RandomSeed को रीएंट्रेंट रूप में कार्यान्वित किया गया है, लेकिन इसे एक ही समय में समान keyId के लिए कॉल नहीं किया जाना चाहिए [SWS_Csm_01051]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyGenerate [SWS_Csm_00955] 📄 PDF
Std_ReturnType Csm_KeyGenerate (uint32 keyId);
Generates new key material and store it in the key identified by key Id.
तुल्यकालिक फ़ंक्शन Csm_KeyGenerate नई क्रिप्टोग्राफ़िक कुंजी सामग्री उत्पन्न करने का कार्य करता है और इसे पैरामीटर keyId के माध्यम से निर्दिष्ट कुंजी में सीधे संग्रहीत करता है [SWS_Csm_00955]। इंटरफ़ेस हेडर फ़ाइल Csm.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस ID 0x6a है [SWS_Csm_00955]।
कॉल करते समय, एप्लिकेशन उस कुंजी का पहचानकर्ता keyId (प्रकार uint32) पास करता है जिसके लिए सामग्री उत्पन्न की जानी है; कोई इनपुट/आउटपुट या केवल आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_Csm_00955]। ऑपरेशन की स्थिति Std_ReturnType प्रकार के रिटर्न मान के माध्यम से तुल्यकालिक रूप से रिपोर्ट की जाती है [SWS_Csm_00955]:
E_OK: कुंजी सामग्री का जनरेशन और संग्रहण सफल रहा [SWS_Csm_00955]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_00955]।CRYPTO_E_BUSY: निष्पादन विफल रहा क्योंकि संबंधित Crypto Driver Object वर्तमान में व्यस्त है [SWS_Csm_00955]।CRYPTO_E_KEY_NOT_VALID: अनुरोध अस्वीकार कर दिया गया क्योंकि लक्षित कुंजी 'invalid' स्थिति में है [SWS_Csm_00955]।CRYPTO_E_KEY_EMPTY: एक गैर-प्रारंभीकृत (uninitialized) स्रोत कुंजी तत्व के कारण जनरेशन विफल रहा [SWS_Csm_00955]।
समवर्तीता के संबंध में, Csm_KeyGenerate को रीएंट्रेंट डिज़ाइन किया गया है, लेकिन इसे समान keyId के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_Csm_00955]।
यह पाठ विनिर्देश के आधार पर AI द्वारा तैयार किया गया था।
फ़ंक्शन Csm_KeyDerive [SWS_Csm_00956] 📄 PDF
Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);
Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.
तुल्यकालिक फ़ंक्शन Csm_KeyDerive किसी दिए गए प्रारंभिक कुंजी से एक नई क्रिप्टोग्राफ़िक कुंजी प्राप्त (व्युत्पन्न) करने का कार्य करता है [SWS_Csm_00956]। फ़ंक्शन को हेडर फ़ाइल Csm.h में घोषित किया गया है और इसकी सर्विस ID 0x6b है [SWS_Csm_00956]।
उपयोग और पैरामीटर
तुल्यकालिक कॉल दो इनपुट पैरामीटर संसाधित करता है [SWS_Csm_00956]:
keyId: स्रोत कुंजी का पहचानकर्ता, जिसमें पासवर्ड और साल्ट के लिए कुंजी तत्व शामिल हैं [SWS_Csm_00956]।targetKeyId: लक्षित कुंजी का पहचानकर्ता; व्युत्पन्न कुंजी सामग्री को ID 1 वाले कुंजी तत्व में संग्रहीत किया जाता है [SWS_Csm_00956]।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान के रूप में, फ़ंक्शन स्थिति Std_ReturnType प्रदान करता है [SWS_Csm_00956]। सफल निष्पादन पर E_OK और सामान्य त्रुटियों पर E_NOT_OK के अतिरिक्त, विशिष्ट क्रिप्टो त्रुटियाँ परिभाषित हैं [SWS_Csm_00956]:
CRYPTO_E_BUSY: Crypto Driver Object व्यस्त है [SWS_Csm_00956]।CRYPTO_E_KEY_READ_FAIL: कुंजी तत्व को पढ़ना अनुमत नहीं है [SWS_Csm_00956]।CRYPTO_E_KEY_WRITE_FAIL: लक्षित कुंजी तत्व में लिखना अनुमत नहीं है [SWS_Csm_00956]।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है [SWS_Csm_00956]।CRYPTO_E_KEY_SIZE_MISMATCH: कुंजी तत्वों के आकार असंगत हैं [SWS_Csm_00956]।CRYPTO_E_KEY_EMPTY: स्रोत का कुंजी तत्व अप्रारंभीकृत है [SWS_Csm_00956]।
समवर्तीता और परस्पर क्रिया
फ़ंक्शन रीएंट्रेंट है, लेकिन स्पष्ट रूप से समान keyId के लिए नहीं [SWS_Csm_00956]। यदि CSM में कोई त्रुटि नहीं पाई जाती है, तो सेवा निष्पादन को तुरंत CryIf_KeyDerive पर अग्रेषित करती है [SWS_Csm_01018]।
यह पाठ AUTOSAR विनिर्देशों के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_KeyExchangeCalcPubVal [SWS_Csm_00966] 📄 PDF
Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.
तुल्यकालिक इंटरफ़ेस Csm_KeyExchangeCalcPubVal (सर्विस ID 0x6c, Csm.h के माध्यम से उपलब्ध) की एक्सचेंज प्रोटोकॉल के लिए वर्तमान उपयोगकर्ता के सार्वजनिक मान की गणना करता है और सार्वजनिक कुंजी को पॉइंटर publicValuePtr द्वारा संदर्भित मेमोरी पते पर संग्रहीत करता है [SWS_Csm_00966]।
पैरामीटर और बफ़र प्रबंधन
फ़ंक्शन तीन इनपुट पैरामीटर संसाधित करता है [SWS_Csm_00966]:
keyId(इनपुट): उस कुंजी का पहचानकर्ता शामिल है जिसका उपयोग की एक्सचेंज प्रोटोकॉल के लिए किया जाना है [SWS_Csm_00966]।publicValuePtr(आउटपुट): उस मेमोरी क्षेत्र का पॉइंटर जिसमें परिणामी सार्वजनिक कुंजी मान संग्रहीत किया जाता है [SWS_Csm_00966]।publicValueLengthPtr(इनपुट/आउटपुट): लंबाई की जानकारी का पॉइंटर। कॉल करते समय, इस पैरामीटर में बफ़रpublicValuePtrका प्रदत्त आकार शामिल होना चाहिए; निष्पादन पूरा होने के बाद, परिकलित मान की वास्तविक लंबाई वहाँ संग्रहीत की जाती है [SWS_Csm_00966]।
त्रुटि प्रबंधन और रिटर्न मान
निष्पादन स्थिति की रिपोर्ट Std_ReturnType के माध्यम से दी जाती है [SWS_Csm_00966]:
E_OK: अनुरोध सफल रहा [SWS_Csm_00966]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_00966]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि Crypto Driver Object व्यस्त है [SWS_Csm_00966]।CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल रहा क्योंकि कुंजी की स्थिति अमान्य है [SWS_Csm_00966]।CRYPTO_E_KEY_EMPTY: एक अप्रारंभीकृत स्रोत कुंजी तत्व के कारण अनुरोध विफल रहता है [SWS_Csm_00966]।
संगामिति
फ़ंक्शन को रीएंट्रेंट डिज़ाइन किया गया है, लेकिन इसे समान keyId के लिए एक ही समय में कॉल नहीं किया जाना चाहिए [SWS_Csm_00966]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
फ़ंक्शन Csm_KeyExchangeCalcSecret [SWS_Csm_00967] 📄 PDF
Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.
तुल्यकालिक फ़ंक्शन Csm_KeyExchangeCalcSecret Crypto Service Manager में एक की एक्सचेंज प्रोटोकॉल के संदर्भ में एक साझा रहस्य (Shared Secret Key) की गणना करने का कार्य करता है [SWS_Csm_00967]। इसमें keyId के माध्यम से संदर्भित कुंजी की सामग्री को संचार भागीदार के सार्वजनिक मान के साथ संयोजित किया जाता है। परिकलित गुप्त कुंजी को फिर सीधे उसी कुंजी के भीतर एक कुंजी तत्व के रूप में संग्रहीत किया जाता है [SWS_Csm_00967]।
इंटरफ़ेस हेडर Csm.h के माध्यम से प्रदान किया जाता है और तीन इनपुट पैरामीटर की अपेक्षा करता है [SWS_Csm_00967]:
keyId: उस कुंजी का पहचानकर्ता जिसकी कुंजी सामग्री का उपयोग प्रोटोकॉल के लिए किया जाता है।partnerPublicValuePtr: मेमोरी क्षेत्र का पॉइंटर, जिसमें भागीदार का सार्वजनिक मान शामिल है।partnerPublicValueLength: पास किए गए भागीदार मान की बाइट्स में लंबाई।
कॉल Std_ReturnType प्रकार के रिटर्न मान के रूप में या तो सफल निष्पादन पर E_OK देता है या सामान्य त्रुटि पर E_NOT_OK देता है [SWS_Csm_00967]। विशिष्ट त्रुटि मामले विस्तृत स्थिति कोड दर्शाते हैं: CRYPTO_E_BUSY इंगित करता है कि अंतर्निहित Crypto Driver Object व्यस्त है। यदि कुंजी की स्थिति अमान्य है, तो CRYPTO_E_KEY_NOT_VALID लौटाया जाता है, जबकि CRYPTO_E_KEY_EMPTY एक अप्रारंभीकृत स्रोत कुंजी तत्व की ओर संकेत करता है [SWS_Csm_00967]।
समवर्तीता के संबंध में, फ़ंक्शन रीएंट्रेंट डिज़ाइन किया गया है, लेकिन इसे समान keyId के लिए एक ही समय में कॉल नहीं किया जाना चाहिए [SWS_Csm_00967]।
विनिर्देश AUTOSAR CP R20-11 पर आधारित स्वचालित रूप से जनरेट किया गया उपयोग नोट।
फ़ंक्शन Csm_JobKeySetValid [SWS_Csm_91027] 📄 PDF
Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);
Stores the key if necessary and sets the key state of the key identified by key Id to valid.
उपयोग
फ़ंक्शन Csm_JobKeySetValid आवश्यकता पड़ने पर कुंजी को संग्रहीत करता है और keyId के माध्यम से पहचानी गई कुंजी की स्थिति को मान्य पर सेट करता है [SWS_Csm_91027]। इंटरफ़ेस हेडर फ़ाइल Csm.h के माध्यम से घोषित किया गया है और इसमें हस्ताक्षर Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId) के साथ सर्विस ID 0x7a है [SWS_Csm_91027]।
कॉल करते समय, प्रकार uint32 के दो इनपुट पैरामीटर पास किए जाते हैं [SWS_Csm_91027]:
jobId: उस जॉब का पहचानकर्ता रखता है जो CSM सेवा का उपयोग करता है [SWS_Csm_91027]।keyId: उस कुंजी का पहचानकर्ता रखता है जिसके लिए नई कुंजी सामग्री को मान्य किया जाना है [SWS_Csm_91027]।
इस फ़ंक्शन के लिए कोई अतिरिक्त इनपुट/आउटपुट पैरामीटर या केवल आउटपुट पैरामीटर परिभाषित नहीं हैं [SWS_Csm_91027]।
सिंक्रोनस और एसिंक्रोनस व्यवहार के साथ-साथ समवर्तीता
निष्पादन सिमेंटिक्स संबंधित जॉब कॉन्फ़िगरेशन पर निर्भर करते हैं: कॉल या तो सिंक्रोनस रूप से होता है या एसिंक्रोनस रूप से [SWS_Csm_91027]। फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_91027]।
रिटर्न मान और त्रुटि प्रबंधन
प्रकार Std_ReturnType का रिटर्न मान फ़ंक्शन अनुरोध के परिणाम को दर्शाता है [SWS_Csm_91027]:
E_OK: अनुरोध सफल रहा [SWS_Csm_91027]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_91027]।CRYPTO_E_BUSY: अनुरोध विफल हो गया क्योंकि संबंधित Crypto Driver Object व्यस्त है [SWS_Csm_91027]।
यह उपयोग संबंधी निर्देश (usage note) स्वचालित रूप से विनिर्देश SWS_Csm_91027 के आधार पर जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_JobKeySetInvalid [SWS_Csm_91002] 📄 PDF
Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);
Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.
उपयोग
फ़ंक्शन Csm_JobKeySetInvalid किसी क्रिप्टोग्राफ़िक कुंजी की स्थिति को अमान्य पर सेट करता है [SWS_Csm_91002]। इस इंटरफ़ेस को कॉल करने के बाद, संबंधित कुंजी का उपयोग क्रिप्टोग्राफ़िक ऑपरेशनों के लिए तब तक नहीं किया जा सकता जब तक कि इसे फिर से मान्य स्थिति में न लाया जाए [SWS_Csm_91002]। इस सेवा की सर्विस ID 0x84 है, यह हेडर फ़ाइल Csm.h के माध्यम से उपलब्ध है और जॉब कॉन्फ़िगरेशन के आधार पर तुल्यकालिक या अतुल्यकालिक रूप से कार्य करती है [SWS_Csm_91002]।
कॉल के लिए निम्नलिखित पैरामीटर पास किए जाते हैं [SWS_Csm_91002]:
jobId: उस CSM जॉब की पहचान जो इस सेवा का उपयोग करता है [SWS_Csm_91002]।keyId: उस कुंजी का पहचानकर्ता जिसे अमान्य किया जाना है [SWS_Csm_91002]।
त्रुटि प्रबंधन और रिटर्न मान
Std_ReturnType प्रकार का रिटर्न मान अनुरोध के परिणाम की रिपोर्ट करता है [SWS_Csm_91002]:
E_OK: अनुरोध सफल रहा [SWS_Csm_91002]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_91002]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि सक्षम Crypto Driver Object व्यस्त है [SWS_Csm_91002]।
संगामिति
इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_91002]। कोई अतिरिक्त इनपुट या आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_Csm_91002]।
यह पाठ विनिर्देश के आधार पर AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_JobRandomSeed [SWS_Csm_91028] 📄 PDF
Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);
Provides a new seed for the specified key that is used for an associated random number generator.
उपयोग और कॉल संदर्भ
फ़ंक्शन Csm_JobRandomSeed एक निर्दिष्ट कुंजी के लिए एक नया सीड प्रदान करने का कार्य करता है, जिसका उपयोग एक संबद्ध रैंडम नंबर जनरेटर के लिए किया जाता है [SWS_Csm_91028]। घोषणा हेडर Csm.h में उपलब्ध है [SWS_Csm_91028]। फ़ंक्शन में सर्विस-ID 0x7b है और यह चार इनपुट पैरामीटर संसाधित करता है: jobId के माध्यम से उपयोग करने वाले CSM जॉब की पहचान की जाती है, जबकि keyId उस लक्ष्य कुंजी को निर्धारित करता है जिसके लिए सीड जनरेट किया जाना है [SWS_Csm_91028]। पॉइंटर seedPtr के माध्यम से आरंभीकरण डेटा पास किया जाता है और seedLength के साथ बाइट्स में उनकी लंबाई निर्दिष्ट की जाती है [SWS_Csm_91028]। निष्पादन व्यवहार संबंधित जॉब के कॉन्फ़िगरेशन पर निर्भर करता है और या तो सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91028]।
त्रुटि प्रबंधन और रिटर्न मान
फ़ंक्शन प्रकार Std_ReturnType का एक स्टेटस लौटाता है, जो अनुरोध का परिणाम दर्शाता है [SWS_Csm_91028]:
E_OK: अनुरोध सफल रहा [SWS_Csm_91028]।E_NOT_OK: अनुरोध सामान्यतः विफल रहा [SWS_Csm_91028]।CRYPTO_E_BUSY: अनुरोध विफल रहा क्योंकि सेवा वर्तमान में अभी भी व्यस्त है [SWS_Csm_91028]।CRYPTO_E_KEY_NOT_VALID: अनुरोध अस्वीकार कर दिया गया क्योंकि निर्दिष्ट कुंजी अमान्य स्थिति में है [SWS_Csm_91028]।
समवर्तीता और प्रतिबंध
इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_91028]। यदि कोई एप्लिकेशन किसी अन्य ऑपरेशन के सक्रिय रहने के दौरान सेवा को कॉल करता है, तो रिटर्न मान CRYPTO_E_BUSY इस स्थिति का संकेत देता है [SWS_Csm_91028]। इसके अतिरिक्त, त्रुटि CRYPTO_E_KEY_NOT_VALID से बचने के लिए निष्पादन से पहले यह सुनिश्चित किया जाना चाहिए कि keyId के माध्यम से संबोधित कुंजी मान्य है [SWS_Csm_91028]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
फ़ंक्शन Csm_JobKeyGenerate [SWS_Csm_91029] 📄 PDF
Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);
Generates new key material and stores it in the key identified by key Id.
उपयोग
फ़ंक्शन Csm_JobKeyGenerate नई कुंजी सामग्री जनरेट करता है और इसे keyId के माध्यम से पहचानी गई कुंजी में संग्रहीत करता है [SWS_Csm_91029]। पैरामीटर jobId के माध्यम से उस जॉब का पहचानकर्ता पास किया जाता है, जो CSM सेवा का उपयोग करता है [SWS_Csm_91029]। निष्पादन संबंधित जॉब के कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91029]। सेवा को सर्विस ID 0x7c के साथ हेडर फ़ाइल Csm.h के माध्यम से घोषित किया गया है [SWS_Csm_91029]।
रिटर्न मान और त्रुटि प्रबंधन
प्रकार Std_ReturnType का रिटर्न मान अनुरोध के परिणाम के बारे में जानकारी प्रदान करता है [SWS_Csm_91029]:
E_OK: अनुरोध सफल रहा [SWS_Csm_91029]।E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_91029]।CRYPTO_E_BUSY: सेवा वर्तमान में अभी भी व्यस्त है [SWS_Csm_91029]।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य (invalid) है [SWS_Csm_91029]।CRYPTO_E_KEY_EMPTY: गैर-आरंभीकृत (uninitialized) स्रोत कुंजी तत्व के कारण अनुरोध विफल रहा [SWS_Csm_91029]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को reentrant के रूप में निर्दिष्ट किया गया है [SWS_Csm_91029]। व्याख्या: चूँकि विनिर्देश कोई विशिष्ट निष्पादन संदर्भ निर्धारित नहीं करता है, इसलिए कॉल आमतौर पर टास्क संदर्भ में होना चाहिए। प्रश्न Q-236d699ed655e285 (खुला)
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
फ़ंक्शन Csm_JobKeyDerive [SWS_Csm_91030] 📄 PDF
Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);
Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto
उपयोग और सिमेंटिक्स
फ़ंक्शन Csm_JobKeyDerive keyId द्वारा पहचानी गई कुंजी से पासवर्ड और साल्ट के कुंजी तत्वों का उपयोग करके एक नई क्रिप्टोग्राफ़िक कुंजी प्राप्त करता है [SWS_Csm_91030]। परिणाम को targetKeyId द्वारा निर्दिष्ट गंतव्य कुंजी के ID 1 वाले कुंजी तत्व में संग्रहीत किया जाता है [SWS_Csm_91030]। यह कॉल jobId के माध्यम से संबंधित जॉब को पास करते हुए सर्विस ID 0x7d के साथ हेडर फ़ाइल Csm.h के माध्यम से की जाती है [SWS_Csm_91030]।
प्रसंस्करण पास किए गए जॉब के कॉन्फ़िगरेशन के आधार पर या तो सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91030]। फ़ंक्शन को reentrant के रूप में निर्दिष्ट किया गया है [SWS_Csm_91030]।
त्रुटि प्रबंधन और रिटर्न मान
फ़ंक्शन रिटर्न मान के रूप में Std_ReturnType प्रकार प्रदान करता है। अनुरोध का सफल निष्पादन E_OK द्वारा पुष्ट किया जाता है [SWS_Csm_91030]। त्रुटि की स्थिति में या अनुपयुक्त पूर्व-शर्तों के होने पर विशिष्ट रिटर्न मान रिपोर्ट किए जाते हैं [SWS_Csm_91030]:
E_NOT_OK: अनुरोध विफल रहा [SWS_Csm_91030]।CRYPTO_E_BUSY: अनुरोध विफल हो जाता है क्योंकि सेवा वर्तमान में अभी भी व्यस्त है [SWS_Csm_91030]।CRYPTO_E_KEY_READ_FAIL: कुंजी तत्व को पढ़ना अनुमत नहीं है [SWS_Csm_91030]।CRYPTO_E_KEY_WRITE_FAIL: गंतव्य कुंजी तत्व में लिखना अनुमत नहीं है [SWS_Csm_91030]।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है [SWS_Csm_91030]।CRYPTO_E_KEY_SIZE_MISMATCH: शामिल कुंजी तत्वों के आकार एक दूसरे के संगत नहीं हैं [SWS_Csm_91030]।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व अप्रारंभीकृत है [SWS_Csm_91030]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
फ़ंक्शन Csm_JobKeyExchangeCalcPubVal [SWS_Csm_91031] 📄 PDF
Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
Calculates the public value of the current user for the key exchange and stores the
उपयोग
फ़ंक्शन Csm_JobKeyExchangeCalcPubVal कुंजी विनिमय प्रोटोकॉल के लिए वर्तमान प्रतिभागी के सार्वजनिक मान की गणना करता है और इसे निर्दिष्ट गंतव्य मेमोरी में संग्रहीत करता है [SWS_Csm_91031]। संबद्ध जॉब के कॉन्फ़िगरेशन के आधार पर, प्रसंस्करण या तो सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91031]।
पैरामीटर निम्नलिखित इंटरफ़ेस डेटा के माध्यम से पास किए जाते हैं [SWS_Csm_91031]:
jobId: CSM जॉब का पहचानकर्ता, जो क्रिप्टोग्राफ़िक सेवा का उपयोग करता है।keyId: कुंजी का पहचानकर्ता, जिसका उपयोग कुंजी विनिमय प्रोटोकॉल के लिए किया जाता है।publicValuePtr: बफ़र क्षेत्र का पॉइंटर जिसमें परिकलित सार्वजनिक कुंजी संग्रहीत की जाती है।publicValueLengthPtr: लंबाई विनिर्देश का पॉइंटर। फ़ंक्शन कॉल के समय, इस पैरामीटर में बफ़रpublicValuePtrकी क्षमता शामिल होनी चाहिए; निष्पादन पूरा होने के बाद, परिकलित मान की वास्तविक लंबाई दर्ज की जाती है।
त्रुटि प्रबंधन
प्रकार Std_ReturnType का रिटर्न मान अनुरोध की निष्पादन स्थिति के बारे में जानकारी प्रदान करता है [SWS_Csm_91031]:
E_OK: अनुरोध सफलतापूर्वक निष्पादित किया गया।E_NOT_OK: अनुरोध विफल रहा।CRYPTO_E_BUSY: अनुरोधित सेवा वर्तमान में अभी भी व्यस्त है।CRYPTO_E_KEY_NOT_VALID: कुंजी की स्थिति अमान्य है।CRYPTO_E_KEY_EMPTY: स्रोत कुंजी तत्व प्रारंभीकृत नहीं है।
समवर्तीता और एकीकरण
इंटरफ़ेस को रीएंट्रेंट घोषित किया गया है, इसमें सर्विस-ID 0x7e है और इसे हेडर फ़ाइल Csm.h के माध्यम से प्रदान किया जाता है [SWS_Csm_91031]।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
फ़ंक्शन Csm_JobKeyExchangeCalcSecret [SWS_Csm_91032] 📄 PDF
Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.
उपयोग और सिमेंटिक्स
फ़ंक्शन Csm_JobKeyExchangeCalcSecret keyId के माध्यम से पहचानी गई कुंजी से कुंजी सामग्री के साथ-साथ संचार भागीदार की सार्वजनिक कुंजी का उपयोग करके कुंजी विनिमय के लिए साझा गुप्त कुंजी (Shared Secret Key) की गणना करता है [SWS_Csm_91032]। भागीदार कुंजी का मेमोरी पता partnerPublicValuePtr के माध्यम से पास किया जाता है और बाइट्स में इसकी लंबाई partnerPublicValueLength के माध्यम से परिभाषित की जाती है [SWS_Csm_91032]। परिकलित साझा रहस्य सीधे उसी कुंजी के भीतर एक कुंजी तत्व के रूप में संग्रहीत किया जाता है [SWS_Csm_91032]।
इनपुट पैरामीटर jobId के माध्यम से उपयोग करने वाले CSM जॉब की पहचान की जाती है। संबंधित जॉब कॉन्फ़िगरेशन के आधार पर निष्पादन व्यवहार सिंक्रोनस या एसिंक्रोनस होता है [SWS_Csm_91032]।
त्रुटि प्रबंधन और रिटर्न मान
प्रकार Std_ReturnType का रिटर्न मान सेवा अनुरोध की स्थिति की रिपोर्ट करता है [SWS_Csm_91032]:
E_OK: सेवा अनुरोध सफल रहा [SWS_Csm_91032]।E_NOT_OK: सेवा अनुरोध विफल रहा [SWS_Csm_91032]।CRYPTO_E_BUSY: अनुरोध विफल हो जाता है क्योंकि अंतर्निहित सेवा अभी भी व्यस्त है [SWS_Csm_91032]।CRYPTO_E_KEY_NOT_VALID: अनुरोध विफल हो जाता है क्योंकि संदर्भित कुंजी "invalid" स्थिति में है [SWS_Csm_91032]।CRYPTO_E_KEY_EMPTY: गणना विफल हो जाती है क्योंकि एक आवश्यक स्रोत कुंजी तत्व आरंभ नहीं किया गया है [SWS_Csm_91032]।
समवर्तीता और एकीकरण
फ़ंक्शन को रीएंट्रेंट डिज़ाइन किया गया है, इसमें सर्विस-ID 0x7f है और इसे हेडर फ़ाइल Csm.h के माध्यम से घोषित किया जाता है [SWS_Csm_91032]।
यह पाठ एक AI द्वारा तैयार किया गया था। केवल विनिर्देश ही निर्णायक है।
फ़ंक्शन Csm_SaveContextJob [SWS_Csm_91063] 📄 PDF
Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);
The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.
फ़ंक्शन Csm_SaveContextJob Crypto Driver को संबंधित क्रिप्टो ऑपरेशन के आंतरिक संदर्भ को एप्लिकेशन-साइड बफ़र में सहेजने का निर्देश देता है [SWS_Csm_91063]। सेवा को हेडर फ़ाइल Csm.h में घोषित किया गया है और इसकी सेवा ID 0x86 है [SWS_Csm_91063]।
इंटरफ़ेस निम्नलिखित पैरामीटरों की अपेक्षा करता है [SWS_Csm_91063]:
jobId(इनपुट): उस जॉब के अद्वितीय पहचानकर्ता को निर्दिष्ट करता है जो CSM सेवा का उपयोग करता है।contextBufferLengthPtr(इनपुट/आउटपुट): लंबाई मान का पॉइंटर। कॉल के समय, यह लक्ष्य बफ़र में उपलब्ध अधिकतम क्षमता को इंगित करता है; निष्पादन के बाद, इसमें वास्तव में लिखी गई डेटा लंबाई होती है या त्रुटि के मामले में मान0होता है।contextBufferPtr(आउटपुट): एप्लिकेशन के उस मेमोरी क्षेत्र का पॉइंटर जिसमें संदर्भ डेटा लिखा जाना है।
निष्पादन जॉब कॉन्फ़िगरेशन के आधार पर या तो सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91063]। इसके अतिरिक्त, फ़ंक्शन को रीएंट्रेंट निर्दिष्ट किया गया है [SWS_Csm_91063]।
ऑपरेशन स्थिति की रिपोर्टिंग के लिए निम्नलिखित रिटर्न मान परिभाषित किए गए हैं [SWS_Csm_91063]:
E_OK: संदर्भ डेटा सफलतापूर्वक बफ़र में संग्रहीत किया गया और लंबाई विनिर्देश को अपडेट किया गया।E_NOT_OK: संदर्भ डेटा प्रदान नहीं किया जा सका क्योंकि मान अमान्य हैं; रिपोर्ट की गई लंबाई0पर सेट की गई है।CRYPTO_E_BUSY: अनुरोध विफल हो गया क्योंकि अंतर्निहित क्रिप्टो सेवा अभी भी व्यस्त है।
यह उपयोग नोट विनिर्देश डेटा के आधार पर स्वचालित रूप से जनरेट किया गया था।
फ़ंक्शन Csm_RestoreContextJob [SWS_Csm_91064] 📄 PDF
Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);
The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.
उपयोग और सिमेंटिक्स
फ़ंक्शन Csm_RestoreContextJob किसी बाहरी बफ़र से क्रिप्टोग्राफ़िक जॉब की आंतरिक स्थिति को पुनर्स्थापित करने का काम करता है, ताकि बाद के संचालन पिछली बचत के सटीक स्थान पर जारी रहें [SWS_Csm_91064]। पैरामीटर jobId के माध्यम से लक्ष्य जॉब को संबोधित किया जाता है, जबकि contextBufferPtr पेलोड को और contextBufferLength इसके बाइट आकार को संदर्भित करता है [SWS_Csm_91064]। निष्पादन संबंधित जॉब के कॉन्फ़िगरेशन के आधार पर सिंक्रोनस या एसिंक्रोनस रूप से होता है [SWS_Csm_91064]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन प्रकार Std_ReturnType के अपने रिटर्न मान के माध्यम से ऑपरेशन के परिणाम की रिपोर्ट करता है [SWS_Csm_91064]:
E_OK: संदर्भ डेटा सफलतापूर्वक पढ़ा गया और आंतरिक ड्राइवर स्थिति पुनर्स्थापित की गई [SWS_Csm_91064]।E_NOT_OK: संदर्भ की पुनर्स्थापना विफल रही [SWS_Csm_91064]।CRYPTO_E_BUSY: अंतर्निहित क्रिप्टो सेवा वर्तमान में व्यस्त है, जिसके कारण अनुरोध अस्वीकार कर दिया गया था [SWS_Csm_91064]।
समवर्तीता और प्रतिबंध
इंटरफ़ेस को reentrant के रूप में निर्दिष्ट किया गया है और यह Csm.h (सर्विस ID 0x87) के माध्यम से उपलब्ध है [SWS_Csm_91064]। व्याख्या: जॉब के एसिंक्रोनस कॉन्फ़िगरेशन के मामले में, कॉलर को संभवतः यह सुनिश्चित करना होगा कि contextBufferPtr के अंतर्गत बफ़र पुनर्स्थापना के वास्तविक समापन तक अपरिवर्तित और वैध रहे। प्रश्न Q-8ab0cb179f807bd4 (खुला)
यह पाठ AI द्वारा तैयार किया गया था। यह AUTOSAR विनिर्देशों की समीक्षा का स्थान नहीं लेता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_CancelJob [SWS_Csm_00968] 📄 PDF
Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);
Cancels the job processing from asynchronous or streaming jobs .
उपयोग और कॉल संदर्भ
फ़ंक्शन Csm_CancelJob (सर्विस ID 0x6f) मॉड्यूल Csm [SWS_Csm_00968] के भीतर एसिंक्रोनस या स्ट्रीमिंग जॉब्स के प्रसंस्करण के सिंक्रोनस निरस्तीकरण के लिए उपयोग किया जाता है। इंटरफ़ेस हेडर Csm.h के माध्यम से प्रदान किया जाता है [SWS_Csm_00968]। एक पैरामीटर के रूप में, फ़ंक्शन job (प्रकार uint32 का) के माध्यम से निरस्त किए जाने वाले जॉब का पहचानकर्ता, साथ ही पैरामीटर mode (प्रकार Crypto_OperationModeType का) लेता है, जिसका उपयोग नहीं किया जाता है और यह केवल इंटरफ़ेस संगतता के लिए कार्य करता है [SWS_Csm_00968]।
रिटर्न मान और निरस्तीकरण व्यवहार
निरस्तीकरण कॉल का परिणाम प्रकार Std_ReturnType के रिटर्न मान के माध्यम से सिंक्रोनस रूप से सूचित किया जाता है [SWS_Csm_00968]:
E_OK: निरस्तीकरण तुरंत सफल रहा; जॉब को सभी कतारों से और संभावित रूप से सीधे क्रिप्टो ड्राइवर के हार्डवेयर से हटा दिया गया [SWS_Csm_00968]।E_NOT_OK: निरस्तीकरण अनुरोध विफल हो गया [SWS_Csm_00968]।CRYPTO_E_JOB_CANCELED: तत्काल निरस्तीकरण संभव नहीं था; निरस्तीकरण अगले उपयुक्त प्रसंस्करण चरण में किया जाएगा और बाद में जॉब के नकारात्मक पूर्णता कॉलबैक के माध्यम से सूचित किया जाएगा [SWS_Csm_00968]।
समवर्तीता और प्रतिबंध
विनिर्देश Csm_CancelJob को सिंक्रोनस और नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित करता है [SWS_Csm_00968]। इसलिए कॉलिंग घटकों को यह सुनिश्चित करना चाहिए कि फ़ंक्शन के कोई समवर्ती कॉल न हों।
यह उपयोग नोट स्वचालित रूप से तैयार किया गया था और पूरी तरह से AUTOSAR Classic Release R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_CallbackNotification [SWS_Csm_00970] 📄 PDF
void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).
सिंक्रोनस इंटरफ़ेस Csm_CallbackNotification को हेडर फ़ाइल Csm.h के माध्यम से घोषित किया जाता है और यह किसी क्रिप्टोग्राफ़िक जॉब के पूरा होने की सूचना Crypto Service Manager (CSM) को देने के लिए अंतर्निहित लेयर (CRYIF) के फ़ीडबैक फ़ंक्शन के रूप में कार्य करता है [SWS_Csm_00970]। फ़ंक्शन का कोई रिटर्न मान नहीं होता है और यह दो इनपुट पैरामीटर प्राप्त करता है: Crypto_JobType* प्रकार के पूर्ण किए गए कार्य का पॉइंटर job और साथ ही Crypto_ResultType प्रकार का result, जो अंतर्निहित क्रिप्टोग्राफ़िक ऑपरेशन के निष्पादन परिणाम को प्रेषित करता है [SWS_Csm_00970]।
समवर्तीता के संबंध में, Csm_CallbackNotification का निष्पादन reentrant के रूप में निर्दिष्ट है [SWS_Csm_00970]। एलिमेंट में विशिष्ट रिटर्न कोड या अलग DET या DEM त्रुटि संदेश परिभाषित नहीं हैं; क्रिप्टोग्राफ़िक प्रोसेसिंग की त्रुटि स्थितियाँ और निष्पादन परिणाम इसके बजाय सीधे पास किए गए तर्क result के माध्यम से प्रदान किए जाते हैं [SWS_Csm_00970]।
इंटरैक्शन के भाग के रूप में, फ़ंक्शन जॉब के प्रोसेसिंग मोड की जांच करता है: यदि फ़ील्ड job->jobPrimitiveInputOutput.mode में बिट CRYPTO_OPERATIONMODE_FINISH सेट है, तो विनिर्देश Csm_CallbackNotification को कॉन्फ़िगर किए गए कॉलबैक फ़ंक्शन को कॉल करने के लिए बाध्य करता है [SWS_Csm_01044]। व्याख्या: यह कॉल संभवतः उच्च-स्तरीय एप्लिकेशन लेयर की अधिसूचना से संबंधित होनी चाहिए, क्योंकि FINISH फ़्लैग क्रिप्टोग्राफ़िक ऑपरेशन अनुक्रम के अंतिम समापन का संकेत देता है। प्रश्न Q-32da2433b15ba3a9 (खुला)
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Csm_MainFunction [SWS_Csm_00479] 📄 PDF
void Csm_MainFunction (void);
API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_
उपयोग
अनुरोधित क्रिप्टोग्राफ़िक जॉब्स को संसाधित करने के लिए फ़ंक्शन Csm_MainFunction को चक्रीय रूप से कॉल किया जाता है [SWS_Csm_00479]। इसमें कोई ट्रांसफ़र पैरामीटर नहीं है (void) और यह कोई रिटर्न मान नहीं देता है [SWS_Csm_00479]। इसका डिक्लेरेशन हेडर SchM_Csm.h के माध्यम से उपलब्ध है [SWS_Csm_00479]।
कार्य और इंटरैक्शन
अपने आवधिक निष्पादन के भाग के रूप में, फ़ंक्शन लंबित जॉब्स के लिए आंतरिक कतारों की जांच करता है और उन्हें अंतर्निहित लेयर CRYIF में स्थानांतरित करता है [SWS_Csm_00479]।
इंस्टैंसिएशन और कॉल संदर्भ
प्रति कॉन्फ़िगर किए गए इंस्टैंस के लिए Csm_MainFunction_<shortName> रूप का एक समर्पित फ़ंक्शन कार्यान्वित किया जाता है, जहां <shortName> ECU कॉन्फ़िगरेशन में कॉन्फ़िगरेशन कंटेनर के संक्षिप्त नाम से मेल खाता है [SWS_Csm_00479]। चक्रीय कॉल योजनानुसार आवधिक कार्य (periodic task) में BSW शेड्यूलर (SchM) द्वारा किया जाना चाहिए, क्योंकि इंटरफ़ेस SchM_Csm.h के माध्यम से प्रदान किया जाता है। प्रश्न Q-ffb62942b1f517b3 (खुला)
त्रुटि प्रबंधन और सीमा शर्तें
प्रस्तुत विनिर्देश अंश में विशिष्ट त्रुटि कोड, DET या DEM संदेशों के साथ-साथ स्पष्ट reentrancy आवश्यकताओं का वर्णन नहीं किया गया है [SWS_Csm_00479]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
फ़ंक्शन <Csm_ApplicationCallbackNotification> [SWS_Csm_00971] 📄 PDF
void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);
CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".
कॉन्फ़िगर करने योग्य कॉलबैक फ़ंक्शन <Csm_ Application Callback Notification> Crypto Service Manager (CSM) द्वारा किसी प्रोसेसिंग जॉब के समाप्त होने के बारे में किसी एप्लिकेशन को तुल्यकालिक रूप से सूचित करने का कार्य करता है [SWS_Csm_00971]। फ़ंक्शन का पहचानकर्ता निश्चित नहीं है, बल्कि कॉन्फ़िगरेशन पैरामीटर {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func के माध्यम से प्रोजेक्ट-विशिष्ट रूप से निर्धारित किया जाता है [SWS_Csm_00971]। इंटरफ़ेस की सर्विस ID 0x82 है और यह हेडर फ़ाइल Csm.h के माध्यम से प्रदान किया जाता है [SWS_Csm_00971]।
हस्ताक्षर (सिग्नेचर) का कोई रिटर्न मान (void) नहीं है और यह मूल्यांकन के लिए एप्लिकेशन को दो इनपुट पैरामीटर पास करता है [SWS_Csm_00971]:
jobId(uint32): उस क्रिप्टोग्राफ़िक जॉब की विशिष्ट ID को दर्शाता है जिसके पूरा होने पर कॉलबैक ट्रिगर हुआ [SWS_Csm_00971]।result(Crypto_ResultType): निष्पादित क्रिप्टोग्राफ़िक ऑपरेशन का परिणाम या स्थिति प्रसारित करता है [SWS_Csm_00971]।
समवर्तीता के संबंध में, अधिसूचना फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Csm_00971]। स्वयं कॉलबैक के लिए विशिष्ट DET या DEM त्रुटि कोड परिभाषित नहीं हैं; पिछले ऑपरेशन में हुई त्रुटियों का मूल्यांकन सीधे result के माध्यम से किया जाना चाहिए [SWS_Csm_00971]। चूँकि इंटरफ़ेस को रीएंट्रेंट घोषित किया गया है, इसलिए एप्लिकेशन-साइड कार्यान्वयन को इस तरह डिज़ाइन किया जाना चाहिए कि यह विभिन्न जॉब्स के लिए एक साथ सूचनाओं को थ्रेड-सुरक्षित रूप से संसाधित कर सके। प्रश्न Q-79504ea3461f8d61 (खुला)
यह पाठ AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
टाइप Csm_ConfigType [SWS_Csm_01085] 📄 PDF
Configuration data structure of Csm module
टाइप Crypto_AlgorithmFamilyType [SWS_Csm_01047] 📄 PDF
Type Crypto_AlgorithmFamilyType.
टाइप Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF
Type Crypto_AlgorithmModeType.
एन्यूमिरेशन प्रकार Crypto_AlgorithmModeType, [SWS_Csm_01048] के अनुसार किसी क्रिप्टोग्राफ़िक एल्गोरिदम के ऑपरेटिंग मोड को निर्दिष्ट करता है। यह हेडर फ़ाइल Crypto_GeneralTypes.h के माध्यम से उपलब्ध है और Crypto Service Manager में मानकीकृत कॉन्फ़िगरेशन के साथ-साथ क्रिप्टोग्राफ़िक विधियों के रनटाइम चयन के लिए कार्य करता है।
उपयोग और मान श्रेणी (Value Range):
- क्लासिक ब्लॉक सिफ़र मोड: समर्थित मोड्स में अन्य के अलावा
CRYPTO_ALGOMODE_ECB,CRYPTO_ALGOMODE_CBC,CRYPTO_ALGOMODE_CFB,CRYPTO_ALGOMODE_OFB,CRYPTO_ALGOMODE_CTR,CRYPTO_ALGOMODE_GCMऔरCRYPTO_ALGOMODE_XTS[SWS_Csm_01048] शामिल हैं। - असममित (asymmetric) विधियाँ और पैडिंग: एन्क्रिप्शन और हस्ताक्षर के लिए मोड शामिल हैं जैसे कि
CRYPTO_ALGOMODE_RSAES_OAEP,CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5,CRYPTO_ALGOMODE_RSASSA_PSSऔरCRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5[SWS_Csm_01048]। - अन्य ऑपरेटिंग मोड: मान श्रेणी में राउंड की संख्याएँ (
CRYPTO_ALGOMODE_8ROUNDS,CRYPTO_ALGOMODE_12ROUNDS,CRYPTO_ALGOMODE_20ROUNDS), MAC विधियाँ (CRYPTO_ALGOMODE_HMAC,CRYPTO_ALGOMODE_CMAC,CRYPTO_ALGOMODE_GMAC), रैंडम बिट जेनरेटर (CRYPTO_ALGOMODE_CTRDRBG), SipHash वेरिएंट और कर्व परिभाषाएँ जैसे किCRYPTO_ALGOMODE_PXXXR1[SWS_Csm_01048] शामिल हैं। - विशेष स्थितियाँ:
CRYPTO_ALGOMODE_NOT_SET(0x00) के साथ एक अनसेट एल्गोरिदम कुंजी का संकेत दिया जाता है, जबकिCRYPTO_ALGOMODE_CUSTOM(0xff) विक्रेता-विशिष्ट ऑपरेटिंग मोड की अनुमति देता है [SWS_Csm_01048]।
व्याख्या: चूँकि Crypto_AlgorithmModeType एक शुद्ध एन्यूमिरेशन है, इसलिए इस प्रकार की DET या DEM के माध्यम से अपनी कोई त्रुटि हैंडलिंग नहीं होती है और यह रीएंट्रेंसी आवश्यकताओं के अधीन नहीं है। प्रश्न Q-3d2e905dda6531ac (खुला) त्रुटि जाँच और कॉल संदर्भ के संबंध में प्रतिबंध केवल उन CSM फ़ंक्शनों से उत्पन्न होते हैं, जिन्हें इस प्रकार के मान पैरामीटर के रूप में पास किए जाते हैं।
यह उपयोग संबंधी नोट विनिर्देश SWS_Csm_01048 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Crypto_InputOutputRedirectionConfigType [SWS_Csm_91024] 📄 PDF
Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.
टाइप Crypto_JobType [SWS_Csm_01013] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
Crypto_JobType का उपयोग और संरचना
संरचना Crypto_JobType Crypto Service Manager में एक क्रिप्टोग्राफ़िक कार्य के निष्पादन के लिए सभी प्रासंगिक नियंत्रण, स्थिति और बफ़र डेटा को बंडल करती है और Crypto_GeneralTypes.h के माध्यम से उपलब्ध है [SWS_Csm_01013]।
संरचना के केंद्रीय तत्वों में शामिल हैं [SWS_Csm_01013]:
jobId: जॉब का विशिष्ट पहचानकर्ता।jobState: जॉब की वर्तमान निष्पादन स्थिति का प्रतिनिधित्व करता है।jobPrimitiveInputOutput: प्रिमिटिव के विशिष्ट इनपुट और आउटपुट डेटा को संदर्भित करता है।jobPrimitiveInfo: चयनित क्रिप्टो प्रिमिटिव के बारे में निरंतर अतिरिक्त जानकारी का पॉइंटर।jobPriority: निष्पादन प्राथमिकता निर्धारित करता है, जहां एक उच्च मान उच्च तात्कालिकता को इंगित करता है।jobRedirectionInfoRef: इनपुट और आउटपुट मानों के रूप में कुंजियों के पुनर्निर्देशन पर वैकल्पिक विनिर्देशों का पॉइंटर।
पारस्परिक क्रिया और इंटरफ़ेस संबंध
संरचना फ़ील्ड cryptoKeyId और targetCryptoKeyId क्रिप्टो ड्राइवर में उपयोग की जाने वाली कुंजियों को संदर्भित करते हैं; विनिर्देश के अनुसार, इन पहचानकर्ताओं का वर्णन Crypto Interface द्वारा किया गया है [SWS_Csm_01013]। Interpretation: jobPriority के माध्यम से, कतारों में समवर्ती कार्यों के शेड्यूलिंग और प्रसंस्करण के क्रम को विनियमित किया जाना चाहिए। प्रश्न Q-439432c5631948fb (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था। सभी जानकारी पूरी तरह से AUTOSAR R20-11 के विनिर्देश पर आधारित है।
टाइप Crypto_JobStateType [SWS_Csm_01028] 📄 PDF
Enumeration of the current job state.
इन्यूमरेशन प्रकार Crypto_JobStateType CSM में किसी क्रिप्टोग्राफ़िक जॉब की वर्तमान प्रसंस्करण स्थिति को परिभाषित करता है [SWS_Csm_01028]। यह हेडर फ़ाइल Crypto_GeneralTypes.h के माध्यम से प्रदान किया जाता है और जॉब जीवनचक्र की दो मुख्य स्थितियों के बीच अंतर करता है [SWS_Csm_01028]:
CRYPTO_JOBSTATE_IDLE(0x00): जॉब की निष्क्रिय स्थिति (आइडल स्टेट) को दर्शाता है। यह स्थिति आरंभ मेंCsm_Init()को कॉल करने के बाद या फ़िनिश ऑपरेशन (स्थिति "Finish") पूरा होते ही प्राप्त की जाती है [SWS_Csm_01028]।CRYPTO_JOBSTATE_ACTIVE(0x01): इंगित करता है कि जॉब सक्रिय रूप से संसाधित हो रहा है और इनपुट डेटा पहले ही संसाधित हो चुका है या मध्यवर्ती परिणाम उपलब्ध हैं। यह स्थिति स्टार्ट या अपडेट ऑपरेशन सफलतापूर्वक पूरा होते ही प्राप्त होती है [SWS_Csm_01028]।
उपयोग और परस्पर क्रिया के संदर्भ में, यह प्रकार स्ट्रीमिंग या बहु-चरणीय क्रिप्टो ऑपरेशनों की प्रगति को दर्शाता है [SWS_Csm_01028]। CRYPTO_JOBSTATE_ACTIVE में संक्रमण इंगित करता है कि क्रिप्टोग्राफ़िक संदर्भ आरंभ किया गया है या लगातार मध्यवर्ती परिणाम रखता है, जबकि CRYPTO_JOBSTATE_IDLE में संक्रमण समाप्ति को चिह्नित करता है और दर्शाता है कि जॉब नए प्रवाह के लिए तैयार है [SWS_Csm_01028]।
यह पाठ एक AI द्वारा तैयार किया गया था। यह पूरी तरह से CSM मॉड्यूल (R20-11) के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Crypto_JobPrimitiveInputOutputType [SWS_Csm_01009] 📄 PDF
Type Crypto_JobPrimitiveInputOutputType.
टाइप Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
डेटा संरचना Crypto_JobPrimitiveInfoType एक क्रिप्टो-जॉब और उसके अंतर्निहित प्रिमिटिव्स से संबंधित अतिरिक्त जानकारी को बंडल करती है [SWS_Csm_01012]। यह Classic-AUTOSAR स्टैक में हेडर फ़ाइल Crypto_GeneralTypes.h के माध्यम से उपलब्ध है [SWS_Csm_01012]।
घटक और उपयोग
विनिर्देश [SWS_Csm_01012] के अनुसार, संरचना निम्नलिखित फ़ील्ड से मिलकर बनी है:
callbackId(uint32): कॉलबैक फ़ंक्शन का आंतरिक पहचानकर्ता, जिसे CSM मॉड्यूल द्वारा तब कॉल किया जाता है जब कॉन्फ़िगर की गई सेवा का निष्पादन समाप्त हो जाता है [SWS_Csm_01012]।primitiveInfo(const Crypto_PrimitiveInfoType*): क्रिप्टो-प्रिमिटिव्स के आगे के कॉन्फ़िगरेशन वाली डेटा संरचना का पॉइंटर [SWS_Csm_01012]।cryIfKeyId(uint32): क्रिप्टो-इंटरफ़ेस (CryIf) के लिए कुंजी का पहचानकर्ता [SWS_Csm_01012]।processingType(Crypto_ProcessingType): निष्पादन व्यवहार को परिभाषित करता है और यह निर्धारित करता है कि जॉब को सिंक्रोनस रूप से प्रोसेस किया जाए या एसिंक्रोनस रूप से [SWS_Csm_01012]।
निष्पादन संदर्भ और सेमांटिक्स
फ़ील्ड processingType जॉब प्रोसेसिंग के सिंक्रोनस या एसिंक्रोनस सेमांटिक्स को नियंत्रित करता है [SWS_Csm_01012]। callbackId के माध्यम से निर्दिष्ट कॉलबैक फ़ंक्शन कॉलर को सेवा की समाप्ति के बारे में सूचित करने के लिए मुख्य रूप से एसिंक्रोनस मोड में प्रासंगिक होना चाहिए, जबकि पॉइंटर primitiveInfo को एक मान्य प्रिमिटिव कॉन्फ़िगरेशन को संदर्भित करना चाहिए [SWS_Csm_01012]। प्रश्न Q-791dae4fb6a83f99 (खुला)
यह उपयोग निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
टाइप Crypto_ServiceInfoType [SWS_Csm_01031] 📄 PDF
Enumeration of the kind of the service.
टाइप Crypto_JobRedirectionInfoType [SWS_Csm_91026] 📄 PDF
Type Crypto_JobRedirectionInfoType.
टाइप Crypto_AlgorithmInfoType [SWS_Csm_01008] 📄 PDF
Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.
उपयोग
डेटा संरचना Crypto_AlgorithmInfoType किसी क्रिप्टोग्राफ़िक एल्गोरिदम का सटीक कॉन्फ़िगरेशन निर्धारित करती है और इसे हेडर फ़ाइल Crypto_GeneralTypes.h के माध्यम से प्रदान किया जाता है [SWS_Csm_01008]। यह निम्नलिखित तत्वों से मिलकर बनी है:
family(Crypto_AlgorithmFamilyType): एल्गोरिदम का प्राथमिक परिवार (प्राइमरी फ़ैमिली)।secondaryFamily(Crypto_AlgorithmFamilyType): एल्गोरिदम का द्वितीयक परिवार (सेकेंडरी फ़ैमिली)।keyLength(uint32): बिट्स में उपयोग की जाने वाली कुंजी की लंबाई।mode(Crypto_AlgorithmModeType): एल्गोरिदम का अभीष्ट ऑपरेटिंग मोड।
प्रत्येक एल्गोरिदम को सभी संरचना तत्वों के पूर्ण असाइनमेंट की आवश्यकता नहीं होती है [SWS_Csm_01008]। क्रिप्टोग्राफ़िक ऑपरेशन के प्रकार के आधार पर, ऑपरेटिंग मोड या सेकेंडरी फ़ैमिली जैसे अलग-अलग फ़ील्ड अप्रयुक्त रह सकते हैं।
प्रतिबंध और त्रुटि प्रबंधन
[SWS_Csm_01008] के अनुसार, AUTOSAR में केवल संरचना तत्वों के वैध संयोजन ही हो सकते हैं। अमान्य संयोजन - उदाहरण के लिए किसी विशिष्ट एल्गोरिदम परिवार के लिए बेमेल ऑपरेटिंग मोड या अमान्य कुंजी लंबाई - अनुमत नहीं हैं। पैरामीटर संयोजन की वैधता की जाँच संभवतः कॉन्फ़िगरेशन टूल्स द्वारा या CSM द्वारा सेवा कॉल के दौरान की जाती है। प्रश्न Q-da4984170bba173c (खुला)
यह पाठ एक AI द्वारा तैयार और क्यूरेट किया गया था।
टाइप Crypto_ProcessingType [SWS_Csm_01049] 📄 PDF
Enumeration of the processing type.
टाइप Crypto_PrimitiveInfoType [SWS_Csm_01011] 📄 PDF
Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager
संरचना Crypto_PrimitiveInfoType Crypto Service Manager (CSM) में किसी क्रिप्टोग्राफ़िक प्रिमिटिव ([SWS_Csm_01011]) के बुनियादी मेटाडेटा के प्रावधान के लिए कार्य करती है। इसे हेडर फ़ाइल Crypto_GeneralTypes.h के माध्यम से घोषित किया जाता है और यह संबंधित ऑपरेशन की स्थिर विशेषताओं को बंडल करती है ([SWS_Csm_01011])।
संरचना दो तत्वों से मिलकर बनी है ([SWS_Csm_01011]):
service(प्रकार:const Crypto_ServiceInfoType): एक इन्यूमरेशन के माध्यम से उपयोग की जाने वाली क्रिप्टोग्राफ़िक सेवा को निर्धारित करता है, उदाहरण के लिए एन्क्रिप्शन (Encrypt) ([SWS_Csm_01011])।algorithm(प्रकार:const Crypto_AlgorithmInfoType): उपयोग किए गए एल्गोरिदम के बारे में विस्तृत जानकारी शामिल है ([SWS_Csm_01011])।
चूँकि दोनों तत्व const के रूप में टाइप्ड हैं, इसलिए यह केवल पढ़ने के लिए कॉन्फ़िगरेशन या मेटाडेटा होना चाहिए, जो कॉन्फ़िगरेशन समय पर निर्धारित होता है और रनटाइम पर ड्राइवरों या CSM द्वारा पूरी तरह से रीड-ओनली रूप से मूल्यांकित किया जाता है ([SWS_Csm_01011])। प्रश्न Q-6d53291f7fb8cfe6 (खुला) इस डेटा संरचना प्रकार के लिए कोई विशिष्ट त्रुटि कोड, त्रुटि प्रबंधन रूटीन या समवर्ती प्रतिबंध परिभाषित नहीं हैं।
यह पाठ AI द्वारा तैयार किया गया है। विनिर्देश के आधार पर सुरक्षा-महत्वपूर्ण विवरणों की पुष्टि करें।
टाइप Csm_ConfigIdType [SWS_Csm_00691] 📄 PDF
Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_
टाइप Crypto_OperationModeType [SWS_Csm_01029] 📄 PDF
Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".
गणना प्रकार Crypto_OperationModeType [SWS_Csm_01029] के अनुसार क्रिप्टोग्राफ़िक ऑपरेशनों में निष्पादित किए जाने वाले प्रोसेसिंग चरण को परिभाषित करता है। यह प्रकार एक बिटमास्क के रूप में संरचित है, जिसके पहले तीन बिट्स मुख्य चरणों Start (बिट 1 / 0x01), Update (बिट 2 / 0x02) और Finish (बिट 3 / 0x04) को मैप करते हैं।
एक क्रिप्टो-जॉब के विभिन्न निष्पादन और लाइफ़साइकिल चरणों को एन्यूमिरेशन मानों के माध्यम से नियंत्रित किया जाता है [SWS_Csm_01029]:
CRYPTO_OPERATIONMODE_START(0x01): जॉब को इनिशियलाइज़ करता है; स्थिति रीसेट हो जाती है, जिससे पिछले इनपुट डेटा और मध्यवर्ती परिणाम हटा दिए जाते हैं।CRYPTO_OPERATIONMODE_UPDATE(0x02): मध्यवर्ती परिणामों की गणना के लिए इनपुट डेटा को प्रोसेस करता है।CRYPTO_OPERATIONMODE_FINISH(0x04): क्रिप्टोग्राफ़िक ऑपरेशन की गणनाओं को अंतिम रूप से समाप्त करता है।CRYPTO_OPERATIONMODE_STREAMSTART(0x03): स्ट्रीमिंग परिदृश्यों के लिए Start और Update को जोड़ता है।CRYPTO_OPERATIONMODE_SINGLECALL(0x07): एक ही कॉल में पूर्ण प्रोसेसिंग के लिए Start, Update और Finish को संयोजित करता है।
इसके अलावा, यह प्रकार व्यवधान-योग्य प्रक्रियाओं में वर्कस्पेस प्रबंधन का समर्थन करता है: CRYPTO_OPERATIONMODE_SAVE_CONTEXT (0x08) के साथ क्रिप्टो ड्राइवर एप्लिकेशन को वर्तमान वर्कस्पेस संदर्भ प्रदान करता है, जबकि CRYPTO_OPERATIONMODE_RESTORE_CONTEXT (0x10) ड्राइवर के आंतरिक वर्कस्पेस में पहले सहेजी गई स्थिति को पुनर्स्थापित करता है [SWS_Csm_01029]। यह प्रकार हेडर Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है।
यह उपयोग संबंधी निर्देश स्वचालित रूप से तैयार किया गया था और पूरी तरह से [SWS_Csm_01029] की जानकारी पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Crypto_VerifyResultType [SWS_Csm_01024] 📄 PDF
Enumeration of the result type of verification operations.
इन्यूमरेशन प्रकार Crypto_VerifyResultType CSM मॉड्यूल में सत्यापन ऑपरेशनों के कार्यात्मक परिणाम को परिभाषित करता है [SWS_Csm_01024]। यह हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है और यह निर्धारित करने का कार्य करता है कि क्या कोई क्रिप्टोग्राफ़िक तुलना सफलतापूर्वक पूरी हुई थी [SWS_Csm_01024]।
मान श्रेणी और सिमेंटिक्स
[SWS_Csm_01024] के अनुसार इन्यूमरेशन में तुलना स्थिति को दर्शाने के लिए दो असतत मान शामिल हैं:
CRYPTO_E_VER_OK(मान0x00अथवा0): सत्यापन का परिणाम "true" है, अतः दोनों तुलना किए गए तत्व समान हैं [SWS_Csm_01024]।CRYPTO_E_VER_NOT_OK(मान0x01अथवा1): सत्यापन का परिणाम "false" है, तुलना किए गए तत्व समान नहीं हैं [SWS_Csm_01024]।
यह प्रकार डेटा मिलान के कार्यात्मक विवरण को किसी ऑपरेशन की सामान्य निष्पादन स्थिति से अलग करता है। व्याख्या के अनुसार इसका अर्थ यह है कि यदि डेटा एक-दूसरे से भिन्न होता है, तो त्रुटि-रहित निष्पादित सत्यापन रूटीन भी रिटर्न मान CRYPTO_E_VER_NOT_OK दे सकता है [SWS_Csm_01024]।
उपयोग और सीमाएँ
चूँकि डेटा प्रकार Rte_Csm_Type.h के माध्यम से घोषित किया गया है, इसका मुख्य रूप से CSM की सत्यापन सेवाओं के लिए आउटपुट पैरामीटर के रूप में उपयोग किए जाने की संभावना है [SWS_Csm_01024]। प्रश्न Q-067a1d2b36ffe56b (खुला) विशिष्ट त्रुटि प्रबंधन जैसे DET या DEM संदेशों के साथ-साथ रीएंट्रेंसी या समवर्तीता पर आवश्यकताएं स्वयं प्रकार पर निर्दिष्ट नहीं हैं [SWS_Csm_01024]।
यह पाठ AI द्वारा जनरेट किया गया है और मार्गदर्शन के रूप में कार्य करता है। आधिकारिक AUTOSAR विनिर्देश ही प्रामाणिक है।
टाइप Csm_KeyDataType [SWS_Csm_00828] 📄 PDF
Array long enough to store any key element of the considered key
टाइप Crypto_ResultType [SWS_Csm_91044] 📄 PDF
Return for Std_ Return Type for Cryptostack.
गणना प्रकार (enumeration type) Crypto_ResultType AUTOSAR क्रिप्टो स्टैक के फ़ंक्शनों के लिए एक विशिष्ट रिटर्न प्रकार के रूप में कार्य करता है और हेडर Rte_Csm_Type.h के माध्यम से उपलब्ध है [SWS_Csm_91044]। यह क्लासिक रिटर्न स्कीमा को क्रिप्टोग्राफ़िक संचालन के लिए विभेदित त्रुटि और स्थिति संदेशों के साथ विस्तारित करता है [SWS_Csm_91044]।
नियमित सफलता स्थिति E_OK (0x00) और सामान्य त्रुटि E_NOT_OK (0x01) के अलावा, यह प्रकार निम्नलिखित विशिष्ट त्रुटि स्थितियों को परिभाषित करता है [SWS_Csm_91044]:
- प्रक्रिया और संसाधन स्थितियाँ:
CRYPTO_E_BUSY(0x02) अभी भी व्यस्त सेवा को इंगित करता है,CRYPTO_E_JOB_CANCELED(0x0C) किसी कार्य को रद्द करने को औरCRYPTO_E_ENTROPY_EXHAUSTED(0x04) रैंडम जनरेटर के समाप्त हो चुके एंट्रॉपी स्रोत को दर्शाता है [SWS_Csm_91044]। - कुंजी और एक्सेस समस्याएँ: पढ़ने (
CRYPTO_E_KEY_READ_FAIL, 0x06) या लिखने (CRYPTO_E_KEY_WRITE_FAIL, 0x07) पर एक्सेस अस्वीकरण, अनुपलब्ध कुंजियाँ (CRYPTO_E_KEY_NOT_AVAILABLE, 0x08), अमान्य कुंजियाँ (CRYPTO_E_KEY_NOT_VALID, 0x09), गलत कुंजी आकार (CRYPTO_E_KEY_SIZE_MISMATCH, 0x0A) और साथ ही गैर-आरंभीकृत स्रोत कुंजी तत्व (CRYPTO_E_KEY_EMPTY, 0x0D) निर्दिष्ट हैं [SWS_Csm_91044]।
व्याख्या: कॉलिंग घटक स्थिति के आधार पर अस्थायी प्रतीक्षा स्थितियों और स्थायी कॉन्फ़िगरेशन त्रुटियों के बीच अंतर करने के लिए इन रिटर्न कोड का मूल्यांकन कर सकते हैं। प्रश्न Q-68cfedad7880908c (खुला)
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
टाइप Csm_HashDataType [SWS_Csm_01920] 📄 PDF
Array long enough to store the data which shall be hashed.
Csm_HashDataType का उपयोग और संरचना
डेटा प्रकार Csm_HashDataType [SWS_Csm_01920] के अनुसार बेस प्रकार uint8 के तत्वों वाले एक ऐरे के रूप में परिभाषित है। यह उन इनपुट डेटा को संग्रहीत करने के लिए एक डेटा बफ़र के रूप में कार्य करता है, जिन्हें Crypto Service Manager में हैश मान गणना के अधीन किया जाना है। फ़ील्ड की लंबाई इस प्रकार डिज़ाइन की गई है कि यह हैश किए जाने वाले डेटा को पूरी तरह से समाहित करने के लिए पर्याप्त हो [SWS_Csm_01920]।
कॉन्फ़िगरेशन और संस्करण निर्माण
ऐरे का वास्तविक डायमेंशनिंग कॉन्फ़िगरेशन पैरामीटर CsmHashDataMaxLength के माध्यम से नियंत्रित होता है, जो पथ Csm/CsmPrimitives/CsmHash/CsmHashConfig के अंतर्गत परिभाषित है [SWS_Csm_01920]। यह सुनिश्चित करता है कि मेमोरी स्पेस संबंधित हैश कॉन्फ़िगरेशन की अधिकतम अपेक्षित डेटा मात्रा के लिए उपयुक्त रूप से डिज़ाइन किया गया है।
इसके अलावा, पैटर्न Csm_HashDataType_{Crypto} के अनुसार एक क्रिप्टोग्राफ़िक वेरिएंट निर्माण मौजूद है, जहाँ प्लेसहोल्डर {Crypto} को Csm/CsmPrimitives के अंतर्गत संबंधित प्रिमिटिव कॉन्फ़िगरेशन के SHORT-NAME के माध्यम से हल किया जाता है [SWS_Csm_01920]। यह सिस्टम में प्रिमिटिव-विशिष्ट बफ़र संरचनाओं को सक्षम बनाता है।
एकीकरण और बाधाएँ
यह प्रकार हेडर Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है [SWS_Csm_01920]। इसका संभवतः यह अर्थ है कि यह प्रकार सॉफ़्टवेयर घटकों और CSM के बीच RTE इंटरफ़ेस के माध्यम से मानकीकृत डेटा ट्रांसफर के लिए अभिप्रेत है। प्रश्न Q-4240a8394cdd746d (खुला) बफ़र भरते समय, उपयोगकर्ताओं को यह ध्यान रखना चाहिए कि हैश गणना में ओवरफ़्लो से बचने के लिए डेटा कॉन्फ़िगर की गई ऊपरी सीमा CsmHashDataMaxLength से अधिक नहीं होना चाहिए।
यह पाठ AI द्वारा बनाया गया था और विनिर्देश स्थिति R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_HashResultType [SWS_Csm_00912] 📄 PDF
Array long enough to store the data of the hash.
Csm_HashResultType का उपयोग और संरचना
डेटा प्रकार Csm_HashResultType uint8-तत्वों के एक ऐरे का प्रतिनिधित्व करता है और हैश परिणाम [SWS_Csm_00912] के डेटा को संग्रहीत करने के लिए पर्याप्त आकार के मेमोरी क्षेत्र के रूप में कार्य करता है।
ऐरे की विशिष्ट बफ़र लंबाई कॉन्फ़िगर करने योग्य है और इसे Csm/CsmPrimitives/CsmHash/CsmHashConfig/CsmHashResultLength के अंतर्गत कॉन्फ़िगरेशन पैरामीटर CsmHashResultLength के माध्यम से निर्धारित किया जाता है [SWS_Csm_00912]। इस प्रकार डेटा प्रकार का आकार सीधे संबंधित क्रिप्टोग्राफ़िक हैश एल्गोरिदम की आउटपुट लंबाई पर निर्भर करता है।
प्रकार की परिभाषा पैटर्न Csm_HashResultType_{Crypto} के अनुसार नाम भिन्नता के अधीन है, जहाँ पहचानकर्ता {Crypto} को कॉन्फ़िगर किए गए प्रिमिटिव (ecuc/Csm/CsmPrimitives.SHORT-NAME) के शॉर्ट नेम द्वारा प्रतिस्थापित किया जाता है [SWS_Csm_00912]।
डेटा प्रकार हेडर Rte_Csm_Type.h [SWS_Csm_00912] के माध्यम से उपलब्ध कराया जाता है। व्याख्या: Rte_Csm_Type.h के माध्यम से प्रावधान के कारण, इस प्रकार का मुख्य उद्देश्य सॉफ़्टवेयर घटकों में या RTE इंटरफ़ेस पर हैश रिटर्न मानों के लिए एक टाइप्ड परिणाम बफ़र के रूप में उपयोग किया जाना हो सकता है। प्रश्न Q-4ff10e08b6a5c8c0 (खुला)
यह पाठ विनिर्देश डेटा के आधार पर एक AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF
Array long enough to store the data from which a MAC shall be generated.
डेटा प्रकार Csm_MacGenerateDataType इनपुट डेटा को संग्रहीत करने के लिए एक बाइट ऐरे के रूप में कार्य करता है, जिससे एक Message Authentication Code (MAC) की गणना की जानी है [SWS_Csm_00935]।
उपयोग और प्रकार संरचना (Type Structure)
[SWS_Csm_00935] के अनुसार इस एलिमेंट को बेस टाइप uint8 के तत्वों वाले एक ऐरे के रूप में निर्दिष्ट किया गया है। टाइप का नाम Csm_MacGenerateDataType_{Crypto} स्कीमा के अनुसार क्रिप्टोग्राफ़िक नाम भिन्नता (name variation) के अधीन है, जहाँ प्रत्यय (suffix) संबंधित प्रिमिटिव के कॉन्फ़िगर किए गए संक्षिप्त नाम (short name) से मेल खाता है [SWS_Csm_00935]। फ़ील्ड का डायमेंशनिंग कॉन्फ़िगरेशन पैरामीटर CsmMacGenerateDataMaxLength के माध्यम से स्थिर रूप से निर्धारित किया जाता है, जिससे यह सुनिश्चित होता है कि ऐरे संसाधित किए जाने वाले डेटा के लिए पर्याप्त मेमोरी स्पेस प्रदान करता है [SWS_Csm_00935]।
एकीकरण और इंटरफ़ेस
यह प्रकार हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से उपलब्ध कराया जाता है और डेटा संरचनाओं को AUTOSAR-RTE से जोड़ता है [SWS_Csm_00935]। कॉलिंग सॉफ़्टवेयर घटक (SWCs) या बेसिक सॉफ़्टवेयर मॉड्यूल CSM की MAC जनरेशन सेवाओं के लिए टाइप्ड डेटा बफ़र्स घोषित करने हेतु इस प्रकार का उपयोग कर सकते हैं।
प्रतिबंध
चूँकि फ़ील्ड का आकार अधिकतम लंबाई के माध्यम से निश्चित रूप से कॉन्फ़िगर किया गया है, इसलिए उपयोगकर्ता स्तर पर यह सुनिश्चित किया जाना चाहिए कि पेलोड डेटा इस सीमा से अधिक न हो, क्योंकि स्टैटिक प्रकार किसी भी डायनेमिक लंबाई समायोजन का प्रावधान नहीं करता है [SWS_Csm_00935]। प्रश्न Q-2010ffc7191f874a (खुला)
यह उपयोग संबंधी नोट स्वचालित रूप से तैयार किया गया था और पूरी तरह से AUTOSAR संस्करण R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_MacGenerateResultType [SWS_Csm_00927] 📄 PDF
Array long enough to store the data of the MAC.
डेटा प्रकार Csm_MacGenerateResultType, [SWS_Csm_00927] के अनुसार एक बाइट ऐरे (तत्व प्रकार uint8) का प्रतिनिधित्व करता है, जो उत्पन्न Message Authentication Code (MAC) के परिणाम डेटा को रखने के लिए कार्य करता है।
उपयोग और डायमेंशनिंग
विनिर्देश ऐरे को MAC के डेटा को संग्रहीत करने के लिए पर्याप्त लंबा परिभाषित करता है ([SWS_Csm_00927])। वास्तविक बफ़र आकार कॉन्फ़िगरेशन पैरामीटर CsmMacGenerateResultLength के माध्यम से निर्धारित किया जाता है, जिसे पथ Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig के तहत कॉन्फ़िगर किया गया है ([SWS_Csm_00927])। इसके अतिरिक्त, यह प्रकार [SWS_Csm_00927] के अनुसार प्रिमिटिव के संक्षिप्त नाम ({Crypto} या ecuc/Csm/CsmPrimitives.SHORT-NAME) के माध्यम से एक क्रिप्टोग्राफ़िक भिन्नता के अधीन है।
उपलब्धता और इंटरफ़ेस
प्रकार हेडर Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है ([SWS_Csm_00927])। यह दर्शाता है कि इसे मुख्य रूप से परिकलित MAC मान के प्रावधान के लिए RTE इंटरफ़ेस के माध्यम से टाइप किए गए डेटा स्थानांतरण के लिए डिज़ाइन किया गया है।
प्रतिबंध
चूँकि यह एक स्थैतिक प्रकार परिभाषा है, वास्तविक इंस्टांशिएशन MAC लंबाई के पूर्व-कॉन्फ़िगरेशन पर निर्भर करता है; इस डेटा प्रकार के लिए स्वयं कोई अन्य पैरामीटर, त्रुटि कोड या समवर्ती आवश्यकताएं निर्दिष्ट नहीं हैं ([SWS_Csm_00927])।
यह पाठ एक AI द्वारा उत्पन्न किया गया था और AUTOSAR विनिर्देशों पर आधारित एक मार्गदर्शन के रूप में कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF
Array long enough to store the data for whichs MAC shall be verified.
डेटा प्रकार Csm_MacVerifyDataType को uint8-तत्वों के ऐरे के रूप में निर्दिष्ट किया गया है और यह उस डेटा को संग्रहीत करने के लिए बफ़र के रूप में कार्य करता है जिसके लिए Message Authentication Code (MAC) सत्यापित किया जाना है [SWS_Csm_00802]।
इस प्रकार के उपयोग और कॉन्फ़िगरेशन के लिए निम्नलिखित प्रावधान लागू होते हैं:
- बफ़र आकार: ऐरे का आकार कंटेनर
Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfigमें कॉन्फ़िगरेशन पैरामीटरCsmMacVerifyDataMaxLengthपर आधारित होता है। यह सुनिश्चित करता है कि ऐरे सत्यापित किए जाने वाले इनपुट डेटा को पूरी तरह से समाहित करने के लिए पर्याप्त रूप से बड़ा है [SWS_Csm_00802]। - विविधता और नामकरण: परिभाषा में विविधता मानदंड
Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}शामिल है, जिसके द्वारा विशिष्ट C प्रकार पहचानकर्ता मॉड्यूल-विशिष्ट रूप सेCsm_MacVerifyDataType_{Crypto}के रूप में उत्पन्न होता है [SWS_Csm_00802]। - इंटरफ़ेस एकीकरण: प्रकार को हेडर फ़ाइल
Rte_Csm_Type.hके माध्यम से निर्यात किया जाता है [SWS_Csm_00802]। व्याख्या: इस हेडर में प्रावधान इंगित करता है कि प्रकार मुख्य रूप से सॉफ्टवेयर घटकों और CSM के बीच RTE-समर्थित इंटरफ़ेस संचार के लिए अभिप्रेत होना चाहिए। प्रश्न Q-c49670b3de0ba19c (खुला)
एप्लिकेशन डेवलपर्स को यह ध्यान रखना चाहिए कि सत्यापित किए जाने वाले पेलोड की अधिकतम लंबाई प्रिमिटिव्स के स्थिर कॉन्फ़िगरेशन द्वारा सीमित होती है और इनपुट डेटा इस बफ़र क्षमता से अधिक नहीं होना चाहिए [SWS_Csm_00802]।
यह पाठ AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF
Array long enough to store a MAC to be verified.
उपयोग और संरचना
प्रकार Csm_MacVerifyCompareType [SWS_Csm_00803] के अनुसार uint8-तत्वों के एक ऐरे के रूप में परिभाषित है। यह सत्यापित किए जाने वाले Message Authentication Code (MAC) को संग्रहीत करने का कार्य करता है, जिसकी तुलना किसी क्रिप्टोग्राफ़िक ऑपरेशन के संदर्भ में परिकलित MAC से की जानी है।
इस प्रकार का प्रावधान RTE इंटरफ़ेस [SWS_Csm_00803] के लिए हेडर Rte_Csm_Type.h के माध्यम से किया जाता है। विशिष्ट प्रकार का नाम Csm_MacVerifyCompareType_{Crypto} पैटर्न के अनुसार प्रिमिटिव नाम के ज़रिए एक नाम भिन्नता (name variation) के अधीन है, जहाँ {Crypto} को प्रिमिटिव के शॉर्ट नेम (ecuc/Csm/CsmPrimitives.SHORT-NAME) द्वारा प्रतिस्थापित किया जाता है।
कॉन्फ़िगरेशन और आकार निर्धारण
ऐरे का आकार [SWS_Csm_00803] के अनुसार कॉन्फ़िगरेशन (ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength)) से व्यंजक CsmMacVerifyCompareLength/8 द्वारा निर्धारित होता है। यह बाइट्स में MAC तुलना मान की लंबाई को दर्शाता है।
त्रुटि प्रबंधन और सीमा शर्तें
डेटा ऐरे के लिए एक शुद्ध प्रकार की परिभाषा के रूप में, Csm_MacVerifyCompareType का अपना कोई रिटर्न मान नहीं होता है और यह कोई प्रत्यक्ष त्रुटि कोड या DET-/DEM ईवेंट उत्पन्न नहीं करता है। हालाँकि, निम्नलिखित अनुप्रयोग-संबंधी सीमांत शर्तें लागू होती हैं:
- बफ़र प्रावधान: सत्यापन फ़ंक्शन को पास करने से पहले ऐरे को प्राप्त संदर्भ MAC से पूरी तरह से इनिशियलाइज़ करने के लिए कॉल करने वाले ज़िम्मेदार हो सकते हैं। प्रश्न Q-94b98958fd778057 (खुला)
- समवर्तीता (Concurrency): चूँकि यह एक डेटा संरचना है, इसलिए यह प्रकार स्वयं रीएंट्रेंट है। हालाँकि, एकाधिक कार्यों द्वारा एक ही ऐरे इंस्टेंस पर समवर्ती रीड और राइट एक्सेस बिना सिंक्रोनाइज़ेशन के विकृति (corruption) का कारण बन सकता है। प्रश्न Q-148c0a523da7b402 (खुला)
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 पर आधारित है और स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_EncryptDataType [SWS_Csm_01921] 📄 PDF
Array long enough to store the data to be encrypted.
प्रकार Csm_EncryptDataType uint8 तत्वों के एक बाइट ऐरे को परिभाषित करता है, जो एन्क्रिप्ट किए जाने वाले डेटा को प्राप्त करने का कार्य करता है [SWS_Csm_01921]। यह हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है और सॉफ़्टवेयर घटकों को मॉड्यूल की क्रिप्टोग्राफ़िक सेवाओं में टाइप्ड डेटा ट्रांसफर की अनुमति देता है [SWS_Csm_01921]।
संरचना और कॉन्फ़िगरेशन
- ऐरे तत्व: तत्व बेस प्रकार
uint8के हैं [SWS_Csm_01921]। - आकार: ऐरे की लंबाई संबंधित प्रिमिटिव कॉन्फ़िगरेशन
CsmEncryptConfigके अंतर्गत कॉन्फ़िगरेशन पैरामीटरCsmEncryptDataMaxLengthपर आधारित होती है [SWS_Csm_01921]। - नाम भिन्नता: प्रिमिटिव के आधार पर प्रकार का नाम
Csm_EncryptDataType_{Crypto}स्कीमा के अनुसार भिन्न होता है, जहाँ{Crypto}कॉन्फ़िगर किए गए CSM प्रिमिटिव के संक्षिप्त नाम (SHORT-NAME) से मेल खाता है [SWS_Csm_01921]।
उपयोग और सीमाएँ
एक शुद्ध प्रकार परिभाषा के रूप में, इस तत्व की अपनी कोई रीएंट्रेंसी या त्रुटि हैंडलिंग नहीं होती है। चूँकि ऐरे का आकार कॉन्फ़िगरेशन के अधिकतम बफ़र आकार से निश्चित रूप से जुड़ा हुआ है, इसलिए एक व्याख्या के रूप में, कॉलर को बफ़र भरते समय यह सुनिश्चित करना होगा कि प्रदान किया गया डेटा बफ़र सीमा CsmEncryptDataMaxLength से अधिक न हो [SWS_Csm_01921]। प्रश्न Q-4bf70d603b5679d3 (खुला)
यह पाठ AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_EncryptResultType [SWS_Csm_01922] 📄 PDF
Array long enough to store the data of the cipher.
उपयोग और उद्देश्य
डेटा प्रकार Csm_EncryptResultType तत्व प्रकार uint8 के साथ एक बाइट ऐरे के रूप में निर्दिष्ट है और किसी एन्क्रिप्शन प्रक्रिया के सिफ़र डेटा (सिफ़र परिणाम) को प्राप्त करने का कार्य करता है ([SWS_Csm_01922])। विनिर्देश के अनुसार ऐरे को इस तरह डिज़ाइन किया जाना चाहिए कि यह सिफ़र के सभी डेटा को प्राप्त करने के लिए पर्याप्त लंबा हो ([SWS_Csm_01922])।
कॉन्फ़िगरेशन और वेरिएंट
डेटा प्रकार की परिभाषा कॉन्फ़िगर किए गए क्रिप्टो प्रिमिटिव के आधार पर वेरिएंट निर्माण के अधीन है। प्रत्येक प्रिमिटिव के लिए Csm_EncryptResultType_{Crypto} स्कीमा के अनुसार एक प्रकार-विशिष्ट पहचानकर्ता बनता है, जहाँ {Crypto} संबंधित प्रिमिटिव के संक्षिप्त नाम से मेल खाता है ([SWS_Csm_01922])। ऐरे का स्थैतिक फ़ील्ड आकार Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ के अंतर्गत कॉन्फ़िगरेशन पैरामीटर CsmEncryptResultMaxLength के माध्यम से निर्धारित किया जाता है ([SWS_Csm_01922])।
एकीकरण और बाधाएँ
डेटा प्रकार हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से निर्यात किया जाता है ([SWS_Csm_01922])। व्याख्या: Rte_Csm_Type.h के माध्यम से प्रावधान के कारण, यह प्रकार RTE पोर्ट्स के माध्यम से एप्लिकेशन सॉफ़्टवेयर घटकों और Crypto Service Manager के बीच मानकीकृत डेटा ट्रांसफर के लिए डिज़ाइन किया गया प्रतीत होता है। प्रश्न Q-6dc06520e3fd9dc6 (खुला) बफ़र प्रदान करते समय, उपयोगकर्ताओं को यह सुनिश्चित करना होगा कि सिफ़र परिणाम कॉन्फ़िगर की गई अधिकतम लंबाई CsmEncryptResultMaxLength से अधिक न हों ([SWS_Csm_01922])।
यह उपयोग संबंधी निर्देश AUTOSAR R20-11 के विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_DecryptDataType [SWS_Csm_01923] 📄 PDF
Array long enough to store the data to be decrypted.
उपयोग और डेटा संरचना
प्रकार Csm_DecryptDataType को Crypto Service Manager के विनिर्देश में बेस प्रकार uint8 के तत्वों वाले एक ऐरे के रूप में परिभाषित किया गया है [SWS_Csm_01923]। यह डिक्रिप्ट किए जाने वाले इनपुट डेटा के लिए एक समर्पित मेमोरी बफ़र के रूप में कार्य करता है [SWS_Csm_01923]। ऐरे का डिज़ाइन अनिवार्य रूप से ऐसा निर्दिष्ट किया गया है कि इसकी क्षमता संबंधित डेटा को पूरी तरह से समाहित करने के लिए हमेशा पर्याप्त लंबी होनी चाहिए [SWS_Csm_01923]।
कॉन्फ़िगरेशन और संस्करण निर्माण
ऐरे का डायमेंशनिंग कॉन्फ़िगरेशन पैरामीटर ecuc(Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptDataMaxLength) के माध्यम से स्थैतिक रूप से किया जाता है [SWS_Csm_01923]। इसके अलावा, डेटा प्रकार Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} [SWS_Csm_01923] के अनुसार क्रिप्टोग्राफ़िक भिन्नता के अधीन है। इसके द्वारा, संबंधित संक्षिप्त नाम के साथ विशिष्ट प्रिमिटिव कॉन्फ़िगरेशन के लिए टाइप पहचानकर्ता को Csm_DecryptDataType_{Crypto} के रूप में इंस्टेंटिएट किया जाता है [SWS_Csm_01923]।
एकीकरण और बाधाएँ
परिभाषा हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से संपूर्ण सिस्टम के लिए प्रदान की जाती है [SWS_Csm_01923]। व्याख्या: Rte_Csm_Type.h में शामिल किए जाने से यह संकेत मिलता है कि यह प्रकार मुख्य रूप से टाइप्ड पोर्ट्स और RTE के माध्यम से सॉफ़्टवेयर घटकों और CSM मॉड्यूल के बीच डेटा विनिमय के लिए अभिप्रेत है। प्रश्न Q-6dcc31d5d7258088 (खुला) चूँकि यह एक डेटा संरचना है न कि कोई फ़ंक्शन, इसलिए विनिर्देश दायरे में न तो सिंक्रोनस या एसिंक्रोनस कॉल सिमेंटिक्स और न ही रीएंट्रेंसी आवश्यकताएँ या विशिष्ट DET त्रुटि संदेश परिभाषित किए गए हैं [SWS_Csm_01923]।
यह पाठ एक AI द्वारा तैयार किया गया था। यह आधिकारिक AUTOSAR विनिर्देश के अध्ययन का विकल्प नहीं है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF
Array long enough to store the data of the decrypted plaintext.
डेटा प्रकार Csm_DecryptResultType [SWS_Csm_01924] के अनुसार मॉड्यूल Csm में प्रकार uint8 के तत्वों वाले एक ऐरे के रूप में परिभाषित है। यह डिक्रिप्ट किए गए प्लेनटेक्स्ट के परिणाम डेटा को संग्रहीत करने के लिए एक डेटा बफ़र के रूप में कार्य करता है और पूर्ण प्लेनटेक्स्ट को समाहित करने के लिए पर्याप्त रूप से डायमेंशन किया जाना चाहिए।
[SWS_Csm_01924] के अनुसार प्रकार के कॉन्फ़िगरेशन, प्रावधान और संरचना के लिए निम्नलिखित प्रावधान लागू होते हैं:
- हेडर उपलब्धता: डेटा प्रकार की परिभाषा हेडर फ़ाइल
Rte_Csm_Type.hके माध्यम से उपलब्ध कराई जाती है। - बफ़र का डायमेंशनिंग: ऐरे का आकार कॉन्फ़िगरेशन पैरामीटर
CsmDecryptResultMaxLength(पथCsm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength) के माध्यम से निर्दिष्ट किया जाता है, जिससे डिक्रिप्शन परिणाम के लिए अधिकतम मेमोरी स्पेस स्थैतिक रूप से निर्धारित होता है। - क्रिप्टोग्राफ़िक वेरिएंट निर्माण: प्रकार का नाम स्कीमा
Csm_DecryptResultType_{Crypto}के अनुसार प्रिमिटिव वेरिएंट निर्माण के अधीन है, जहाँ विशिष्ट रूप को कॉन्फ़िगरेशन तत्वCrypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}के माध्यम से नियंत्रित किया जाता है।
कॉल संदर्भ, समवर्ती (concurrency) और त्रुटि हैंडलिंग के संबंध में, [SWS_Csm_01924] में बिना किसी स्वयं के कार्यात्मक तर्क के विशेष रूप से प्रकार की परिभाषा शामिल है। व्याख्या: यह प्रकार मुख्य रूप से CSM के क्रिप्टोग्राफ़िक डिक्रिप्शन ऑपरेशनों के आउटपुट डेटा को प्राप्त करने के लिए लागू सॉफ़्टवेयर घटकों में एक मेमोरी संरचना के रूप में काम कर सकता है। प्रश्न Q-54c836ed946ee1f2 (खुला) इस डेटा प्रकार के लिए कोई विशिष्ट DET या DEM त्रुटि कोड परिभाषित नहीं हैं; हालाँकि, कॉन्फ़िगरेशन के लिए ज़िम्मेदार व्यक्तियों को यह सुनिश्चित करना चाहिए कि कॉन्फ़िगर की गई अधिकतम लंबाई संसाधित किए जाने वाले सभी प्लेनटेक्स्ट के लिए पर्याप्त हो।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADEncryptPlaintextType [SWS_Csm_01925] 📄 PDF
Array long enough to store the plaintext to be encrypted with AEAD.
उपयोग और प्रकार परिभाषा
डेटा प्रकार Csm_AEADEncryptPlaintextType [SWS_Csm_01925] के अनुसार उस प्लेनटेक्स्ट के लिए डेटा बफ़र के रूप में कार्य करता है, जिसे AEAD एन्क्रिप्शन ऑपरेशन (Authenticated Encryption with Associated Data) के तहत संसाधित किया जाना है। यह प्रकार तत्व प्रकार uint8 के साथ एक बाइट ऐरे के रूप में परिभाषित है और एन्क्रिप्ट किए जाने वाले प्लेनटेक्स्ट को पूरी तरह से समाहित करने के लिए पर्याप्त मेमोरी स्थान प्रदान करता है।
डायमेंशनिंग और वेरिएंट निर्माण
विशिष्ट बफ़र आकार कठोर रूप से पूर्व-निर्धारित नहीं है, बल्कि संबंधित प्रिमिटिव के कॉन्फ़िगरेशन से कॉन्फ़िगरेशन पैरामीटर CsmAEADEncryptPlaintextMaxLength पर आधारित होता है ([SWS_Csm_01925])। इसके अलावा, यह प्रकार नाम और संरचना भिन्नता के अधीन है: कॉन्फ़िगर किए गए क्रिप्टो प्रिमिटिव के आधार पर, पहचानकर्ता को प्रिमिटिव के संक्षिप्त नाम के साथ विस्तारित किया जाता है (Csm_AEADEncryptPlaintextType_{Crypto})।
एकीकरण और इंटरफ़ेस
[SWS_Csm_01925] के अनुसार यह प्रकार हेडर Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है। यह इस व्याख्या का समर्थन करता है कि यह प्रकार मुख्य रूप से AUTOSAR-RTE के संदर्भ में एप्लिकेशन सॉफ्टवेयर घटकों के लिए उपलब्ध कराया जाता है, ताकि CSM की क्रिप्टोग्राफ़िक सेवाओं को टाइप किया गया साफ़-टेक्स्ट डेटा (plaintext data) पास किया जा सके। चूंकि यह विशुद्ध रूप से एक प्रकार घोषणा (type declaration) है, इसलिए विनिर्देश डेटा प्रकार स्तर पर अपने स्वयं के त्रुटि कोड या रीएंट्रेंसी विनिर्देशों को परिभाषित नहीं करता है।
यह उपयोग नोट स्वचालित रूप से तैयार किया गया था और AUTOSAR विनिर्देश R20-11 की आवश्यकताओं पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADEncryptAssociatedDataType [SWS_Csm_01928] 📄 PDF
Array long enough to store the data of the header.
डेटा प्रकार Csm_AEADEncryptAssociatedDataType आधार प्रकार uint8 के तत्वों के एक बाइट ऐरे को परिभाषित करता है, जो AEAD एन्क्रिप्शन संचालन में हेडर या संबद्ध अतिरिक्त डेटा रखने के लिए बफ़र के रूप में कार्य करता है [SWS_Csm_01928]। यह प्रकार हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है और Crypto Service Manager के AUTOSAR-RTE इंटरफ़ेस पर टाइप किए गए डेटा विनिमय को सक्षम बनाता है [SWS_Csm_01928]।
प्रकार का आकार और स्वरूपण क्रिप्टोग्राफ़िक प्रिमिटिव के कॉन्फ़िगरेशन पर निर्भर करता है [SWS_Csm_01928]:
- ऐरे आकार: बफ़र का आकार कॉन्फ़िगरेशन
Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfigके भीतर कॉन्फ़िगरेशन पैरामीटरCsmAEADEncryptAssociatedDataMaxLengthके अनुसार मापा जाता है, जिससे यह सुनिश्चित होता है कि ऐरे हेडर डेटा के लिए पर्याप्त लंबा है [SWS_Csm_01928]। - नाम भिन्नता: तत्व एक क्रिप्टोग्राफ़ी-विशिष्ट नाम भिन्नता के अधीन है
Csm_AEADEncryptAssociatedDataType_{Crypto}, जहाँ प्लेसहोल्डर{Crypto}CsmPrimitives.SHORT-NAMEसे संबंधित प्रिमिटिव के संक्षिप्त नाम से मेल खाता है [SWS_Csm_01928]।
ऐरे भरते समय कॉल करने वालों को यह सुनिश्चित करना चाहिए कि प्रेषित किए जाने वाले हेडर डेटा की वास्तविक लंबाई कॉन्फ़िगर किए गए अधिकतम आकार से अधिक न हो [SWS_Csm_01928]। व्याख्या: चूंकि AEAD प्रक्रियाओं में संबद्ध डेटा अप्रभावित (अनएन्क्रिप्टेड) रहता है लेकिन प्रमाणित होता है, इसलिए डेटा प्रकार का मुख्य उद्देश्य एप्लिकेशन और CSM के बीच प्रोटोकॉल-विशिष्ट मेटाडेटा को सुसंगत रूप से पास करना होना चाहिए। प्रश्न Q-26b724044c51253f (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था; यह आधिकारिक विनिर्देश के अध्ययन का विकल्प नहीं है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF
Array long enough to store the data of the cipher.
डेटा प्रकार Csm_AEADEncryptCiphertextType [SWS_Csm_01927] के अनुसार Classic-AUTOSAR मॉड्यूल Csm में क्रिप्टोग्राफ़िक AEAD एन्क्रिप्शन संचालन के दौरान सिफ़र डेटा को संग्रहीत करने के लिए एक बाइट ऐरे के रूप में कार्य करता है।
विनिर्देश डेटा तत्व को आधार प्रकार uint8 के तत्वों के ऐरे के रूप में परिभाषित करता है [SWS_Csm_01927]। निश्चित बफ़र आकार कॉन्फ़िगरेशन पथ Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig के भीतर कॉन्फ़िगरेशन पैरामीटर CsmAEADEncryptCiphertextMaxLength के माध्यम से निर्धारित किया जाता है [SWS_Csm_01927]। आवश्यकता के अनुसार, ऐरे को सिफ़र के संपूर्ण डेटा को समायोजित करने के लिए पर्याप्त रूप से बड़ा होना चाहिए [SWS_Csm_01927]।
प्रकार पहचानकर्ता (type identifier) में प्रिमिटिव-निर्भर नाम भिन्नता होती है: कॉन्फ़िगरेशन विशेषता Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} के माध्यम से ठोस प्रकार नाम Csm_AEADEncryptCiphertextType_{Crypto} में विस्तारित होता है [SWS_Csm_01927]। यह परिभाषा एप्लिकेशन सॉफ्टवेयर घटकों के साथ-साथ CSM के लिए हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान की जाती है [SWS_Csm_01927]।
व्यावहारिक उपयोग में, कॉलिंग घटकों द्वारा AEAD संचालन के एन्क्रिप्शन परिणामों को प्राप्त करने के लिए उपयुक्त बफ़र घोषित किए जाने की संभावना है। प्रश्न Q-af095525ea319451 (खुला) इस डेटा संरचना के लिए स्रोतों में विशिष्ट कॉल संदर्भ, त्रुटि प्रबंधन (जैसे DET या DEM), रिटर्न मान या रीएंट्रेंसी आवश्यकताएं परिभाषित नहीं हैं।
यह पाठ एक AI द्वारा तैयार किया गया था और विशेष रूप से AUTOSAR संस्करण R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADEncryptTagType [SWS_Csm_01926] 📄 PDF
Array long enough to store the data of the Tag.
[SWS_Csm_01926] के अनुसार डेटा प्रकार Csm_AEADEncryptTagType एक बाइट ऐरे (तत्व प्रकार uint8) को परिभाषित करता है, जो AEAD एन्क्रिप्शन संचालन में प्रमाणीकरण टैग डेटा के लिए बफ़र के रूप में कार्य करता है। विनिर्देश के अनुसार ऐरे को टैग के डेटा को पूरी तरह से समायोजित करने के लिए पर्याप्त लंबा डिज़ाइन किया गया है [SWS_Csm_01926]।
संरचना और कॉन्फ़िगरेशन के संबंध में, [SWS_Csm_01926] के निम्नलिखित प्रावधान लागू होते हैं:
- बफ़र आकार: ऐरे का आकार
Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfigके तहत कॉन्फ़िगरेशन पैरामीटरCsmAEADEncryptTagLengthके माध्यम से निर्धारित किया जाता है [SWS_Csm_01926]। - नाम संस्करण: प्रकार नाम में एक क्रिप्टोग्राफ़िक विविधता होती है और यह स्कीमा
Csm_AEADEncryptTagType_{Crypto}के अनुसार बनता है, जहां{Crypto}संबंधित प्रिमिटिव (SHORT-NAME) के संक्षिप्त नाम से मेल खाता है [SWS_Csm_01926]। - हेडर एकीकरण: यह प्रकार हेडर
Rte_Csm_Type.hके माध्यम से प्रदान किया जाता है [SWS_Csm_01926]।
Rte_Csm_Type.h में उपलब्धता के कारण, डेटा प्रकार मानकीकृत सॉफ्टवेयर इंटरफेस के लिए अभिप्रेत होना चाहिए (व्याख्या: सॉफ्टवेयर घटक पोर्ट्स में बफ़र पासिंग के लिए उपयोग) [SWS_Csm_01926]। प्रश्न Q-3cd2f6ae1229483e (खुला)
यह उपयोग नोट रिलीज़ R20-11 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADDecryptCiphertextType [SWS_Csm_00922] 📄 PDF
Array long enough to store the ciphertext to be decrypted with AEAD.
उपयोग और संरचना
डेटा प्रकार Csm_AEADDecryptCiphertextType, [SWS_Csm_00922] के अनुसार तत्व प्रकार uint8 पर आधारित एक बाइट ऐरे को परिभाषित करता है। यह उस सिफरटेक्स्ट को रखने के लिए पर्याप्त आकार के बफ़र के रूप में कार्य करता है, जिसे AEAD ऑपरेशन (Authenticated Encryption with Associated Data) के भाग के रूप में डिक्रिप्ट किया जाना है [SWS_Csm_00922]। प्रकार परिभाषा का प्रावधान हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से किया जाता है [SWS_Csm_00922]।
आयाम और भिन्नता
फ़ील्ड का आयाम कॉन्फ़िगरेशन शाखा Csm/CsmAEADDecrypt/CsmAEADDecryptConfig के भीतर कॉन्फ़िगरेशन पैरामीटर CsmAEADDecryptCiphertextMaxLength के आधार पर स्थैतिक रूप से निर्धारित किया जाता है [SWS_Csm_00922]। ऐरे को इस तरह डिज़ाइन किया गया है कि यह संसाधित किए जाने वाले संपूर्ण सिफरटेक्स्ट को समाहित कर सके। इसके अतिरिक्त, प्रकार का नाम पैटर्न Csm_AEADDecryptCiphertextType_{Crypto} के अनुसार क्रिप्टोग्राफ़िक भिन्नता के अधीन है, जिसमें पहचानकर्ता भाग {Crypto} संबंधित प्रिमिटिव (CsmPrimitives.SHORT-NAME) के संक्षिप्त नाम से बनता है [SWS_Csm_00922]।
पारस्परिक क्रिया और सीमा शर्तें
Rte_Csm_Type.h में परिभाषा के आधार पर, यह प्रकार मुख्य रूप से RTE पोर्ट के माध्यम से सॉफ्टवेयर घटकों (SW-Cs) को Crypto Service Gateway या CSM से टाइप किए गए कनेक्शन के लिए अभिप्रेत होना चाहिए [SWS_Csm_00922]। प्रश्न Q-35738ff5fc96c699 (खुला) चूँकि कॉन्फ़िगरेशन समय पर ऐरे का आकार निश्चित रूप से निर्दिष्ट होता है, कॉलर्स को यह सुनिश्चित करना होगा कि सिफरटेक्स्ट डेटा रनटाइम पर बफ़र ओवरफ्लो को रोकने के लिए अधिकतम लंबाई से अधिक न हो।
यह पाठ AI द्वारा तैयार किया गया था और AUTOSAR R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADDecryptAssociatedDataType [SWS_Csm_00923] 📄 PDF
Array long enough to store the data of the header.
डेटा प्रकार Csm_AEADDecryptAssociatedDataType को प्रकार uint8 के तत्वों के एक ऐरे के रूप में परिभाषित किया गया है और यह गठन-निर्भर नामकरण पैटर्न Csm_AEADDecryptAssociatedDataType_{Crypto} रखता है [SWS_Csm_00923]। इस डेटा प्रकार का उद्देश्य एक ऐसा मेमोरी क्षेत्र प्रदान करना है जो प्रमाणीकृत डिक्रिप्शन (AEAD Decrypt) के हेडर डेटा या संबंधित अतिरिक्त डेटा (Associated Data) को रखने के लिए पर्याप्त रूप से आयामयुक्त हो [SWS_Csm_00923]।
ऐरे का आकार कॉन्फ़िगरेशन पथ Csm/CsmAEADDecrypt/CsmAEADDecryptConfig में कॉन्फ़िगरेशन पैरामीटर CsmAEADDecryptAssociatedDataMaxLength पर निर्भर करता है [SWS_Csm_00923]। भिन्नता Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} के माध्यम से, Crypto Service Manager में कॉन्फ़िगर किए गए संबंधित प्रिमिटिव के लिए प्रकार पहचानकर्ता को उसके संक्षिप्त नाम के माध्यम से विशिष्ट बनाया जाता है [SWS_Csm_00923]। इससे प्रत्येक क्रिप्टोग्राफ़िक प्रिमिटिव के लिए उपयुक्त अधिकतम लंबाई वाला एक विशिष्ट बफ़र घोषित किया जा सकता है।
डेटा प्रकार हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से निर्यात किया जाता है [SWS_Csm_00923]। चूँकि यह एक विशुद्ध प्रकार परिभाषा है, प्रविष्टि कोई त्रुटि कोड, DET संदेश या पुनःप्रवेश शर्तें निर्दिष्ट नहीं करती है। व्याख्या के रूप में, यह ऐरे RTE के माध्यम से सॉफ्टवेयर घटकों और CSM के बीच अनएन्क्रिप्टेड लेकिन क्रिप्टोग्राफ़िक रूप से सत्यापित किए जाने वाले सहायक डेटा को स्थानांतरित करने के लिए एक टाइप किए गए डेटा बफ़र के रूप में कार्य करना चाहिए। प्रश्न Q-2f32bbe9a4489b27 (खुला)
यह पाठ AUTOSAR R20-11 के आधार पर एक कृत्रिम बुद्धिमत्ता द्वारा उत्पन्न किया गया था और यह मार्गदर्शन के रूप में कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADDecryptTagType [SWS_Csm_01074] 📄 PDF
Array long enough to store the data of the Tag.
उपयोग और उद्देश्य
डेटा प्रकार Csm_AEADDecryptTagType तत्व प्रकार uint8 के साथ एक बाइट ऐरे के रूप में परिभाषित है और AEAD डिक्रिप्शन ऑपरेशनों में टैग डेटा प्राप्त करने के लिए एक समर्पित मेमोरी क्षेत्र के रूप में कार्य करता है [SWS_Csm_01074]। यह हेडर फ़ाइल Rte_Csm_Type.h [SWS_Csm_01074] के माध्यम से प्रदान किया जाता है।
डायमेंशनिंग और कॉन्फ़िगरेशन निर्भरता
ऐरे का डायमेंशनिंग कॉन्फ़िगर करने योग्य है और यह कॉन्फ़िगर की गई टैग लंबाई CsmAEADDecryptTagLength [SWS_Csm_01074] पर आधारित है। तत्वों की संख्या एक्सप्रेशन (({ecuc(Csm/CsmPrimitives/CsmAEADDecrypt/CsmAEADDecryptConfig/CsmAEADDecryptTagLength)}+7)/8) के माध्यम से निर्धारित की जाती है [SWS_Csm_01074]। इस गणना द्वारा बिट्स में निर्दिष्ट टैग लंबाई को पूर्ण बाइट्स में परिवर्तित किया जाता है, जिसमें आठ से विभाज्य न होने वाली बिट लंबाइयों को अगली बाइट सीमा तक पूर्णांकित (round up) किया जाता है।
यह प्रकार Csm_AEADDecryptTagType_{Crypto} स्कीमा के अनुसार नाम भिन्नता के अधीन है, जहाँ {Crypto} को संबंधित प्रिमिटिव कॉन्फ़िगरेशन के संक्षिप्त नाम (SHORT-NAME) से बदल दिया जाता है [SWS_Csm_01074]। परिणामस्वरूप, प्रत्येक कॉन्फ़िगर किए गए AEAD डिक्रिप्शन प्रिमिटिव इंस्टेंस के लिए एक उपयुक्त टाइप्ड संरचना मौजूद होती है।
एकीकरण और सीमांत स्थितियाँ (Boundary Conditions)
Rte_Csm_Type.h के माध्यम से प्रावधान का संभवतः यह अर्थ है कि यह प्रकार मुख्य रूप से प्रमाणीकरण टैग को Crypto Service Manager को पास करने के लिए AUTOSAR-RTE के पोर्ट्स पर सॉफ़्टवेयर घटकों के लिए अभिप्रेत है [SWS_Csm_01074]। प्रश्न Q-2a0bebbb8e1d6b76 (खुला) चूँकि प्रकार अपना कोई नियंत्रण प्रवाह या सिंक्रोनाइज़ेशन तंत्र प्रदान नहीं करता है, इसलिए बफ़र में डेटा की निरंतरता (consistency) डिक्रिप्शन चक्र के दौरान कॉलिंग संदर्भ द्वारा पूरी तरह से सुनिश्चित की जाती है।
यह पाठ एक AI द्वारा जनरेट किया गया था और यह विशेष रूप से AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_AEADDecryptPlaintextType [SWS_Csm_01075] 📄 PDF
Array long enough to store the data of the plaintext.
उपयोग और संरचना
डेटा प्रकार Csm_AEADDecryptPlaintextType या इसका प्रिमिटिव-विशिष्ट वेरिएंट Csm_AEADDecryptPlaintextType_{Crypto} प्रकार uint8 के तत्वों वाले एक बाइट ऐरे के रूप में परिभाषित है [SWS_Csm_01075]। यह AEAD डिक्रिप्शन (Authenticated Encryption with Associated Data) में प्लेनटेक्स्ट डेटा को संग्रहीत करने के लिए पर्याप्त रूप से डायमेंशन किया गया बफ़र प्रदान करने का कार्य करता है [SWS_Csm_01075]। निश्चित फ़ील्ड आकार संबंधित AEAD डिक्रिप्शन प्रिमिटिव के कॉन्फ़िगरेशन के भीतर कॉन्फ़िगरेशन पैरामीटर CsmAEADDecryptPlaintextMaxLength के माध्यम से निर्धारित किया जाता है [SWS_Csm_01075]। हेडर Rte_Csm_Type.h के माध्यम से सॉफ़्टवेयर घटकों के लिए डेटा प्रकार उपलब्ध कराया जाता है, जहाँ प्रकार का नाम भिन्नता Crypto के माध्यम से कॉन्फ़िगर किए गए CSM प्रिमिटिव के संक्षिप्त नाम से जुड़ा होता है [SWS_Csm_01075]।
त्रुटि हैंडलिंग और समवर्तीता
चूँकि यह एक विशुद्ध प्रकार परिभाषा है, इसलिए यह तत्व अपने स्वयं के कोई रिटर्न मान, त्रुटि कोड या DET संदेश परिभाषित नहीं करता है [SWS_Csm_01075]। आवश्यक कार्यात्मक सीमांत स्थिति स्थैतिक रूप से निर्धारित अधिकतम लंबाई में निहित है: कॉन्फ़िगर की गई सीमा से अधिक होने वाले प्लेनटेक्स्ट डेटा को इस बफ़र में मैप नहीं किया जा सकता है [SWS_Csm_01075]। व्याख्या: यह प्रकार मुख्य रूप से RTE पोर्ट्स के माध्यम से टाइप्ड डेटा पास करने के लिए उपयोग किया जा सकता है, जब SWCs डिक्रिप्शन सेवाओं से एसिंक्रोनस या सिंक्रोनस रूप से परिणाम प्राप्त करते हैं। प्रश्न Q-2de04243d7f996c8 (खुला) कॉल करने वालों को संभवतः स्वतंत्र रूप से यह सुनिश्चित करना होगा कि बफ़र सीमाओं का पालन किया जाए और कई कार्यों (tasks) में एक साथ राइट या रीड एक्सेस थ्रेड-सेफ़ रूप से सिंक्रनाइज़ हों।
यह उपयोग संबंधी नोट AI द्वारा जनरेट किया गया था और यह AUTOSAR विनिर्देश के प्रावधानों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_SignatureGenerateDataType [SWS_Csm_01083] 📄 PDF
Array long enough to store the data from which the signature shall be generated.
[SWS_Csm_01083] के अनुसार प्रकार Csm_SignatureGenerateDataType uint8 तत्वों के एक ऐरे को परिभाषित करता है, जो उस डेटा को प्राप्त करने के लिए बफ़र के रूप में कार्य करता है जिससे एक क्रिप्टोग्राफ़िक हस्ताक्षर जनरेट किया जाना है। स्रोत कोड में विशिष्ट नामकरण प्रिमिटिव-विशिष्ट है और पैटर्न Csm_SignatureGenerateDataType_{Crypto} का अनुसरण करता है, जहाँ पहचानकर्ता को कॉन्फ़िगर किए गए क्रिप्टो प्रिमिटिव के संक्षिप्त नाम के माध्यम से बदला जाता है [SWS_Csm_01083]।
डेटा फ़ील्ड का स्थैतिक डायमेंशनिंग कॉन्फ़िगरेशन पैरामीटर CsmSignatureGenerateDataMaxLength के माध्यम से निर्धारित किया जाता है [SWS_Csm_01083]। डेटा प्रकार हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है [SWS_Csm_01083]। व्याख्या: Rte_Csm_Type.h के माध्यम से प्रावधान के कारण, ऐरे प्रकार मुख्य रूप से सॉफ़्टवेयर घटकों और CSM मॉड्यूल के बीच RTE पोर्ट्स पर टाइप्ड डेटा ट्रांसफर के लिए अभिप्रेत होना चाहिए। प्रश्न Q-dcc731a5b8961aef (खुला)
कॉन्फ़िगरेशन और उपयोग के दौरान यह ध्यान दिया जाना चाहिए कि CsmSignatureGenerateDataMaxLength ऐरे की निश्चित ऊपरी सीमा तय करता है [SWS_Csm_01083]। उपयोगकर्ताओं को कॉन्फ़िगरेशन के माध्यम से यह सुनिश्चित करना होगा कि बफ़र का आकार हस्ताक्षर जनरेशन के सभी ऑपरेशनल इनपुट डेटा के लिए पर्याप्त हो, क्योंकि ऐरे को स्थैतिक रूप से आवंटित (statically allocated) किया जाता है।
यह पाठ एक AI द्वारा जनरेट किया गया था। सभी तकनीकी विवरण पूरी तरह से विनिर्देश स्रोतों पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_SignatureGenerateResultType [SWS_Csm_01077] 📄 PDF
Array long enough to store the signature and its length.
डेटा प्रकार Csm_SignatureGenerateResultType [SWS_Csm_01077] के अनुसार uint8 पर आधारित एक बाइट ऐरे को परिभाषित करता है, जो जनरेट किए गए क्रिप्टोग्राफ़िक हस्ताक्षर और उसके लंबाई विनिर्देश को प्राप्त करने के लिए कार्य करता है। यह प्रकार हेडर Rte_Csm_Type.h के माध्यम से घोषित किया जाता है और Crypto Service Manager में हस्ताक्षर ऑपरेशनों के लिए मानकीकृत आउटपुट बफ़र प्रदान करता है।
प्रकार की संरचना और डायमेंशनिंग कॉन्फ़िगर करने योग्य हैं:
- बफ़र आकार:
uint8तत्वों की संख्या संबंधित हस्ताक्षर जनरेशन कॉन्फ़िगरेशन के कॉन्फ़िगरेशन पैरामीटरCsmSignatureGenerateResultLengthके माध्यम से निर्दिष्ट की जाती है ([SWS_Csm_01077])। - नाम संस्करण (Name Variant): पहचानकर्ता में प्रत्यय
_{Crypto}शामिल होता है, जो कॉन्फ़िगर किए गए प्रिमिटिव के संक्षिप्त नाम से मेल खाता है ([SWS_Csm_01077])।
चूँकि यह एक विशुद्ध प्रकार परिभाषा है, इसलिए [SWS_Csm_01077] में त्रुटि कोड, DET संदेश या रीएंट्रेंसी विशेषताओं का कोई विनिर्देश शामिल नहीं है। रनटाइम सिमेंटिक्स और बफ़र ट्रांसफर CSM सेवा इंटरफ़ेस के सिंक्रोनस या एसिंक्रोनस कॉल सम्मेलनों (conventions) पर निर्भर होने चाहिए। प्रश्न Q-3304c06a29f069a2 (खुला) कॉल करने वालों को यह सुनिश्चित करना होगा कि कॉन्फ़िगर किया गया ऐरे आकार लंबाई मान सहित समायोजित किए जाने वाले हस्ताक्षर के लिए हमेशा पर्याप्त हो।
यह पाठ एक AI द्वारा तैयार किया गया था और यह AUTOSAR विनिर्देश अंश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_SignatureVerifyDataType [SWS_Csm_01078] 📄 PDF
Array long enough to store the data for whichs signature shall be verified.
डेटा प्रकार Csm_SignatureVerifyDataType [SWS_Csm_01078] के अनुसार तत्व प्रकार uint8 के साथ एक बाइट ऐरे के रूप में परिभाषित है और उस डेटा को बफ़र करने के लिए कार्य करता है जिसके हस्ताक्षर का सत्यापन किया जाना है।
[SWS_Csm_01078] के अनुसार प्रकार के कॉन्फ़िगरेशन और उपयोग के लिए निम्नलिखित प्रावधान लागू होते हैं:
- ऐरे डायमेंशनिंग: फ़ील्ड का आकार कॉन्फ़िगरेशन पथ
Csm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfigसे कॉन्फ़िगरेशन मानCsmSignatureVerifyDataMaxLengthसे मेल खाता है, ताकि ऐरे जाँचे जाने वाले संपूर्ण डेटा को समाहित करने के लिए पर्याप्त रूप से डायमेंशन किया गया हो। - नाम भिन्नता: प्रकार का नाम संबंधित क्रिप्टो प्रिमिटिव के आधार पर
Csm_SignatureVerifyDataType_{Crypto}स्कीमा के अनुसार भिन्न होता है, जहाँ{Crypto}संक्षिप्त नामCsmPrimitives.SHORT-NAMEसे मेल खाता है। - हेडर प्रावधान: प्रकार की परिभाषा हेडर फ़ाइल
Rte_Csm_Type.hके माध्यम से उपलब्ध है।
व्याख्या: Rte_Csm_Type.h में प्रावधान के कारण, यह प्रकार मुख्य रूप से RTE इंटरफ़ेस पर सॉफ़्टवेयर घटकों के लिए अभिप्रेत होना चाहिए, ताकि हस्ताक्षर सत्यापन के लिए Crypto Service Manager को कॉन्फ़िगर की गई अधिकतम लंबाई तक का पेलोड डेटा पास किया जा सके [SWS_Csm_01078]। प्रश्न Q-c1541703c2bcd199 (खुला)
यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_SignatureVerifyCompareType [SWS_Csm_01079] 📄 PDF
Array long enough to store a signature to be verified.
प्रकार Csm_SignatureVerifyCompareType uint8 पर आधारित एक बाइट ऐरे को परिभाषित करता है, जो सत्यापित किए जाने वाले क्रिप्टोग्राफ़िक हस्ताक्षर के लिए पर्याप्त मेमोरी स्पेस प्रदान करता है ([SWS_Csm_01079])। यह हेडर Rte_Csm_Type.h के माध्यम से उपलब्ध कराया जाता है और सॉफ़्टवेयर घटकों को हस्ताक्षर तुलना डेटा तक टाइप्ड एक्सेस की अनुमति देता है ([SWS_Csm_01079])।
कॉन्फ़िगरेशन और भिन्नता
ऐरे का विशिष्ट आकार निश्चित रूप से पूर्व-निर्धारित नहीं है, बल्कि संबंधित प्रिमिटिव के हस्ताक्षर सत्यापन कॉन्फ़िगरेशन से कॉन्फ़िगरेशन मान CsmSignatureVerifyCompareLength पर आधारित होता है ([SWS_Csm_01079])। इसके अतिरिक्त, यह प्रकार क्रिप्टोग्राफ़िक प्रिमिटिव के संक्षिप्त नाम (Crypto = {ecuc/Csm/CsmPrimitives.SHORT-NAME}) के माध्यम से एक नाम भिन्नता के अधीन है, जिससे टाइप्ड पहचानकर्ता Csm_SignatureVerifyCompareType_{Crypto} के रूप में बनता है ([SWS_Csm_01079])।
उपयोग के पहलू और सीमांत स्थितियाँ
- कॉल संदर्भ और सिमेंटिक्स: एक शुद्ध डेटा संरचना के रूप में, इस तत्व की अपनी कोई स्वतंत्र सिंक्रोनस या एसिंक्रोनस सिमेंटिक्स नहीं होती है। इंस्टेंटिएशन आमतौर पर मॉड्यूल की सत्यापन सेवाओं के कॉलर द्वारा किया जाता है ([SWS_Csm_01079])।
- त्रुटि हैंडलिंग: प्रकार की परिभाषा अपने स्वयं के कोई त्रुटि कोड या DET/DEM संदेश परिभाषित नहीं करती है ([SWS_Csm_01079])। व्याख्या: बफ़र लंबाई या पॉइंटर अखंडता (integrity) का सत्यापन उपयोग करने वाले CSM फ़ंक्शनों में होना चाहिए। प्रश्न Q-60454c8a7d8035cf (खुला)
- समवर्ती (Concurrency): शुद्ध प्रकार परिभाषाओं के लिए रीएंट्रेंसी पर कोई प्रतिबंध नहीं हैं; बफ़र इंस्टेंस पर समवर्ती पहुँच को उपयोग करने वाले मॉड्यूल द्वारा समन्वित किया जाना चाहिए ([SWS_Csm_01079])।
यह पाठ एक AI द्वारा तैयार किया गया था। यह पूरी तरह से AUTOSAR रिलीज़ R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Csm_RandomGenerateResultType [SWS_Csm_00930] 📄 PDF
Array long enough to store the data of the random number.
उपयोग और उद्देश्य
डेटा प्रकार Csm_RandomGenerateResultType को एक ऐरे के रूप में परिभाषित किया गया है और यह उत्पन्न यादृच्छिक संख्या के परिणाम डेटा को संग्रहीत करने के लिए एक संरचित मेमोरी क्षेत्र के रूप में कार्य करता है [SWS_Csm_00930]। ऐरे के अलग-अलग तत्वों का आधार प्रकार uint8 होता है, जिसके माध्यम से परिणामी यादृच्छिक संख्या एक सतत बाइट अनुक्रम के रूप में दर्शाई जाती है [SWS_Csm_00930]।
कॉन्फ़िगरेशन और संस्करण निर्माण
बफ़र आकार गतिशील रूप से पास नहीं किया जाता है, बल्कि मॉड्यूल कॉन्फ़िगरेशन के माध्यम से स्थैतिक रूप से निर्धारित किया जाता है: ऐरे तत्वों की संख्या पथ Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig के तहत कॉन्फ़िगरेशन पैरामीटर CsmRandomGenerateResultLength पर निर्भर करती है [SWS_Csm_00930]। इसके अतिरिक्त, पहचानकर्ता स्कीमा Csm_RandomGenerateResultType_{Crypto} के अनुसार एक क्रिप्टोग्राफ़िक-विशिष्ट नाम भिन्नता के अधीन है, जिसमें प्रत्यय संबंधित प्रिमिटिव के संक्षिप्त नाम से मेल खाता है [SWS_Csm_00930]। इस प्रकार, यादृच्छिक संख्या निर्माण के प्रत्येक कॉन्फ़िगर किए गए इंस्टेंस को उपयुक्त लंबाई का एक प्रकार-अनुरूप बफ़र प्राप्त होता है।
एकीकरण और बाधाएँ
प्रकार की घोषणा हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान की जाती है [SWS_Csm_00930]। व्याख्या: चूँकि प्रावधान RTE हेडर के माध्यम से होता है, यह डेटा प्रकार मुख्य रूप से Application Software Components के लिए पोर्ट के माध्यम से प्रकार-सुरक्षित तरीके से यादृच्छिक मान प्राप्त करने के लिए अभिप्रेत होना चाहिए। प्रश्न Q-ea993612037bec12 (खुला) ठोस API कॉल संदर्भ, त्रुटि कोड या समवर्ती पहलू स्वयं प्रकार से जुड़े नहीं हैं, बल्कि संबंधित CSM सेवाओं से जुड़े हैं, जबकि यह प्रकार स्थैतिक मेमोरी आवश्यकता को सुरक्षित करता है [SWS_Csm_00930]।
यह उपयोग नोट एक AI द्वारा बनाया गया था और विनिर्देश AUTOSAR CP R20-11 पर आधारित है।
टाइप Csm_LengthPtr [SWS_Csm_91045] 📄 PDF
Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.
टाइप Csm_VerifyResultPtr [SWS_Csm_91046] 📄 PDF
Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.
उपयोग और सिमेंटिक्स
प्रकार Csm_VerifyResultPtr श्रेणी DATA_REFERENCE का एक AUTOSAR Implementation Data Type है, जिसका पॉइंटर लक्ष्य Csm_VerifyResultType है (औपचारिक रूप से Csm_VerifyResultType*) [SWS_Csm_91046]। प्रकार परिभाषा हेडर Rte_Csm_Type.h के माध्यम से प्रदान की जाती है और इस प्रकार यह RTE के माध्यम से एप्लिकेशन घटकों के लिए और बेसिक सॉफ़्टवेयर मॉड्यूल के लिए उपलब्ध है [SWS_Csm_91046]।
Csm_VerifyResultPtr का कार्यात्मक कार्य एसिंक्रोनस क्रिप्टोग्राफ़िक संचालन में सत्यापन परिणाम वापस करना है [SWS_Csm_91046]। एसिंक्रोनस निष्पादन के मामले में, पॉइंटर कॉलर द्वारा आरक्षित एक बफ़र को संदर्भित करता है, जिसमें सत्यापन पूरा होने के बाद मॉड्यूल Csm परिणाम दर्ज करता है [SWS_Csm_91046]।
समवर्तीता और प्रतिबंध
चूँकि Csm_VerifyResultPtr स्पष्ट रूप से एसिंक्रोनस फ़ीडबैक के लिए अभिप्रेत है [SWS_Csm_91046], इसलिए उपयोगकर्ताओं को यह सुनिश्चित करना चाहिए कि संदर्भित लक्ष्य ऑब्जेक्ट की वैधता संपूर्ण ऑपरेशन अवधि के दौरान बनी रहे। निम्नलिखित पहलुओं पर विचार किया जाना चाहिए:
- प्रकार
Csm_VerifyResultTypeका संदर्भित मेमोरी क्षेत्र पूरे एसिंक्रोनस निष्पादन समय के दौरान फ़ीडबैक आने तक वैध और संरक्षित रहना चाहिए (व्याख्या: अमान्य मेमोरी पतों पर राइट एक्सेस से बचना)। प्रश्न (खुला) - संभवतः कॉलर्स को पॉइंटर को क्षणिक स्टैक चरों पर निर्देशित नहीं करना चाहिए, यदि एसिंक्रोनस कार्य पूरा होने से पहले ही कॉलिंग फ़ंक्शन से बाहर निकला जा सकता है। प्रश्न (खुला)
यह उपयोग नोट स्वचालित रूप से जनरेट किया गया था और पूरी तरह से CSM मॉड्यूल के विनिर्देश डेटा पर आधारित है।
टाइप Crypto_KeyStatusType [SWS_Csm_91102] 📄 PDF
Enumeration for key status.
गणना प्रकार Crypto_KeyStatusType क्रिप्टोग्राफ़िक कुंजियों की वैधता स्थिति को परिभाषित करता है और हेडर फ़ाइल Rte_Csm_Type.h के माध्यम से प्रदान किया जाता है [SWS_Csm_91102]।
मान श्रेणी और सिमेंटिक्स
प्रकार में दो मान शामिल हैं [SWS_Csm_91102]:
CRYPTO_KEYSTATUS_INVALID(0x00): कुंजी की स्थिति अमान्य है। यह उदाहरण के लिए तब होता है जबCsm_KeyElementSetका उपयोग करके कुंजी तत्व सेट करने के बाद फ़ंक्शनCsm_KeySetValidअभी तक निष्पादित नहीं किया गया है।CRYPTO_KEYSTATUS_VALID(0x01): कुंजी वैध है, उदाहरण के लिएCsm_KeySetValidके सफल कॉल द्वारा स्थिति सेट किए जाने के बाद।
अनुक्रम शर्तें और पारस्परिक क्रिया
स्थिति तर्क वैधता को सीधे कुंजी प्रबंधन के अद्यतनीकरण वर्कफ़्लो से जोड़ता है: कुंजी तत्वों का कोई भी संशोधन कुंजी को एक अमान्य मध्यवर्ती स्थिति में डाल देता है, जो केवल Csm_KeySetValid के माध्यम से स्पष्ट सत्यापन द्वारा समाप्त होता है [SWS_Csm_91102]। व्याख्या: कॉलर और क्रिप्टोग्राफ़िक सेवाओं को संभवतः क्रिप्टोग्राफ़िक संचालन के निष्पादन से पहले स्थिति CRYPTO_KEYSTATUS_VALID की आवश्यकता होनी चाहिए, ताकि अपूर्ण कुंजी डेटा के कारण होने वाली खराबी को बाहर रखा जा सके। प्रश्न Q-7ad50e0568814efa (खुला)
यह पाठ AI द्वारा तैयार किया गया था; यह केवल विनिर्देश के पेलोड पर आधारित है और AUTOSAR दस्तावेज़ीकरण की समीक्षा का स्थान नहीं लेता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Csm- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Csm@rel:R20-11#00d69357- Content hash
00d69357- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoServiceManager.pdf#nameddest=SWS_Csm_00646
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल