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 لتهيئة وحدة Crypto Service Manager (CSM) وفقاً لـ [SWS_Csm_00646]. تم التصريح عن الواجهة عبر ملف الترويسة Csm.h [SWS_Csm_00646].
فيما يتعلق بالمعلمات وسلوك الاستدعاء، تحدد [SWS_Csm_00646] الخصائص التالية:
- المعلمات: يتم تمرير
configPtrكمعلمة إدخال، وهي مؤشر إلى بنية تهيئة محددة من النوعconst Csm_ConfigType*[SWS_Csm_00646]. ولا توجد معلمات إدخال/إخراج أو معلمات إخراج [SWS_Csm_00646]. - القيمة المعادة: لا تُرجع الدالة أي قيمة (
void) [SWS_Csm_00646]. - التزامنية والتعريف: يتم التنفيذ بشكل متزامن؛ ورمز الخدمة المعرّف (Service-ID) هو
0x00[SWS_Csm_00646].
وفقاً لـ [SWS_Csm_00646]، تنطبق متطلبات محددة على التزامن والتشغيل متعدد الأقسام:
- قابلية إعادة الدخول: الدالة غير قابلة لإعادة الدخول (
Non Reentrant)، وبالتالي لا يجوز استدعاؤها بالتوازي [SWS_Csm_00646]. - التقسيم: إذا تم تعيين وحدة CSM لأكثر من قسم واحد (أي إذا كانت الدوال الرئيسية مثل
Csm_MainFunctionموزعة على أقسام)، يجوز لـ CSM توفير دالة تهيئة خاصة بكل قسم [SWS_Csm_00646].
تفسير: نظراً لأن المواصفة تعرّف Csm_Init كدالة تهيئة، فمن المرجح عادةً أن يتم الاستدعاء أثناء مرحلة بدء تشغيل النظام قبل تنفيذ مهام التشفير العادية. سؤال Q-f462c3f9f4ed24fc (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى بيانات مواصفات 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 ولها رمز الخدمة المعرّف (Service-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.
تحسب الدالة متعددة الدخول (reentrant) Csm_MacGenerate (معرّف الخدمة 0x60، الترويسة Csm.h) رمز مصادقة الرسائل (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] للتحقق من رمز مصادقة الرسائل (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: عنصر المفتاح المصدر غير مهيأ.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو يستند حصريًا إلى مواصفات إصدار 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 (معرّف الخدمة 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].
التزامن والقيود
الدالة محددة على أنها متعددة الدخول (reentrant) [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: تم تمرير عنصر مفتاح مصدري غير مهيأ.
تم توليد هذا النص بواسطة نظام ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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]). وتُمرر البيانات المراد فك تشفيرها كمؤشر dataPtr مع عدد البايتات dataLength. ويُكتب النص الصريح في المخزن المؤقت المشار إليه بواسطة resultPtr.
يتحكم معامل الإدخال والإخراج resultLengthPtr في إدارة المخزن المؤقت: عند الاستدعاء يجب أن يحتوي على حجم المخزن المؤقت المقدم لـ resultPtr بالبايت؛ وبعد اكتمال العملية يتم إيداع طول المخرجات المكتوب فعليًا هناك ([SWS_Csm_00989]).
التنفيذ وقيم الإرجاع
يعتمد سلوك التنفيذ (متزامن أو غير متزامن) مباشرةً على تكوين المهمة الأساسي ([SWS_Csm_00989]). الدالة مصممة لتكون قابلة لإعادة الدخول (reentrant) وتُرجع قيم إرجاع محددة من النوع Std_ReturnType:
E_OK: كان الطلب ناجحًا ([SWS_Csm_00989]).E_NOT_OK: فشل الطلب ([SWS_Csm_00989]).CRYPTO_E_BUSY: الخدمة المطلوبة لا تزال مشغولة حاليًا ([SWS_Csm_00989]).CRYPTO_E_KEY_NOT_VALID: حالة المفتاح المستخدم غير صالحة ([SWS_Csm_00989]).CRYPTO_E_KEY_SIZE_MISMATCH: أحد عناصر المفتاح ذو حجم غير مناسب ([SWS_Csm_00989]).CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ ([SWS_Csm_00989]).
أُنشئ هذا النص بواسطة ذكاء اصطناعي بناءً على بيانات مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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] (تفسير: يُرجح أن تشير المعلمة 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].
التزامن
الواجهة محددة على أنها متعددة الدخول (reentrant) [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 (معرّف الخدمة 0x63، الموفرة عبر Csm.h) وفقًا لـ [SWS_Csm_01026] فك تشفير AEAD (Authenticated Encryption with Associated Data). تفسير: على الرغم من أن الوصف في نص المواصفة يتحدث عن التشفير، فإن الدالة تعمل، بناءً على معاملات الإدخال والإخراج المحددة، على فك تشفير النص المشفر بالإضافة إلى التحقق من علامة المصادقة الممررة. سؤال Q-00e8fca03eb3b44d (مفتوح)
يتم التنفيذ بشكل متزامن أو غير متزامن اعتمادًا على تكوين المهمة المحددة عبر jobId ([SWS_Csm_01026]). وفيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول ([SWS_Csm_01026]). ويحدد المعامل mode أوضاع التشغيل التي يجب تنفيذها.
تنطبق علاقات المعاملات التالية على الاستدعاء ([SWS_Csm_01026]):
- بيانات الإدخال: مؤشرات وتفاصيل الطول للنص المشفر (
ciphertextPtr،ciphertextLength)، والبيانات المقترنة (associatedDataPtr،associatedDataLength)، والعلامة المراد فحصها (tagPtr،tagLength). - بيانات الإخراج: يستوعب المخزن المؤقت
plaintextPtrالنص الصريح المفكوك تشفيره. ويجب أن يحتوي المؤشرplaintextLengthPtrعند الاستدعاء على سعة المخزن المؤقت؛ وبعد الانتهاء يتم إيداع طول المخرجات الفعلي هناك. - نتيجة التحقق: يتم الإبلاغ عن نتيجة فحص العلامة عبر
verifyPtr.
تم تحديد قيم الإرجاع التالية من النوع Std_ReturnType وفقًا لـ [SWS_Csm_01026]:
E_OK: كان الطلب ناجحًا.E_NOT_OK: فشل الطلب.CRYPTO_E_BUSY: الخدمة مشغولة.CRYPTO_E_KEY_NOT_VALID: حالة المفتاح غير صالحة.CRYPTO_E_KEY_SIZE_MISMATCH: عنصر المفتاح ذو حجم غير صحيح.CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ.
تستند ملاحظة الاستخدام هذه إلى مواصفة 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].
عند الاستدعاء، تتحكم المعلمة mode من النوع Crypto_OperationModeType في أوضاع التشغيل المراد تنفيذها [SWS_Csm_00992]. يتم تمرير البيانات المراد توقيعها عبر dataPtr مع طولها بالبايت dataLength [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].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات المواصفات من إصدار 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 (معرّف الخدمة 0x64، المصرح عنها في Csm.h) للتحقق من صحة توقيع تشفيري استنادًا إلى البيانات الممررة [SWS_Csm_00996]. تصف المواصفة الوظيفة على نحو مقارن بأنها فحص لما إذا كان التوقيع (المشار إليه أيضًا في الوصف باسم MAC) قد تم إنشاؤه باستخدام البيانات الممررة [SWS_Csm_00996].
الاستخدام والمعلمات: عند الاستدعاء، يحدد jobId مهمة CSM المكوّنة، بينما يحدد mode (النوع Crypto_OperationModeType) أوضاع التشغيل المراد تنفيذها [SWS_Csm_00996]. يتم تمرير بيانات الحمولة المراد فحصها عبر المؤشر dataPtr مع عدد البايتات dataLength [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].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد 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 مع معرف الخدمة 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]. تمتلك الدالة رمز الخدمة المعرّف (Service-ID) 0x78 وهي متوفرة عبر ملف الترويسة Csm.h [SWS_Csm_00957]. ويتم تمرير معلمات الإدخال التالية للاستدعاء [SWS_Csm_00957]:
keyId: معرّف المفتاح المراد تعيين مادة مفتاح جديدة له [SWS_Csm_00957].keyElementId: معرّف عنصر المفتاح المراد الكتابة فيه [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].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتعتمد الصحة الفنية على وثائق المواصفات.
دليل المنفِّذ قيد الإعداد (التعقيد 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 وتمتلك معرّف الخدمة 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.
دليل المنفِّذ قيد الإعداد (التعقيد 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: كان طلب الإبطال ناجحًا [SWS_Csm_91075].E_NOT_OK: فشل الطلب [SWS_Csm_91075].CRYPTO_E_BUSY: فشل الطلب لأن كائن مشغل التشفير مشغول [SWS_Csm_91075].
التزامن والقيود
تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Csm_91075]. لذلك، يجب على الجهات المستدعية التأكد من عدم حدوث الاستدعاءات بشكل مقاطِع أو متوازٍ غير منسق. وإذا كان كائن مشغل التشفير المعني مشغولًا في وقت الاستدعاء، تُرفض العملية بـ CRYPTO_E_BUSY [SWS_Csm_91075].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.
دليل المنفِّذ قيد الإعداد (التعقيد 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 للاستعلام عن الحالة الحالية لمفتاح محدد عبر معرّفه [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: فشل الطلب.
التزامن والسلوك
تمتلك دالة الخدمة معرّف الخدمة 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 وتمتلك معرّف الخدمة 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 مع معرف الخدمة 0x71 ويتطلب أربع معلمات إدخال: keyId وkeyElementId لتحديد عنصر مفتاح المصدر، بالإضافة إلى targetKeyId وtargetKeyElementId للوجهة [SWS_Csm_00969].
فيما يتعلق بالتزامن، تم تصميم الخدمة لتكون قابلة لإعادة الدخول، ولكن صراحةً ليس لنفس keyId [SWS_Csm_00969]. لذلك، يجب على المتصل تجنب الوصول المتوازي إلى نفس مفتاح المصدر أو مزامنته.
تُرجع الدالة حالة من النوع Std_ReturnType. عند التنفيذ الناجح، فإنها تُرجع E_OK [SWS_Csm_00969]. في حالة حدوث خطأ، تتوفر قيم إرجاع محددة لتحليل الأسباب [SWS_Csm_00969]:
CRYPTO_E_BUSY: كائن Crypto Driver الأساسي مشغول [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].
تم توليد هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي. المواصفات الرسمية لـ 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
الاستخدام
تُستخدم دالة الخدمة المتزامنة Csm_KeyCopy ذات معرّف الخدمة 0x73 لنسخ جميع عناصر المفتاح بالكامل من مفتاح المصدر إلى مفتاح الهدف [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 مشغول.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].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفة.
دالة 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 نطاقًا فرعيًا محددًا لعنصر مفتاح إلى عنصر مفتاح آخر داخل نفس Crypto Driver [SWS_Csm_91025]. يُحدَّد عبر المعلمتين keyElementSourceOffset وkeyElementCopyLength البايت الذي يبدأ منه النسخ والطول المراد نسخه لعنصر المصدر (المحدد بواسطة keyId وkeyElementId). يُحدَّد موضع البدء في عنصر الهدف (targetKeyId، targetKeyElementId) عبر keyElementTargetOffset [SWS_Csm_91025].
توفر القيمة المرجعة حالة التنفيذ بالإضافة إلى أسباب الأخطاء المحددة [SWS_Csm_91025]:
E_OK: تم تنفيذ عملية النسخ بنجاح.CRYPTO_E_BUSY: كائن Crypto Driver مشغول.CRYPTO_E_KEY_NOT_AVAILABLE: عنصر المفتاح المطلوب غير متاح.CRYPTO_E_KEY_READ_FAIL: قراءة عنصر مفتاح المصدر غير مسموح بها.CRYPTO_E_KEY_WRITE_FAIL: الكتابة في عنصر مفتاح الهدف غير مسموح بها.CRYPTO_E_KEY_SIZE_MISMATCH: أحجام عناصر المفاتيح المعنية غير متوافقة.CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ.E_NOT_OK: فشل الطلب لأسباب عامة.
تم تنفيذ الدالة لتكون قابلة لإعادة الدخول، ولكن لا يجوز استدعاؤها في الوقت نفسه لنفس keyId [SWS_Csm_91025]. بالإضافة إلى ذلك، تشترط الواجهة إدارة المصدر والهدف في نفس Crypto Driver [SWS_Csm_91025]. الإعلان متاح عبر ملف الرأس Csm.h [SWS_Csm_91025].
تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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 لمفتاح ما بقيمة عشوائية (Seed) ممررة [SWS_Csm_01051]. وعند الاستدعاء، يتم تمرير معرف المفتاح الهدف عبر keyId، ومؤشر إلى موضع الذاكرة المحتوي على بيانات Seed عبر seedPtr، وطول Seed بالبايت عبر seedLength [SWS_Csm_01051].
تفاعل
إذا لم يكتشف CSM أي أخطاء أثناء التنفيذ، تقوم الدالة Csm_RandomSeed بتمرير استدعاء الخدمة مباشرةً إلى CryIf_RandomSeed الخاص بـ Crypto Interface [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 وتمتلك معرّف الخدمة Service-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: فشل التنفيذ لأن كائن برنامج تشغيل التشفير المسؤول مشغول حاليًا [SWS_Csm_00955].CRYPTO_E_KEY_NOT_VALID: تم رفض الطلب لأن المفتاح الهدف في الحالة «invalid» [SWS_Csm_00955].CRYPTO_E_KEY_EMPTY: تعذر الإنشاء بسبب وجود عنصر مفتاح مصدري غير مهيأ [SWS_Csm_00955].
فيما يتعلق بالتزامن، صُممت Csm_KeyGenerate لتكون قابلة لإعادة الدخول (reentrant)، ولكن لا يجوز استدعاؤها بشكل تزامني لنفس keyId [SWS_Csm_00955].
أُنشئ هذا النص بواسطة ذكاء اصطناعي استنادًا إلى المواصفة.
دالة 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 وتمتلك معرّف الخدمة (Service-ID) 0x6b [SWS_Csm_00956].
الاستخدام والمعلمات
يعالج الاستدعاء المتزامن معلمتي إدخال [SWS_Csm_00956]:
keyId: معرّف المفتاح الأصلي الذي يحتوي على عنصري المفتاح لكلمة المرور والملح [SWS_Csm_00956].targetKeyId: معرّف المفتاح الهدف؛ يتم تخزين مادة المفتاح المشتقة في عنصر المفتاح ذي المعرّف 1 [SWS_Csm_00956].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الدالة كقيمة إرجاع الحالة Std_ReturnType [SWS_Csm_00956]. وإلى جانب E_OK عند التنفيذ الناجح وE_NOT_OK عند حدوث أخطاء عامة، تم تحديد أخطاء تشفير خاصة [SWS_Csm_00956]:
CRYPTO_E_BUSY: كائن مشغل التشفير (Crypto-Treiber-Objekt) مشغول [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.
دليل المنفِّذ قيد الإعداد (التعقيد 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 (معرّف الخدمة 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: فشل الطلب لأن كائن مشغل التشفير مشغول [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.
دالة 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 الأساسي مشغول. وإذا كانت حالة المفتاح غير صالحة، يتم إرجاع 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 ولها معرّف الخدمة 0x7a بالتوقيع Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId) [SWS_Csm_91027].
عند الاستدعاء، يتم تمرير معلمتي إدخال من النوع uint32 [SWS_Csm_91027]:
jobId: يحتوي على معرّف المهمة التي تستخدم خدمة CSM [SWS_Csm_91027].keyId: يحتوي على معرّف المفتاح المراد التحقق من صحة مادة المفتاح الجديدة الخاصة به [SWS_Csm_91027].
لا توجد معلمات إدخال/إخراج إضافية أو معلمات إخراج خالصة محددة لهذه الدالة [SWS_Csm_91027].
السلوك المتزامن وغير المتزامن والتزامن البرمجي
تعتمد دلالات التنفيذ على تكوين المهمة المعنية: يتم الاستدعاء إما بشكل متزامن أو غير متزامن [SWS_Csm_91027]. والدالة محددة على أنها متعددة الدخول (reentrant) [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].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على المواصفة 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]. تمتلك الخدمة معرّف الخدمة 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 المسؤول مشغول [SWS_Csm_91002].
التزامن
الواجهة محددة على أنها قابلة لإعادة الدخول [SWS_Csm_91002]. لا توجد معلمات إدخال أو إخراج إضافية [SWS_Csm_91002].
أُنشئ هذا النص بواسطة ذكاء اصطناعي استنادًا إلى المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد 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]. وتمتلك الدالة معرّف الخدمة 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: رُفض الطلب نظراً لأن المفتاح المحدد في حالة غير صالحة (invalid) [SWS_Csm_91028].
التزامن والقيود
تم تحديد الواجهة بأنها قابلة لمعاودة الدخول [SWS_Csm_91028]. وإذا استدعى أحد التطبيقات الخدمة أثناء استمرار نشاط عملية أخرى، فإن قيمة الإرجاع CRYPTO_E_BUSY تشير إلى هذه الحالة [SWS_Csm_91028]. بالإضافة إلى ذلك، يجب قبل التنفيذ التأكد من أن المفتاح المعنون عبر keyId صالح، لتجنب الخطأ CRYPTO_E_KEY_NOT_VALID [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]. تم الإعلان عن الخدمة عبر ملف الرأس Csm.h بمعرّف الخدمة 0x7c [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: فشل الطلب بسبب عنصر مفتاح مصدر غير مهيأ [SWS_Csm_91029].
التزامن والقيود
تم تحديد الدالة على أنها قابلة لإعادة الدخول [SWS_Csm_91029]. تفسير: نظرًا لأن المواصفة لا تحدد سياق تنفيذ محددًا، فمن المرجح أن يتم الاستدعاء عادةً في سياق المهمة. سؤال Q-236d699ed655e285 (مفتوح)
تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دالة 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]. يتم تخزين النتيجة في عنصر المفتاح ذي المعرّف ID 1 لمفتاح الهدف المحدد بواسطة targetKeyId [SWS_Csm_91030]. يتم الاستدعاء عبر ملف الرأس Csm.h بمعرّف الخدمة 0x7d مع تمرير المهمة المعنية عبر jobId [SWS_Csm_91030].
تتم المعالجة إما بشكل متزامن أو غير متزامن وفقًا لتكوين المهمة الممررة [SWS_Csm_91030]. الدالة محددة على أنها قابلة لإعادة الدخول [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.
دالة 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: عنصر المفتاح المصدر غير مهيأ.
التزامن والتكامل
تم التصريح عن الواجهة بأنها قابلة لمعاودة الدخول، وتمتلك معرّف الخدمة 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 المفتاح السري المشترك (Shared Secret Key) لتبادل المفاتيح باستخدام مادة المفتاح من المفتاح المحدد عبر keyId بالإضافة إلى المفتاح العام لشريك الاتصال [SWS_Csm_91032]. يتم تمرير عنوان ذاكرة مفتاح الشريك عبر partnerPublicValuePtr وتحديد طوله بالبايت عبر partnerPublicValueLength [SWS_Csm_91032]. يُخزن السر المشترك المحسوب مباشرةً كعنصر مفتاح داخل المفتاح نفسه [SWS_Csm_91032].
يتم تحديد مهمة CSM المستخدمة عبر معامل الإدخال jobId. ويكون سلوك التنفيذ متزامنًا أو غير متزامن، اعتمادًا على تكوين المهمة المعنية [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].
التزامن والتكامل
تم تصميم الدالة لتكون قابلة لإعادة الدخول (reentrant)، وتمتلك معرف الخدمة 0x7f ويتم الإعلان عنها عبر ملف الترويسة Csm.h [SWS_Csm_91032].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. المرجع الحاسم الوحيد هو المواصفة القياسية.
دالة 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 ولها معرّف الخدمة 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 (معرّف الخدمة 0x87) [SWS_Csm_91064]. تفسير: في حال التهيئة غير المتزامنة للمهمة، يُرجح أنه ينبغي للجهة المستدعية الحرص على أن تظل ذاكرة التخزين المؤقت تحت contextBufferPtr صالحة ودون تغيير حتى اكتمال الاستعادة الفعلي. سؤال Q-8ab0cb179f807bd4 (مفتوح)
أُنشئ هذا النص بواسطة ذكاء اصطناعي. وهو لا يغني عن فحص مواصفات 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 (برمز الخدمة 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: لم يكن الإلغاء الفوري ممكناً؛ سيتم تنفيذ الإلغاء في خطوة المعالجة المناسبة التالية ثم يتم الإبلاغ عنه عبر رد نداء (Callback) الاكتمال السلبي للمهمة [SWS_Csm_00968].
التزامن والقيود
تحدد المواصفة Csm_CancelJob بأنها متزامنة وغير قابلة لإعادة الدخول (Non Reentrant) [SWS_Csm_00968]. لذلك، يجب على المكونات المستدعية التأكد من عدم حدوث استدعاءات متزامنة متنافسة للدالة.
تم إنشاء ملاحظة الاستخدام هذه تلقائياً وتستند حصرياً إلى بيانات المواصفات من إصدار AUTOSAR Classic 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 وتعمل كدالة استجابة للطبقة التابعة (CRYIF) لإخطار Crypto Service Manager (CSM) بإتمام مهمة تشفيرية [SWS_Csm_00970]. ليس للدالة قيمة إرجاع وتستقبل معلمتي إدخال: المؤشر job إلى المهمة المكتملة من النوع Crypto_JobType*، بالإضافة إلى result من النوع Crypto_ResultType الذي ينقل نتيجة تنفيذ العملية التشفيرية الأساسية [SWS_Csm_00970].
فيما يتعلق بالتزامن، تم تحديد تنفيذ Csm_CallbackNotification على أنه قابل لإعادة الدخول [SWS_Csm_00970]. لم يتم تعريف رموز إرجاع محددة أو رسائل خطأ DET أو DEM منفصلة في العنصر؛ وبدلًا من ذلك، يتم توفير حالات الخطأ ونتائج تنفيذ المعالجة التشفيرية مباشرة عبر الوسيطة الممررة result [SWS_Csm_00970].
في إطار التفاعل، تتحقق الدالة من وضع معالجة المهمة: إذا تم ضبط البت CRYPTO_OPERATIONMODE_FINISH في الحقل job->jobPrimitiveInputOutput.mode، فإن المواصفة Csm_CallbackNotification تلزم باستدعاء دالة رد الاتصال المكونة [SWS_Csm_01044]. تفسير: يُرجح أن هذا الاستدعاء يمثل إخطار طبقة التطبيق العليا، حيث تشير راية FINISH إلى الاكتمال النهائي لتسلسل العمليات التشفيرية. سؤال Q-32da2433b15ba3a9 (مفتوح)
تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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]. من المفترض أن يتم الاستدعاء الدوري وفقًا للجدول بواسطة مجدول BSW (SchM) في مهمة دورية، نظرًا لأن الواجهة متوفرة عبر SchM_Csm.h. سؤال Q-ffb62942b1f517b3 (مفتوح)
معالجة الأخطاء والشروط الحدية
لا يتم وصف رموز أخطاء محددة، أو رسائل DET أو DEM، أو متطلبات صريحة لإعادة الدخول في مقتطف المواصفة الحالي [SWS_Csm_00479].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دالة <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".
تُستخدم دالة معاودة الاتصال (Callback) القابلة للتكوين <Csm_ Application Callback Notification> لإبلاغ أحد التطبيقات بشكل متزامن عبر Crypto Service Manager (CSM) بانتهاء مهمة معالجة [SWS_Csm_00971]. معرّف الدالة ليس ثابتًا ومحددًا مسبقًا، بل يتم تعيينه لكل مشروع على حدة عبر معلمة التكوين {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func [SWS_Csm_00971]. تمتلك الواجهة معرّف الخدمة 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]. ونظرًا لأنه تم التصريح عن الواجهة بأنها قابلة لإعادة الدخول، يُرجح أنه يجب تصميم التنفيذ من جانب التطبيق بحيث يمكنه معالجة الإخطارات المتزامنة لمهام مختلفة بشكل آمن عبر الخيوط (thread-safe). سؤال 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.
الاستخدام ومجال القيم:
- أوضاع شفرات الكتل التقليدية: يتم دعم
CRYPTO_ALGOMODE_ECB، وCRYPTO_ALGOMODE_CBC، وCRYPTO_ALGOMODE_CFB، وCRYPTO_ALGOMODE_OFB، وCRYPTO_ALGOMODE_CTR، وCRYPTO_ALGOMODE_GCM، بالإضافة إلىCRYPTO_ALGOMODE_XTS[SWS_Csm_01048]، من بين أمور أخرى. - الأساليب غير المتماثلة والحشو: تشتمل على أوضاع للتشفير والتوقيعات مثل
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 ولا يخضع لمتطلبات قابلية إعادة الدخول (Reentrancy). سؤال 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]. تفسير: يُرجح تنظيم الترتيب عند جدولة المهام المتزامنة ومعالجتها في قوائم الانتظار عبر jobPriority. سؤال Q-439432c5631948fb (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وتستند جميع المعلومات حصريًا إلى مواصفة 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].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو يستند حصريًا إلى بيانات المواصفة الخاصة بوحدة 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.
نوع 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 (مفتوح)
تم إنشاء هذا النص وتنسيقه بواسطة ذكاء اصطناعي.
نوع 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 (مفتوح) لا توجد رموز خطأ محددة أو روتينات لمعالجة الأخطاء أو قيود على التزامن معرَّفة لنوع بنية البيانات هذا.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. تحقق من التفاصيل الحساسة للأمان بالرجوع إلى المواصفة.
نوع 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 لسيناريوهات التدفق (Streaming).CRYPTO_OPERATIONMODE_SINGLECALL(0x07): يدمج بين Start وUpdate وFinish للمعالجة الكاملة في استدعاء واحد.
علاوة على ذلك، يدعم النوع إدارة مساحة العمل (Workspace) في التدفقات القابلة للمقاطعة: باستخدام 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].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل توجيهي. المرجع الأساسي هو مواصفة 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.
يُستخدم نوع التعداد 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.
نوع 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} عبر SHORT-NAME الخاص بتهيئة العنصر الأولي المعني تحت Csm/CsmPrimitives [SWS_Csm_01920]. ويتيح ذلك هياكل حواجز مؤقتة خاصة بالعنصر الأولي في النظام.
التضمين والشروط الحدية
يتم توفير النوع عبر ملف الرأس Rte_Csm_Type.h [SWS_Csm_01920]. ومن المرجح أن هذا يعني أن النوع مخصص لتمرير البيانات القياسي عبر واجهات RTE بين مكونات البرمجيات وCSM. سؤال Q-4240a8394cdd746d (مفتوح) ويجب على المستخدمين مراعاة عدم تجاوز البيانات للحد الأعلى المهيأ CsmHashDataMaxLength عند ملء الحاجز المؤقت لتجنب حالات التجاوز (Overflow) أثناء حساب التجزئة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى حالة المواصفة 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].
إن الطول الفعلي للمخزن المؤقت للمصفوفة قابل للتهيئة، ويتم تحديده عبر معامل التهيئة CsmHashResultLength تحت Csm/CsmPrimitives/CsmHash/CsmHashConfig/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 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى بيانات المواصفات.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF
Array long enough to store the data from which a MAC shall be generated.
يُستخدم نوع البيانات Csm_MacGenerateDataType كمصفوفة بايتات لتخزين بيانات الإدخال التي سيتم حساب كود مصادقة الرسائل (MAC) منها [SWS_Csm_00935].
الاستخدام وبنية النوع
تم تحديد العنصر وفقًا لـ [SWS_Csm_00935] كمصفوفة ذات عناصر من النوع الأساسي uint8. يخضع اسم النوع لاختلاف في التسمية التشفيرية وفقًا للمخطط Csm_MacGenerateDataType_{Crypto}، حيث تتطابق اللاحقة مع الاسم المختصر المكوّن للعنصر الأولي المعني [SWS_Csm_00935]. يتم تحديد أبعاد الحقل بشكل ثابت عبر معامل التكوين CsmMacGenerateDataMaxLength، مما يضمن أن المصفوفة توفر مساحة تخزين كافية للبيانات المراد معالجتها [SWS_Csm_00935].
التكامل والواجهات
يتم توفير النوع عبر ملف الرأس Rte_Csm_Type.h ويربط هياكل البيانات بـ AUTOSAR-RTE [SWS_Csm_00935]. يمكن لمكونات البرمجيات (SWCs) المستدعية أو وحدات البرمجيات الأساسية استخدام هذا النوع للتصريح عن مخازن مؤقتة للبيانات محددة النوع لخدمات توليد MAC في CSM.
القيود
نظرًا لأن حجم الحقل مكوّن بشكل ثابت عبر الحد الأقصى للطول، يُرجح أنه يجب التأكد على مستوى المستخدم من أن البيانات المفيدة لا تتجاوز هذا الحد، لأن النوع الثابت لا يوفر ضبطًا ديناميكيًا للطول [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) تُستخدم لاستيعاب بيانات النتائج لكود مصادقة الرسائل (MAC) المُولَّد.
الاستخدام وتحديد الأبعاد
تحدد المواصفة المصفوفة بأنها ذات طول كافٍ لتخزين بيانات MAC ([SWS_Csm_00927]). يتم تحديد حجم المخزن المؤقت الفعلي عبر معامل التكوين CsmMacGenerateResultLength، والذي يتم تكوينه تحت المسار Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig ([SWS_Csm_00927]). بالإضافة إلى ذلك، يخضع النوع لتغيير تشفيري عبر الاسم المختصر للعناصر الأولية ({Crypto} أو ecuc/Csm/CsmPrimitives.SHORT-NAME) وفقًا لـ [SWS_Csm_00927].
التوفر والواجهة
يتم توفير النوع عبر ملف الرأس Rte_Csm_Type.h ([SWS_Csm_00927]). يوضح هذا أنه مصمم في المقام الأول لتسليم البيانات محددة النوع عبر واجهة RTE لتوفير قيمة MAC المحسوبة.
القيود
نظرًا لكونه تعريفًا ثابتًا للنوع، فإن التهيئة الملموسة تعتمد على التكوين المسبق لطول MAC؛ ولا يتم تحديد معاملات أخرى أو رموز أخطاء أو متطلبات تزامن لنوع البيانات هذا نفسه ([SWS_Csm_00927]).
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويُستخدم كدليل إرشادي استنادًا إلى مواصفات AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF
Array long enough to store the data for whichs MAC shall be verified.
تم تحديد نوع البيانات Csm_MacVerifyDataType كمصفوفة من عناصر uint8، ويُستخدم كمخزن مؤقت لحفظ البيانات المراد التحقق من كود مصادقة الرسائل (MAC) لها [SWS_Csm_00802].
تسري التحديدات التالية على استخدام هذا النوع وتهيئته:
- حجم المخزن المؤقت: يعتمد حجم المصفوفة على معامل التهيئة
CsmMacVerifyDataMaxLengthفي الحاويةCsm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig. ويضمن ذلك أن تكون المصفوفة ذات أبعاد كافية لاستيعاب بيانات الإدخال المراد التحقق منها بالكامل [SWS_Csm_00802]. - التباين والتسمية: يتضمن التعريف معيار التباين
Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}، وبذلك يتم إنشاء معرّف نوع C الفعلي بصورة مخصصة للوحدة النمطية على النحوCsm_MacVerifyDataType_{Crypto}[SWS_Csm_00802]. - دمج واجهة التعامل: يتم تصدير النوع عبر ملف الترويسة
Rte_Csm_Type.h[SWS_Csm_00802]. تفسير: يتيح توفيره في ملف الترويسة هذا استنتاج أن النوع مخصص في المقام الأول للاتصال عبر واجهة التعامل المدعومة من RTE بين مكونات البرمجيات وCSM. سؤال Q-c49670b3de0ba19c (مفتوح)
يجب على مطوري التطبيقات مراعاة أن الحد الأقصى لطول بيانات الحمولة القابلة للتحقق محدود بالتهيئة الثابتة للعناصر الأولية (Primitives)، وأنه لا يجوز لبيانات الإدخال أن تتجاوز سعة هذا المخزن المؤقت [SWS_Csm_00802].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF
Array long enough to store a MAC to be verified.
الاستخدام والبنية
تم تعريف النوع Csm_MacVerifyCompareType وفقًا لـ [SWS_Csm_00803] كمصفوفة من عناصر uint8. ويُستخدم لاستيعاب كود مصادقة الرسائل (MAC) المراد التحقق منه، والذي يُفترض مقارنته مع MAC المحسوب في إطار عملية تشفيرية.
يتم توفير النوع عبر ملف الترويسة Rte_Csm_Type.h لواجهة تعامل RTE [SWS_Csm_00803]. وتخضع التسمية الفعلية للنوع لتباين في التسمية عبر اسم العنصر الأولي وفقًا للنمط Csm_MacVerifyCompareType_{Crypto}، حيث يتم استبدال {Crypto} بالاسم القصير للعنصر الأولي (ecuc/Csm/CsmPrimitives.SHORT-NAME).
التهيئة وتحديد الأبعاد
يُقاس حجم المصفوفة وفقًا لـ [SWS_Csm_00803] بالاعتماد على التعبير CsmMacVerifyCompareLength/8 من التهيئة (ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength)). ويعكس ذلك طول قيمة مقارنة MAC بالبايت.
معالجة الأخطاء والشروط الحدية
بصفته مجرد تعريف نوع لمصفوفة بيانات، لا يمتلك Csm_MacVerifyCompareType قيم إرجاع خاصة به ولا يُنشئ رموز أخطاء مباشرة أو أحداث DET/DEM. ومع ذلك، تسري الشروط العامة المرتبطة بالتطبيق التالية:
- توفير المخزن المؤقت: يُفترض أن جهات الاستدعاء مسؤولة عن تهيئة المصفوفة بالكامل بـ MAC المرجعي المستلم قبل تمريرها إلى دالة تحقق. سؤال Q-94b98958fd778057 (مفتوح)
- التزامن التفرعي: بما أنه بنية بيانات، فإن النوع نفسه يعد قابلاً لإعادة الدخول (reentrant). ومع ذلك، يُرجح أن يؤدي وصول القراءة والكتابة المتزامن والمتنافس لعدة مهام إلى النسخة نفسها من المصفوفة إلى حدوث أخطاء وتشويه دون وجود مزامنة. سؤال 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]. - الحجم: يعتمد طول المصفوفة على معلمة التهيئة
CsmEncryptDataMaxLengthأسفل تهيئة العنصر الأولي المعنيCsmEncryptConfig[SWS_Csm_01921]. - تباين التسمية: يتباين اسم النوع تبعاً للعنصر الأولي وفقاً للمخطط
Csm_EncryptDataType_{Crypto}، حيث يطابق{Crypto}الاسم المختصر (SHORT-NAME) للعنصر الأولي المكوَّن في CSM [SWS_Csm_01921].
الاستخدام والقيود
بصفته مجرد تعريف للنوع، لا يمتلك العنصر قابلية معاودة الدخول أو معالجة أخطاء خاصة به. وبما أن حجم المصفوفة مرتبط بشكل ثابت بالحد الأقصى لحجم المخزن المؤقت في التكوين، فكتفسير يُرجَّح أن على المتصل عند التعبئة ضمان ألا تتجاوز البيانات المقدمة حد المخزن المؤقت CsmEncryptDataMaxLength [SWS_Csm_01921]. سؤال Q-4bf70d603b5679d3 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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]). ويُحدد الحجم الثابت لحقل المصفوفة عبر معامل التكوين CsmEncryptResultMaxLength تحت Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ ([SWS_Csm_01922]).
التضمين والشروط الحدية
يتم تصدير نوع البيانات عبر ملف الرأس Rte_Csm_Type.h ([SWS_Csm_01922]). تفسير: نظراً لتوفيره عبر Rte_Csm_Type.h، يُرجح أن النوع مصمم لنقل البيانات القياسي بين مكونات برمجيات التطبيق وCrypto Service Manager عبر منافذ RTE. سؤال 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 إلى أن النوع مخصص في المقام الأول للمنافذ محددة النوع ولتبادل البيانات بين مكونات البرمجيات ووحدة CSM عبر RTE. سؤال Q-6dcc31d5d7258088 (مفتوح) وبما أنه بنية بيانات وليس دالة، فلم يتم في نطاق المواصفة تعريف دلالات استدعاء متزامنة أو غير متزامنة، ولا متطلبات معاودة الدخول، ولا رسائل خطأ DET محددة [SWS_Csm_01923].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو لا يغني عن دراسة مواصفة AUTOSAR الرسمية.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF
Array long enough to store the data of the decrypted plaintext.
وفقاً لـ [SWS_Csm_01924]، تم تعريف نوع البيانات Csm_DecryptResultType في الوحدة Csm كمصفوفة بعناصر من النوع uint8. وهو يُستخدم كمخزن مؤقت للبيانات لتخزين بيانات النتيجة لنص صريح تم فك تشفيره، ويجب أن تكون أبعاده كافية لاستيعاب كامل النص الصريح.
وفقاً لـ [SWS_Csm_01924]، تنطبق المحددات التالية على تكوين النوع وتوفيره وهيكلته:
- توفر ملف الرأس: يتم توفير تعريف نوع البيانات عبر ملف الرأس
Rte_Csm_Type.h. - تحديد أبعاد المخزن المؤقت: يتم تحديد حجم المصفوفة عبر معامل التكوين
CsmDecryptResultMaxLength(المسارCsm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength)، وبذلك يتم تحديد الحد الأقصى للمساحة التخزينية لنتيجة فك التشفير بشكل ثابت. - توليد المتغيرات التشفيرية: يخضع اسم النوع لتوليد متغيرات خاص بالعناصر الأولية وفقاً للمخطط
Csm_DecryptResultType_{Crypto}، حيث يتم التحكم في التجسيد عبر عنصر التكوينCrypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}.
فيما يتعلق بسياق الاستدعاء والتزامن ومعالجة الأخطاء، يحتوي [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.
الاستخدام وتعريف النوع
وفقاً لـ [SWS_Csm_01925]، يُستخدم نوع البيانات Csm_AEADEncryptPlaintextType كمخزن مؤقت للنص الصريح المراد معالجته في إطار عملية تشفير AEAD (التشفير المعتمد مع البيانات المقترنة). وتم تعريف النوع كمصفوفة بايتات بنوع العنصر uint8، ويوفر مساحة تخزينية كافية لاستيعاب النص الصريح المراد تشفيره بالكامل.
تحديد الأبعاد وتوليد المتغيرات
حجم المخزن المؤقت الفعلي ليس محدداً بشكل صارم، بل يعتمد على معامل التكوين CsmAEADEncryptPlaintextMaxLength من تكوين العنصر الأولي المعني ([SWS_Csm_01925]). بالإضافة إلى ذلك، يخضع النوع لتباين في التسمية والبنية: تبعاً للعنصر الأولي المشفر المكوَّن، يتم توسيع المعرّف بإضافة الاسم المختصر للعنصر الأولي (Csm_AEADEncryptPlaintextType_{Crypto}).
الدمج والواجهة
وفقاً لـ [SWS_Csm_01925]، يتم توفير النوع عبر ملف الرأس Rte_Csm_Type.h. ويدعم هذا التفسير القائل بأن النوع متاح أساساً في سياق AUTOSAR-RTE لمكونات برمجيات التطبيق لتمرير بيانات النص الصريح محددة النوع إلى الخدمات التشفيرية لـ CSM. وبما أنه مجرد تصريح عن نوع، فإن المواصفة لا تحدد رموز أخطاء خاصة بها أو متطلبات لمعاودة الدخول على مستوى نوع البيانات.
تم إنشاء إشعار الاستخدام هذا آلياً، ويستند إلى متطلبات مواصفة 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، ويتيح تبادل البيانات محددة النوع عبر واجهة AUTOSAR-RTE لـ Crypto Service Manager [SWS_Csm_01928].
يعتمد تحديد أبعاد النوع وتجسيده على تكوين العنصر الأولي المشفر [SWS_Csm_01928]:
- حجم المصفوفة: يُقاس حجم المخزن المؤقت وفقاً لمعامل التكوين
CsmAEADEncryptAssociatedDataMaxLengthضمن التكوينCsm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig، مما يضمن أن تكون المصفوفة طويلة بما يكفي لبيانات الرأس [SWS_Csm_01928]. - تباين التسمية: يخضع العنصر لتباين في التسمية خاص بالتشفير
Csm_AEADEncryptAssociatedDataType_{Crypto}، حيث يطابق العنصر النائب{Crypto}الاسم المختصر للعنصر الأولي المعني منCsmPrimitives.SHORT-NAME[SWS_Csm_01928].
يجب على المتصلين عند تخصيص المصفوفة التأكد من أن الطول الفعلي لبيانات الرأس المراد نقلها لا يتجاوز الحد الأقصى للحجم المكوَّن [SWS_Csm_01928]. تفسير: بما أن البيانات المقترنة في إجراءات AEAD تظل غير مشفرة ولكن تتم مصادقتها، فيُرجَّح أن نوع البيانات يُستخدم أساساً لتمرير بيانات التعريف الخاصة بالبروتوكول بشكل متسق بين التطبيق وCSM. سؤال Q-26b724044c51253f (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وهو لا يغني عن دراسة المواصفة الرسمية.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF
Array long enough to store the data of the cipher.
وفقاً لـ [SWS_Csm_01927]، يُستخدم نوع البيانات Csm_AEADEncryptCiphertextType كمصفوفة بايتات لتخزين بيانات النص المشفر في عمليات تشفير AEAD في وحدة Classic AUTOSAR Csm.
تحدد المواصفة عنصر البيانات كمصفوفة من عناصر من النوع الأساسي uint8 [SWS_Csm_01927]. ويتم تحديد الحجم الثابت للمخزن المؤقت عبر معامل التكوين CsmAEADEncryptCiphertextMaxLength ضمن مسار التكوين Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01927]. ووفقاً للمتطلب، يجب أن تكون أبعاد المصفوفة طويلة بما يكفي لاستيعاب كامل بيانات النص المشفر [SWS_Csm_01927].
يُظهر معرّف النوع تبايناً في التسمية يعتمد على العنصر الأولي: عبر سمة التكوين 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)، أو قيم إرجاع، أو متطلبات لمعاودة الدخول لبنية البيانات هذه.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي، ويستند حصراً إلى بيانات مواصفة 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]:
- حجم المخزن المؤقت: يتم تحديد أبعاد المصفوفة عبر معامل التكوين
CsmAEADEncryptTagLengthتحتCsm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig[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].
تحديد الأبعاد والتباين
يتم تحديد أبعاد الحقل بشكل ثابت استنادًا إلى معامل التكوين CsmAEADDecryptCiphertextMaxLength داخل فرع التكوين Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00922]. صُممت المصفوفة بحيث يمكنها استيعاب كامل النص المشفر المراد معالجته. بالإضافة إلى ذلك، يخضع اسم النوع لتباين تشفيري وفقًا للنمط Csm_AEADDecryptCiphertextType_{Crypto}، حيث يتشكل جزء المعرّف {Crypto} من الاسم المختصر للعنصر الأولي المعني (CsmPrimitives.SHORT-NAME) [SWS_Csm_00922].
التفاعل والشروط الحدية
بناءً على التعريف في Rte_Csm_Type.h، يُرجح أن النوع مخصص في المقام الأول للربط محدد النوع لمكونات البرمجيات (SW-Cs) عبر منافذ RTE بـ Crypto Service Gateway أو CSM [SWS_Csm_00922]. سؤال Q-35738ff5fc96c699 (مفتوح) ونظرًا لأن حجم المصفوفة محدد بشكل ثابت في وقت التكوين، يجب على جهات الاستدعاء التأكد من أن بيانات النص المشفر لا تتجاوز الحد الأقصى للطول، لاستبعاد حدوث فيض في المخزن المؤقت أثناء وقت التشغيل.
أُنشئ هذا النص بواسطة ذكاء اصطناعي ويستند إلى 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]. الغرض من نوع البيانات هذا هو توفير مساحة تخزين ذات أبعاد كافية لاستيعاب بيانات الترويسة أو البيانات الإضافية المقترنة (Associated Data) لعملية فك التشفير الموثق (AEAD Decrypt) [SWS_Csm_00923].
يعتمد حجم المصفوفة على معامل التكوين CsmAEADDecryptAssociatedDataMaxLength في مسار التكوين Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00923]. وعبر التباين Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}، يتم تخصيص معرّف النوع للعنصر الأولي المعني المكوّن في Crypto Service Manager عبر اسمه المختصر [SWS_Csm_00923]. يتيح ذلك إمكانية التصريح عن مخزن مؤقت مخصص بالحد الأقصى المناسب للطول لكل عنصر أولي تشفيري.
يتم تصدير نوع البيانات عبر ملف الرأس Rte_Csm_Type.h [SWS_Csm_00923]. ونظرًا لكونه مجرد تعريف للنوع، فإن الإدخال لا يحدد رموز أخطاء أو رسائل DET أو شروط إعادة الدخول. كتفسير: يُرجح أن المصفوفة تُستخدم كمخزن مؤقت للبيانات محدد النوع لتسليم البيانات المصاحبة غير المشفرة، ولكن المطلوب التحقق منها تشفيريًا، بين مكونات البرمجيات وCSM عبر RTE. سؤال 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]. ومن خلال هذا الحساب، يتم تحويل طول الوسم المحدد بالبتات إلى بايتات كاملة، مع تقريب أطوال البتات غير القابلة للقسمة على ثمانية إلى حد البايت التالي.
يخضع النوع لتغيير في التسمية وفقًا للمخطط Csm_AEADDecryptTagType_{Crypto}، حيث يُستبدل {Crypto} بالاسم المختصر (SHORT-NAME) لتهيئة العنصر الأولي (Primitive) المعني [SWS_Csm_01074]. وبذلك يتوفر هيكل بنوع مناسب لكل مثيل مهيأ لعنصر أولي لفك تشفير AEAD.
شروط التكامل والحدود
من المرجح أن التوفير عبر Rte_Csm_Type.h يعني أن هذا النوع مخصص بالدرجة الأولى لمكونات البرمجيات عند منافذ AUTOSAR-RTE لتمرير وسم المصادقة إلى Crypto Service Manager [SWS_Csm_01074]. سؤال Q-2a0bebbb8e1d6b76 (مفتوح) وبما أن النوع لا يجلب معه مسارات تحكم أو آليات تزامن خاصة به، يُفترض أن اتساق البيانات في الحاجز المؤقت مضمون بالكامل بواسطة السياق المستدعي أثناء دورة فك التشفير.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات المواصفات من 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 (التشفير الموثق مع بيانات مقترنة) [SWS_Csm_01075]. ويتم تحديد الحجم الثابت للمصفوفة عبر معلمة التهيئة CsmAEADDecryptPlaintextMaxLength داخل تهيئة العنصر الأولي لفك تشفير AEAD المعني [SWS_Csm_01075]. ويُتاح نوع البيانات لمكونات البرمجيات عبر ملف الرأس Rte_Csm_Type.h، مع ربط اسم النوع عبر التباين Crypto بالاسم المختصر لعناصر CSM الأولية المهيأة [SWS_Csm_01075].
معالجة الأخطاء والتزامن
نظرًا لأن هذا مجرد تعريف خالص للنوع، فإن العنصر لا يحدد قيم إرجاع أو رموز أخطاء أو رسائل DET خاصة به [SWS_Csm_01075]. ويكمن القيد الوظيفي الجوهري في الحد الأقصى للطول المحدد استاتيكيًا: فلا يمكن تمثيل بيانات النص الصريح التي تتجاوز الحد المهيأ في هذا الحاجز المؤقت [SWS_Csm_01075]. تفسير: من المرجح أن يُستخدم هذا النوع أساسًا لتمرير البيانات محددة النوع عبر منافذ RTE، عندما تستقبل SWCs نتائج خدمات فك التشفير بشكل غير متزامن أو متزامن. سؤال Q-2de04243d7f996c8 (مفتوح) ويُفترض أن على الجهات المستدعية التأكد ذاتيًا من الالتزام بحدود الحاجز المؤقت، ومزامنة عمليات الوصول المتزامنة للقراءة أو الكتابة عبر مهام متعددة بشكل آمن من حيث الخيوط (thread-safe).
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى محددات مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Csm_SignatureGenerateDataType [SWS_Csm_01083] 📄 PDF
Array long enough to store the data from which the signature shall be generated.
يحدد النوع Csm_SignatureGenerateDataType وفقًا لـ [SWS_Csm_01083] مصفوفة من عناصر uint8 تعمل كحاجز مؤقت لاستيعاب البيانات التي سيتم إنشاء توقيع تشفيري منها. والتسمية الفعلية في التعليمات البرمجية المصدرية خاصة بالعنصر الأولي وتتبع النمط Csm_SignatureGenerateDataType_{Crypto}، حيث يتغير المعرّف عبر الاسم المختصر للعنصر الأولي التشفيري المهيأ [SWS_Csm_01083].
يتم تحديد الأبعاد الاستاتيكية لحقل البيانات عبر معلمة التهيئة CsmSignatureGenerateDataMaxLength [SWS_Csm_01083]. ويتم توفير نوع البيانات عبر ملف الرأس Rte_Csm_Type.h [SWS_Csm_01083]. تفسير: نظرًا لتوفيره عبر Rte_Csm_Type.h، فمن المرجح أن نوع المصفوفة مخصص في المقام الأول لتمرير البيانات محددة النوع عند منافذ RTE بين مكونات البرمجيات والوحدة CSM. سؤال Q-dcc731a5b8961aef (مفتوح)
عند التهيئة والاستخدام، يجب مراعاة أن CsmSignatureGenerateDataMaxLength يحدد الحد الأقصى الثابت للمصفوفة [SWS_Csm_01083]. ويجب على المستخدمين ضمان كفاية حجم الحاجز المؤقت عبر التهيئة لجميع بيانات الإدخال لإنشاء التوقيع التي قد تظهر أثناء التشغيل، نظرًا لأن المصفوفة تُخصص استاتيكيًا.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وتستند جميع المعلومات الفنية حصريًا إلى مصادر المواصفات.
دليل المنفِّذ قيد الإعداد (التعقيد 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]). - متغير الاسم: يحتوي المعرّف على اللاحقة
_{Crypto}، والتي تطابق الاسم المختصر للعنصر الأولي المهيأ ([SWS_Csm_01077]).
بما أنه مجرد تعريف خالص للنوع، فإن [SWS_Csm_01077] لا يحتوي على مواصفات لرموز الأخطاء أو رسائل DET أو خصائص قابلية إعادة الدخول. ومن المرجح أن دلالات وقت التشغيل وتمرير الحاجز المؤقت تتبع اصطلاحات الاستدعاء المتزامن أو غير المتزامن لواجهات خدمات CSM. سؤال Q-3304c06a29f069a2 (مفتوح) ويجب على الجهات المستدعية التأكد من أن حجم المصفوفة المهيأ كافٍ دائمًا للتوقيع المراد استيعابه متضمنًا قيمة الطول.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مقتطف من مواصفة 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] على تهيئة النوع واستخدامه:
- أبعاد المصفوفة: يطابق حجم الحقل قيمة التهيئة
CsmSignatureVerifyDataMaxLengthمن مسار التهيئةCsm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfig، بحيث تكون أبعاد المصفوفة كافية لاستيعاب كامل البيانات المراد فحصها. - تغيير الاسم: يتغير اسم النوع اعتمادًا على العنصر الأولي التشفيري المعني وفقًا للمخطط
Csm_SignatureVerifyDataType_{Crypto}، حيث يطابق{Crypto}الاسم المختصرCsmPrimitives.SHORT-NAME. - التوفير في ملف الرأس: يتوفر تعريف النوع عبر ملف الرأس
Rte_Csm_Type.h.
تفسير: من المرجح أن توفير النوع في Rte_Csm_Type.h يعني أنه مخصص بالدرجة الأولى لمكونات البرمجيات عند واجهة RTE لتمرير بيانات الحمولة حتى الحد الأقصى للطول المهيأ إلى Crypto Service Manager لفحص التوقيع [SWS_Csm_01078]. سؤال Q-c1541703c2bcd199 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل إرشادي. والمستند المرجعي الملزم هو مواصفة 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]). تفسير: من المرجح أن يتم التحقق من صحة طول الحاجز المؤقت أو سلامة المؤشر داخل دوال CSM المستخدمة. سؤال Q-60454c8a7d8035cf (مفتوح)
- التزامن: لا توجد قيود على قابلية إعادة الدخول لتعريفات الأنواع الخالصة؛ ويجب تنسيق الوصول المتزامن إلى مثيلات الحاجز المؤقت من قبل الوحدات المستخدمة ([SWS_Csm_01079]).
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو يستند حصريًا إلى مواصفات إصدار 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].
التكوين وبناء المتغيرات
لا يتم تمرير حجم المخزن المؤقت ديناميكيًا، بل يتم تحديده بشكل ثابت عبر تكوين الوحدة: يعتمد عدد عناصر المصفوفة على معامل التكوين CsmRandomGenerateResultLength تحت المسار Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig [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].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى المواصفة 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 هو نوع بيانات تنفيذ لـ AUTOSAR من الفئة DATA_REFERENCE، وهدفه كمؤشر هو Csm_VerifyResultType (رسميًا Csm_VerifyResultType*) [SWS_Csm_91046]. يتم توفير تعريف النوع عبر ملف الرأس Rte_Csm_Type.h، وبالتالي فهو متاح لمكونات التطبيق عبر RTE ولوحدات برمجيات الأساس (BSW) [SWS_Csm_91046].
تتمثل المهمة الوظيفية لـ Csm_VerifyResultPtr في إرجاع نتيجة التحقق أثناء العمليات التشفيرية غير المتزامنة [SWS_Csm_91046]. عند التنفيذ غير المتزامن، يشير المؤشر إلى مخزن مؤقت مخصص من قِبل المتصل، حيث تسجل الوحدة Csm النتيجة فيه بعد اكتمال الفحص [SWS_Csm_91046].
التزامن والقيود
نظرًا لأن Csm_VerifyResultPtr مخصص صراحةً للاستجابة غير المتزامنة [SWS_Csm_91046]، يجب على المستخدمين التأكد من الحفاظ على صلاحية الكائن المستهدف المشار إليه طوال مدة العملية بأكملها. يجب مراعاة الجوانب التالية في هذا السياق:
- من المرجح أن تظل مساحة الذاكرة المشار إليها من النوع
Csm_VerifyResultTypeصالحة ومحمية طوال وقت التنفيذ غير المتزامن بأكمله حتى وصول الاستجابة (تفسير: تجنب عمليات الكتابة إلى عناوين ذاكرة غير صالحة). سؤال (مفتوح) - من المحتمل ألا يوجه المتصلون المؤشر إلى متغيرات المكدس (Stack) المؤقتة إذا كان من الممكن مغادرة الدالة المستدعية بالفعل قبل اكتمال المهمة غير المتزامنة. سؤال (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وهي تستند حصريًا إلى بيانات المواصفة الخاصة بالوحدة 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_KeySetValidقد نُفذت بعدُ عقب تعيين عنصر مفتاح بواسطةCsm_KeyElementSet.CRYPTO_KEYSTATUS_VALID(0x01): المفتاح صالح بعد أن تم ضبط الحالة مثلًا من خلال استدعاء ناجح لـCsm_KeySetValid.
شروط الترتيب والتفاعل
يربط منطق الحالة الصلاحيةَ مباشرة بإجراءات التحديث في إدارة المفاتيح: ينقل كل تعديل لعناصر المفتاح المفتاحَ إلى حالة وسيطة غير صالحة، لا تنتهي إلا من خلال التحقق الصريح عبر Csm_KeySetValid [SWS_Csm_91102]. تفسير: يُرجح بالتالي أن تشترط الجهات المستدعية وخدمات التشفير الحالة CRYPTO_KEYSTATUS_VALID قبل تنفيذ العمليات التشفيرية، وذلك لاستبعاد الأعطال الناتجة عن بيانات مفاتيح غير مكتملة. سؤال Q-7ad50e0568814efa (مفتوح)
أُنشئ هذا النص بواسطة ذكاء اصطناعي؛ وهو يستند حصرًا إلى حمولة المواصفة ولا يغني عن فحص وثائق 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#18ade6e1- Content hash
18ade6e1- 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 · الأصل الألماني