Crypto Service Manager (CSM)
Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.
Funktionen — Übersicht
void Csm_Init (const Csm_ConfigType* configPtr);Initializes the CSM module.void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Uses the given data to perform the hash calculation and stores the hash.Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);Service Csm_MacGenerate.Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);Service Csm_MacVerify.Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Encrypt.Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Decrypt.Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);Service Csm_AEADEncrypt.Std_ReturnType Csm_AEADDecryptManager (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);Service Csm_AEADDecryptManager.Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);Service Csm_SignatureGenerate.Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);Service Csm_SignatureVerify.Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);Generate a random number and stores it in the memory location pointed by th e result pointer.Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);Sets the given key element bytes to the key identified by key Id.Std_ReturnType Csm_KeySetValid (uint32 keyId);Sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_KeySetInvalid (uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by key Id.Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);Service Csm_KeyElementGet.Std_ReturnType Csm_KeyElement Csm_KeyElementCopyManager (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId); ⚠️Service Csm_KeyElementCopyManager.Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);This function shall copy all key elements from the source key to a target key.Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);Service Csm_KeyElementCopyPartial.Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed.Std_ReturnType Csm_KeyGenerate (uint32 keyId);Generates new key material and store it in the key identified by key Id.Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);Derives a new key by using the key elements in the given key identified by the key Id.Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed...Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the...Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);Stores the key if necessary and sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);Provides a new seed for the specified key that is used for an associated random number generator.Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);Generates new key material and stores it in the key identified by key Id.Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);Derives a new key by using the key elements in the given key identified by the key Id.Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);Calculates the public value of the current user for the key exchange and stores theStd_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the...Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto...Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);Cancels the job processing from asynchronous or streaming jobs.void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CSM that a job has finished.void Csm_MainFunction (void);API to be called cyclically to process the requested jobs.void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);CSM notifies the application that a job has finished.
Typen — Übersicht
struct Csm_ConfigTypeConfiguration data structure of Csm moduleCrypto_AlgorithmFamilyTypeType Crypto_AlgorithmFamilyType.enum Crypto_AlgorithmModeTypeType Crypto_AlgorithmModeType.struct Crypto_InputOutputRedirectionConfigTypeDefines which of the input/ output parameters are re - directed to a key element.struct Crypto_JobTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_JobStateTypeEnumeration of the current job state.Crypto_JobPrimitiveInputOutputTypeType Crypto_JobPrimitiveInputOutputType.struct Crypto_JobPrimitiveInfoTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_ServiceInfoTypeEnumeration of the kind of the service.Crypto_JobRedirectionInfoTypeType Crypto_JobRedirectionInfoType.struct Crypto_AlgorithmInfoTypeStructure which determines the exact algorithm.enum Crypto_ProcessingTypeEnumeration of the processing type.struct Crypto_PrimitiveInfoTypeStructure which contains basic information about the crypto primitive.Csm_ConfigIdTypeIdentification of a CSM service configuration via a numeric identifier, that is unique within a service.enum Crypto_OperationModeTypeEnume ration which operation shall be performed.enum Crypto_VerifyResultTypeEnumeration of the result type of verification operations.Csm_KeyDataTypeArray long enough to store any key element of the considered keyenum Crypto_ResultTypeReturn for Std_ Return Type for Cryptostack.Csm_HashDataTypeArray long enough to store the data which shall be hashed.enum Csm_HashResultTypeArray long enough to store the data of the hash.Csm_MacGenerateDataTypeArray long enough to store the data from which a MAC shall be generated.enum Csm_MacGenerateResultTypeArray long enough to store the data of the MAC.Csm_MacVerifyDataTypeArray long enough to store the data for whichs MAC shall be verified.Csm_MacVerifyCompareTypeArray long enough to store a MAC to be verified.Csm_EncryptDataTypeArray long enough to store the data to be encrypted.enum Csm_EncryptResultTypeArray long enough to store the data of the cipher.Csm_DecryptDataTypeArray long enough to store the data to be decrypted.enum Csm_DecryptResultTypeArray long enough to store the data of the decrypted plaintext.Csm_AEADEncryptPlaintextTypeArray long enough to store the plaintext to be encrypted with AEAD.Csm_AEADEncryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADEncryptCiphertextTypeArray long enough to store the data of the cipher.Csm_AEADEncryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptCiphertextTypeArray long enough to store the ciphertext to be decrypted with AEAD.Csm_AEADDecryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADDecryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptPlaintextTypeArray long enough to store the data of the plaintext.Csm_SignatureGenerateDataTypeArray long enough to store the data from which the signature shall be generated.enum Csm_SignatureGenerateResultTypeArray long enough to store the signature and its length.Csm_SignatureVerifyDataTypeArray long enough to store the data for whichs signature shall be verified.Csm_SignatureVerifyCompareTypeArray long enough to store a signature to be verified.enum Csm_RandomGenerateResultTypeArray long enough to store the data of the random number.Csm_LengthPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the...Csm_VerifyResultPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return...enum Crypto_KeyStatusTypeEnumeration for key status.
Funktionen & Typen — Detailansicht
함수 Csm_Init [SWS_Csm_00646] 📄 PDF
void Csm_Init (const Csm_ConfigType* configPtr);
Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.
동기식 함수 Csm_Init은(는) [SWS_Csm_00646]에 따라 Crypto Service Manager(CSM) 모듈을 초기화하는 역할을 합니다. 이 인터페이스는 헤더 Csm.h을(를) 통해 선언됩니다 [SWS_Csm_00646].
매개변수 및 호출 동작과 관련하여 [SWS_Csm_00646]은(는) 다음과 같은 특성을 규정합니다:
- 매개변수: 입력 매개변수로
configPtr이(가) 전달됩니다. 이는const Csm_ConfigType*유형의 선택된 구성 구조체에 대한 포인터입니다 [SWS_Csm_00646]. 입출력 매개변수 또는 출력 매개변수는 없습니다 [SWS_Csm_00646]. - 반환값: 이 함수는 반환값을 제공하지 않습니다(
void) [SWS_Csm_00646]. - 동기성 및 식별: 실행은 동기식으로 이루어지며, 서비스 ID는
0x00입니다 [SWS_Csm_00646].
동시성 및 다중 파티션 동작에 대해서는 [SWS_Csm_00646]에 따라 다음과 같은 특정 사양이 적용됩니다:
- 재진입성: 이 함수는 재진입이 불가능하므로(
Non Reentrant) 동시에 호출해서는 안 됩니다 [SWS_Csm_00646]. - 파티셔닝: CSM 모듈이 둘 이상의 파티션에 할당된 경우(즉,
Csm_MainFunction과(와) 같은 메인 함수가 파티션들에 분산되어 있는 경우), CSM은 파티션별로 자체 초기화 함수를 제공할 수 있습니다 [SWS_Csm_00646].
해석: 명세에서 Csm_Init을(를) 초기화 함수로 정의하므로, 통상적으로 정규 암호화 작업이 실행되기 전 시스템 시작 단계 중에 호출이 이루어질 것으로 보입니다. 질문 Q-f462c3f9f4ed24fc (열림)
이 사용 지침은 AI가 생성하였으며, AUTOSAR R20-11의 명세 데이터를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_GetVersionInfo [SWS_Csm_00705] 📄 PDF
void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
함수 Csm_Hash [SWS_Csm_00980] 📄 PDF
Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Uses the given data to perform the hash calculation and stores the hash.
사용
함수 Csm_Hash은(는) 전달된 입력 데이터에 대해 암호화 해시값을 계산하고 그 결과를 대상 메모리에 저장합니다 [SWS_Csm_00980]. 이 인터페이스는 헤더 Csm.h을(를) 통해 선언되며 서비스 ID 0x5d을(를) 갖습니다 [SWS_Csm_00980]. 실행 동작은 jobId을(를) 통해 지정된 작업의 각 구성에 따라 동기식 또는 비동기식입니다 [SWS_Csm_00980].
매개변수는 다음과 같이 구성됩니다 [SWS_Csm_00980]:
jobId: 암호화 서비스를 사용하는 CSM 작업의 고유 식별자입니다.mode: 수행할 동작 모드를 지정합니다.dataPtr및dataLength: 해시 처리할 입력 데이터에 대한 포인터 및 처리할 바이트 수입니다.resultPtr: 계산된 해시값이 저장되는 버퍼에 대한 포인터입니다.resultLengthPtr: 호출 전에 이 포인터는 버퍼resultPtr의 제공된 용량(바이트 단위)을 포함해야 합니다. 처리가 완료된 후 이 값은 생성된 해시값의 실제 바이트 길이로 덮어써집니다. 제공된 버퍼가 결과의 전체 길이보다 작은 경우 해시값은 잘려서 저장됩니다.
오류 처리 및 동시성
Std_ReturnType 유형의 반환값은 E_OK(으)로 성공적인 요청을, E_NOT_OK(으)로 작업 처리 중 오류를 나타냅니다 [SWS_Csm_00980]. 동시성과 관련하여 Csm_Hash은(는) 재진입 가능한 것으로 규정되어 있습니다 [SWS_Csm_00980].
이 텍스트는 AUTOSAR R20-11 명세를 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_MacGenerate [SWS_Csm_00982] 📄 PDF
Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);
Service Csm_MacGenerate.
재진입 가능한 함수 Csm_MacGenerate(서비스 ID 0x60, 헤더 Csm.h)은(는) 전달된 입력 데이터에 대해 Message Authentication Code(MAC)를 계산하고 결과를 지정된 대상 주소에 저장합니다 [SWS_Csm_00982]. 처리가 동기식으로 수행되는지 비동기식으로 수행되는지는 jobId을(를) 통해 참조되는 작업의 구성에 따라 달라집니다 [SWS_Csm_00982].
매개변수 mode은(는) 실행할 동작 모드를 지정합니다. 입력 데이터는 dataPtr을(를) 통해 전달되고 해당 바이트 수는 dataLength을(를) 통해 전달됩니다 [SWS_Csm_00982]. 버퍼 macPtr은(는) 결과를 수신합니다. 호출 시 입출력 매개변수 macLengthPtr을(를) 통해 제공된 버퍼의 크기를 전달해야 하며, 요청이 완료된 후에는 계산된 MAC의 실제 길이가 여기에 저장됩니다. 버퍼가 전체 결과보다 작은 경우 MAC은 잘려서 저장됩니다 [SWS_Csm_00982].
Std_ReturnType 유형의 가능한 반환값은 다음과 같습니다 [SWS_Csm_00982]:
E_OK: 요청이 성공적으로 실행되었습니다.E_NOT_OK: 요청이 실패했습니다.CRYPTO_E_BUSY: 서비스가 여전히 사용 중입니다.CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않습니다.CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 올바르지 않습니다.CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.
이 텍스트는 명세를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_MacVerify [SWS_Csm_01050] 📄 PDF
Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);
Service Csm_MacVerify.
함수 Csm_MacVerify은(는) [SWS_Csm_01050]에 따라 전달된 MAC이 제공된 데이터와 일치하는지 검사하여 Message Authentication Code(MAC)를 검증하는 역할을 합니다. 검증 결과는 verifyPtr이(가) 가리키는 메모리 위치에 저장됩니다. 이 서비스는 헤더 파일 Csm.h을(를) 통해 사용할 수 있으며 reentrant로 지정되어 있습니다.
호출 시 다음 매개변수 및 시맨틱을 준수해야 합니다 [SWS_Csm_01050]:
- 동기 또는 비동기 동작: 실행은
jobId에 의해 참조되는 작업(Job)의 구성에 따라 동기 또는 비동기적으로 수행됩니다. - 작동 모드:
mode(Crypto_OperationModeType)을(를) 통해 어떤 연산 모드를 실행할지 결정합니다. - 길이 정보:
dataLength이(가)dataPtr에 대한 데이터 바이트 수를 지정하는 반면,macLength은(는) 검증할 MAC의 길이를 비트 단위로 필수 지정해야 합니다.
반환값으로 이 함수는 요청 상태를 Std_ReturnType(으)로 제공합니다 [SWS_Csm_01050]:
E_OK: 요청이 성공했습니다.E_NOT_OK: 요청이 실패했습니다.CRYPTO_E_BUSY: 서비스가 여전히 사용 중(busy)입니다.CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않습니다.CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 올바르지 않습니다.CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.
이 텍스트는 AI에 의해 작성되었습니다. 이는 오직 AUTOSAR 버전 R20-11의 사양만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_Encrypt [SWS_Csm_00984] 📄 PDF
Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Service Csm_Encrypt.
함수 Csm_Encrypt(서비스 ID 0x5e, Csm.h을(를) 통해 제공됨)은(는) 전달된 입력 데이터를 암호화하고 암호문을 지정된 결과 버퍼에 저장합니다 [SWS_Csm_00984].
사용법 및 의미론
작업 수행을 위해 다음과 같은 매개변수가 전달됩니다 [SWS_Csm_00984]:
jobId: 서비스를 사용하는 CSM 작업의 식별자입니다.mode: 실행할 하나 이상의 동작 모드를 나타냅니다(Crypto_OperationModeType유형).dataPtr및dataLength: 암호화할 원본 데이터에 대한 포인터 및 처리할 바이트 수입니다.resultPtr: 암호화된 데이터가 저장될 메모리 영역에 대한 포인터입니다.resultLengthPtr: 바이트 단위 길이 정보에 대한 포인터입니다. 호출 전에 이 매개변수는resultPtr의 제공된 버퍼 용량을 포함해야 하며, 요청 완료 후에는 실제 출력 길이가 여기에 저장됩니다 [SWS_Csm_00984].
실행 시맨틱은 정적으로 고정되어 있지 않으며, 할당된 작업의 구성에 따라 동기식 또는 비동기식으로 이루어집니다 [SWS_Csm_00984].
동시성 및 제약사항
이 함수는 재진입 가능한 것으로 명시되어 있습니다 [SWS_Csm_00984]. 호출자는 작업이 완료될 때까지 전체 처리 과정 동안 버퍼 resultPtr이(가) 유효하게 유지되고 최소한 처음에 resultLengthPtr을(를) 통해 지정된 크기를 갖도록 보장해야 합니다.
오류 처리 및 반환값
Std_ReturnType 유형의 반환값은 요청 상태에 대한 정보를 제공합니다 [SWS_Csm_00984]:
E_OK: 요청이 성공했습니다.E_NOT_OK: 요청이 실패했습니다.CRYPTO_E_BUSY: 서비스가 현재 사용 중이어서 요청이 거부되었습니다.CRYPTO_E_KEY_NOT_VALID: 지정된 키가 “invalid” 상태에 있습니다.CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 유효하지 않습니다.CRYPTO_E_KEY_EMPTY: 초기화되지 않은 소스 키 엘리먼트가 전달되었습니다.
이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 AI 시스템에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_Decrypt [SWS_Csm_00989] 📄 PDF
Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Service Csm_Decrypt.
함수 Csm_Decrypt([SWS_Csm_00989])은 전달된 암호 데이터를 복호화하고 결과 일반 텍스트를 대상 메모리 영역에 저장합니다. 이 함수는 헤더 Csm.h를 통해 제공되며 전달된 작업의 구성을 기반으로 암호화 작업을 수행합니다.
사용법 및 매개변수
매개변수 jobId을 통해 사용할 CSM 작업이 주소 지정되고, mode(타입 Crypto_OperationModeType)은 수행할 작업 단계를 지정합니다([SWS_Csm_00989]). 복호화할 데이터는 바이트 수 dataLength와 함께 포인터 dataPtr로 전달됩니다. 일반 텍스트는 resultPtr에 의해 참조되는 버퍼에 기록됩니다.
입출력 매개변수 resultLengthPtr은 버퍼 관리를 제어합니다. 호출 시 이 매개변수는 resultPtr의 제공된 버퍼 크기를 바이트 단위로 포함해야 하며, 작업이 완료된 후 실제로 기록된 출력 길이가 여기에 저장됩니다([SWS_Csm_00989]).
실행 및 반환 값
실행 동작(동기식 또는 비동기식)은 기본 작업 구성에 직접적으로 좌우됩니다([SWS_Csm_00989]). 이 함수는 재진입 가능하도록 설계되었으며 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 사양 데이터를 기반으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_AEADEncrypt [SWS_Csm_01023] 📄 PDF
Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);
Service Csm_AEADEncrypt.
사용
함수 Csm_AEADEncrypt은(는) 연관 데이터가 포함된 인증된 암호화(AEAD)를 수행하며 헤더 Csm.h을(를) 통해 제공됩니다 [SWS_Csm_01023]. 이 함수는 plaintextPtr 및 plaintextLength을(를) 통해 암호화할 평문을 처리하고, associatedDataPtr 및 associatedDataLength을(를) 통해 추가 관련 데이터를 처리합니다 [SWS_Csm_01023]. 출력 데이터는 버퍼 ciphertextPtr(암호문) 및 tagPtr(인증 태그 또는 MAC)에 기록됩니다 [SWS_Csm_01023]. 호출 시 ciphertextLengthPtr 및 tagLengthPtr은(는) 제공된 버퍼 용량을 바이트 단위로 포함해야 하며, 완료 후에는 출력 값의 실제 길이를 포함하게 됩니다 [SWS_Csm_01023](해석: 명세에 언급된 매개변수 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(서비스 ID 0x63, Csm.h를 통해 제공됨)은 [SWS_Csm_01026]에 따라 AEAD(Authenticated Encryption with Associated Data) 복호화를 수행합니다. 해석: 사양 텍스트의 설명에서는 암호화를 언급하지만, 정의된 입출력 매개변수를 기준으로 볼 때 이 함수는 암호문 복호화 및 전달된 인증 태그 검증을 위한 역할을 합니다. 질문 Q-00e8fca03eb3b44d (열림)
실행은 jobId을(를) 통해 식별된 작업(Job)의 구성에 따라 동기 또는 비동기 방식으로 수행됩니다([SWS_Csm_01026]). 동시성과 관련하여 이 함수는 재진입 가능(reentrant)합니다([SWS_Csm_01026]). 매개변수 mode을(를) 통해 어떤 연산 모드를 처리해야 하는지 지정합니다.
호출에는 다음과 같은 매개변수 관계가 적용됩니다([SWS_Csm_01026]):
- 입력 데이터: 암호문(
ciphertextPtr,ciphertextLength), 연관 데이터(associatedDataPtr,associatedDataLength) 및 검증할 태그(tagPtr,tagLength)에 대한 포인터 및 길이 정보. - 출력 데이터: 버퍼
plaintextPtr은(는) 복호화된 평문을 수신합니다. 포인터plaintextLengthPtr은(는) 호출 시 버퍼 용량을 포함해야 하며, 완료 후에는 실제 출력 길이가 저장됩니다. - 검증 결과: 태그 검사 결과는
verifyPtr을(를) 통해 반환됩니다.
[SWS_Csm_01026]에 따라 Std_ReturnType 유형의 반환값으로 다음이 지정되어 있습니다:
E_OK: 요청이 성공했습니다.E_NOT_OK: 요청이 실패했습니다.CRYPTO_E_BUSY: 서비스가 사용 중(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].
호출 시 Crypto_OperationModeType 타입의 매개변수 mode이 실행할 동작 모드를 제어합니다 [SWS_Csm_00992]. 서명할 데이터는 바이트 길이 dataLength와 함께 dataPtr을 통해 전달됩니다 [SWS_Csm_00992]. 계산된 서명은 signaturePtr이 참조하는 메모리 영역에 기록됩니다 [SWS_Csm_00992]. 입출력 매개변수 signatureLengthPtr은 호출 전에 제공된 버퍼 크기(바이트 단위)를 포함해야 하며, 요청 완료 후 생성된 서명의 실제 바이트 길이를 포함합니다 [SWS_Csm_00992].
반환값은 함수 요청의 상태를 나타냅니다 [SWS_Csm_00992]:
E_OK: 요청이 성공적으로 실행되었거나 시작되었습니다 [SWS_Csm_00992].E_NOT_OK: 요청 중 일반적인 오류가 발생했습니다 [SWS_Csm_00992].CRYPTO_E_BUSY: 요청된 서비스가 현재 사용 중입니다[SWS_Csm_00992].CRYPTO_E_KEY_NOT_VALID: 사용된 키의 상태가 유효하지 않습니다 [SWS_Csm_00992].CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 적절하지 않습니다[SWS_Csm_00992].CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다[SWS_Csm_00992].
본 텍스트는 AI에 의해 작성되었으며 AUTOSAR 릴리스 R20-11의 사양 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_SignatureVerify [SWS_Csm_00996] 📄 PDF
Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);
Service Csm_SignatureVerify.
서비스 Csm_SignatureVerify(서비스 ID 0x64, Csm.h에 선언됨)은 전달된 데이터를 기반으로 암호화 서명을 검증하는 역할을 합니다 [SWS_Csm_00996]. 명세서에서는 이 기능을 전달된 데이터로 서명(설명에서는 MAC으로도 지칭됨)이 생성되었는지 여부를 확인하는 비교 작업으로 설명합니다 [SWS_Csm_00996].
사용법 및 매개변수: 호출 시 jobId은 구성된 CSM 작업을 식별하며, mode(타입 Crypto_OperationModeType)은 실행할 작업 모드를 지정합니다 [SWS_Csm_00996]. 검사할 페이로드는 포인터 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].
이 사용 지침은 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 Csm_RandomGenerate [SWS_Csm_01543] 📄 PDF
Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);
Generate a random number and stores it in the memory location pointed by th e result pointer.
함수 Csm_RandomGenerate은 난수를 생성하는 데 사용되며, 그 결과를 resultPtr이 가리키는 메모리 영역에 저장합니다[SWS_Csm_01543].
사용법 및 매개변수
매개변수 jobId을 통해 해당 서비스를 사용하는 구성된 CSM 작업의 식별자가 전달됩니다[SWS_Csm_01543]. 호출자는 입출력 매개변수 resultLengthPtr를 통해 원하는 데이터 양을 제어합니다. 호출 시 이 포인터는 버퍼 resultPtr에 저장되어야 하는 생성 대상 난수 바이트 수를 가리켜야 합니다[SWS_Csm_01543]. 요청이 완료된 후 resultLengthPtr에는 생성된 값의 실제 바이트 길이가 포함됩니다[SWS_Csm_01543]. 처리는 각 작업의 구성에 따라 동기식 또는 비동기식으로 수행됩니다[SWS_Csm_01543].
반환값 및 오류 처리
이 함수는 Std_ReturnType 타입의 상태를 반환합니다[SWS_Csm_01543]:
E_OK: 요청이 성공했습니다[SWS_Csm_01543].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_01543].CRYPTO_E_BUSY: 서비스가 아직 사용 중이어서 요청이 실패했습니다[SWS_Csm_01543].CRYPTO_E_ENTROPY_EXHAUSTED: 난수 생성기의 엔트로피가 고갈되어 요청이 실패했습니다[SWS_Csm_01543].
동시성
이 함수는 재진입 가능(reentrant)하도록 설계되었으며, 헤더 Csm.h을 통해 서비스 ID 0x72로 제공됩니다[SWS_Csm_01543].
이 사용 지침은 자동으로 생성되었습니다. 오직 AUTOSAR 표준의 사양만이 구속력을 갖습니다.
함수 Csm_KeyElementSet [SWS_Csm_00957] 📄 PDF
Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);
Sets the given key element bytes to the key identified by key Id.
사용법 및 의미론
동기식 함수 Csm_KeyElementSet은(는) keyId을(를) 통해 식별된 키에 대해 지정된 키 엘리먼트의 바이트를 설정합니다 [SWS_Csm_00957]. 이 함수는 서비스 ID 0x78을(를) 가지며, 헤더 Csm.h을(를) 통해 사용할 수 있습니다 [SWS_Csm_00957]. 호출 시 다음 입력 매개변수들이 전달됩니다 [SWS_Csm_00957]:
keyId: 새 키 자료를 설정할 키의 식별자입니다 [SWS_Csm_00957].keyElementId: 기록할 키 엘리먼트의 식별자입니다 [SWS_Csm_00957].keyElementPtr: 처리할 키 엘리먼트의 바이트에 대한 포인터입니다 [SWS_Csm_00957].keyElementLength: 설정할 키 엘리먼트의 바이트 수입니다 [SWS_Csm_00957].
반환값 및 오류 처리
실행 후에는 성공 여부 또는 구체적인 오류 원인을 나타내는 Std_ReturnType 유형의 상태가 반환됩니다 [SWS_Csm_00957]:
E_OK: 요청이 성공했습니다[SWS_Csm_00957].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_00957].CRYPTO_E_BUSY: 담당 Crypto Driver Object가 사용 중입니다 [SWS_Csm_00957].CRYPTO_E_KEY_WRITE_FAIL: 키 엘리먼트에 대한 쓰기 접근이 거부되었습니다 [SWS_Csm_00957].CRYPTO_E_KEY_NOT_AVAILABLE: 지정된 키를 사용할 수 없습니다 [SWS_Csm_00957].CRYPTO_E_KEY_SIZE_MISMATCH: 키 엘리먼트의 크기가 제공된 데이터의 크기와 일치하지 않습니다 [SWS_Csm_00957].
동시성 및 제약사항
함수 Csm_KeyElementSet은(는) 동기식이며 재진입 불가능(Non Reentrant)으로 명시되어 있습니다 [SWS_Csm_00957]. 이 함수에는 입출력(inout) 또는 출력 매개변수(out)가 없습니다 [SWS_Csm_00957].
이 텍스트는 AI에 의해 작성되었으며, 기술적 정확성은 명세 문서를 바탕으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeySetValid [SWS_Csm_00958] 📄 PDF
Std_ReturnType Csm_KeySetValid (uint32 keyId);
Sets the key state of the key identified by key Id to valid.
동기식 함수 Csm_KeySetValid은 새 키 매터리얼이 제공된 후 식별자 keyId을 통해 지정된 키의 키 상태를 유효한 상태(“valid”)로 설정하는 역할을 합니다 [SWS_Csm_00958]. 이 서비스는 헤더 Csm.h을 통해 제공되며 서비스 ID 0x67를 가집니다 [SWS_Csm_00958].
사용 및 반환값에 대해서는 [SWS_Csm_00958]에 따라 다음 규정이 적용됩니다:
- 입력 매개변수:
keyId을 통해 새 매터리얼을 검증할 키의 식별자가 전달됩니다. - 반환값
E_OK: 키 상태 검증 요청이 성공했습니다. - 반환값
E_NOT_OK: 요청이 실패했습니다. - 반환값
CRYPTO_E_BUSY: 기반이 되는 Crypto Driver Object가 사용 중이어서 요청이 실패했습니다.
동시성과 관련하여 Csm_KeySetValid은 재진입 불가능(“Non Reentrant”)으로 명시되어 있습니다 [SWS_Csm_00958]. 따라서 잠재적으로 동시성 컨텍스트에서 호출이 발생하는 경우 호출자가 적절한 동기화를 보장해야 할 것으로 보입니다. 질문 Q-1762a3bca77ab74e (열림)
이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeySetInvalid [SWS_Csm_91075] 📄 PDF
Std_ReturnType Csm_KeySetInvalid (uint32 keyId);
Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.
동기 함수 Csm_KeySetInvalid은 키 상태를 유효하지 않음으로 설정합니다 [SWS_Csm_91075]. 유효하지 않게 설정된 키는 다시 유효한 상태로 전환될 때까지 암호화 작업에 더 이상 사용될 수 없습니다 [SWS_Csm_91075].
사용법 및 매개변수
이 호출은 헤더 Csm.h을 통해 제공되며 동기적으로 실행됩니다 [SWS_Csm_91075]. 입력 매개변수 keyId(유형 uint32)를 통해 무효화할 키의 식별자가 전달됩니다 [SWS_Csm_91075].
반환값 및 오류 처리
이 함수는 유형 Std_ReturnType의 상태 값을 반환합니다 [SWS_Csm_91075]:
E_OK: 무효화 요청이 성공했습니다 [SWS_Csm_91075].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_91075].CRYPTO_E_BUSY: 암호화 드라이버 객체가 사용 중이어서 요청이 실패했습니다 [SWS_Csm_91075].
동시성 및 제약사항
이 함수는 재진입 불가능(Non Reentrant)한 것으로 명시되어 있습니다 [SWS_Csm_91075]. 따라서 호출자는 호출이 중단(interrupt)되거나 조율되지 않은 상태에서 병렬로 발생하지 않도록 해야 합니다. 호출 시점에 담당 암호화 드라이버 객체가 사용 중인 경우 해당 작업은 CRYPTO_E_BUSY와 함께 거부됩니다 [SWS_Csm_91075].
이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeyGetStatus [SWS_Csm_91047] 📄 PDF
Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);
Returns the key state of the key identified by key Id.
사용
동기 함수 Csm_KeyGetStatus은(는) 식별자를 통해 지정된 키의 현재 상태를 질의하는 역할을 합니다 [SWS_Csm_91047]. 선언은 헤더 Csm.h을(를) 통해 제공됩니다 [SWS_Csm_91047].
호출 시 다음 매개변수들이 전달됩니다 [SWS_Csm_91047]:
keyId(입력): 상태를 확인해야 하는 키의 식별자.keyStatusPtr(출력): CSM이 확인된 키 상태를 저장하는Crypto_KeyStatusType타입의 메모리 위치를 가리키는 포인터.
반환값으로 함수 Std_ReturnType은(는) 다음을 전달합니다 [SWS_Csm_91047]:
E_OK: 상태 조회가 성공적이었으며 결과는 출력 포인터를 통해 준비됩니다.E_NOT_OK: 요청이 실패했습니다.
동시성 및 동작
이 서비스 함수는 서비스 ID 0x83을(를) 가지며 재진입 가능(reentrant)하도록 명시되어 있습니다 [SWS_Csm_91047]. 동작이 동기식으로 진행되므로, 호출은 상태 조회가 완료될 때까지 호출자를 차단(block)합니다 [SWS_Csm_91047]. 유효하지 않은 포인터는 아마도 반환값 E_NOT_OK(으)로 이어질 것이므로, 호출자가 keyStatusPtr을(를) 위한 유효한 메모리 영역을 제공해야 합니다. 질문 Q-a920a9a12b1374aa (열림)
이 사용 지침은 AUTOSAR R20-11 사양 데이터를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeyElementGet [SWS_Csm_00959] 📄 PDF
Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);
Service Csm_KeyElementGet.
동기식이며 재진입 가능한 함수 Csm_KeyElementGet은 keyId을 통해 식별된 키에서 특정 키 요소의 데이터를 읽어 전달받은 메모리 영역으로 복사합니다 [SWS_Csm_00959]. 이 서비스는 헤더 파일 Csm.h을 통해 선언되며 서비스 ID 0x68를 가집니다 [SWS_Csm_00959].
매개변수 및 버퍼 처리
요소를 식별하기 위해 매개변수 keyId(키 식별자) 및 keyElementId(원하는 키 요소의 식별자)이 전달됩니다 [SWS_Csm_00959]. 읽기를 수행하려면 출력 버퍼의 제공 및 해당 길이 관리가 필요합니다:
keyElementPtr: 키 요소의 추출된 바이트가 복사될 메모리 위치를 가리키는 포인터 [SWS_Csm_00959].keyElementLengthPtr: 함수 호출 시keyElementPtr의 최대 사용 가능한 버퍼 크기(바이트)를 포함해야 하는 입출력 매개변수(inout)입니다. 처리가 완료된 후 함수는 여기에 실제로 작성된 바이트 길이를 저장합니다 [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]. 이 호출은 서비스 ID 0x71과 함께 헤더 파일 Csm.h를 통해 제공되며, 네 개의 입력 매개변수가 필요합니다: 소스 키 요소를 식별하기 위한 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 드라이버 객체가 사용 중입니다 [SWS_Csm_00969].CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키 요소를 사용할 수 없습니다[SWS_Csm_00969].CRYPTO_E_KEY_READ_FAIL: 소스 요소를 읽을 수 없습니다 [SWS_Csm_00969].CRYPTO_E_KEY_WRITE_FAIL: 대상 요소에 쓸 수 없습니다 [SWS_Csm_00969].CRYPTO_E_KEY_SIZE_MISMATCH: 두 키 요소의 크기가 서로 호환되지 않습니다 [SWS_Csm_00969].CRYPTO_E_KEY_EMPTY: 소스 키 요소가 아직 초기화되지 않았습니다 [SWS_Csm_00969].E_NOT_OK: 요청 실행 중 일반적인 오류가 발생했습니다 [SWS_Csm_00969].
본 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 공식 AUTOSAR 사양만이 구속력을 갖습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeyCopy [SWS_Csm_01034] 📄 PDF
Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);
This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h
사용
서비스 ID 0x73을 갖는 동기식 서비스 함수 Csm_KeyCopy은 소스 키의 모든 키 요소를 대상 키로 완전히 복사하는 역할을 합니다 [SWS_Csm_01034]. 선언은 헤더 파일 Csm.h을 통해 제공됩니다 [SWS_Csm_01034]. 불변 입력 매개변수로 소스 키 식별자를 위한 keyId와 대상 키 식별자를 위한 targetKeyId이 전달됩니다 [SWS_Csm_01034]. 시그니처에 추가적인 입출력 또는 출력 매개변수는 정의되어 있지 않습니다 [SWS_Csm_01034].
오류 처리 및 반환값
Std_ReturnType 타입의 반환값은 호출자에게 실행 결과를 알려줍니다 [SWS_Csm_01034]. E_OK는 성공적인 실행을 나타내는 반면, E_NOT_OK은 요청의 일반적인 실패를 나타냅니다 [SWS_Csm_01034]. 구체적인 오류 원인은 별도의 암호화 반환값을 통해 표시됩니다 [SWS_Csm_01034]:
CRYPTO_E_BUSY: Crypto 드라이버 객체가 사용 중이어서 작업이 실패했습니다.CRYPTO_E_KEY_NOT_AVAILABLE: 요청된 키 요소를 사용할 수 없습니다.CRYPTO_E_KEY_READ_FAIL: 소스에서 키 요소를 읽는 것이 허용되지 않습니다.CRYPTO_E_KEY_WRITE_FAIL: 대상에 키 요소를 쓰는 것이 허용되지 않습니다.CRYPTO_E_KEY_SIZE_MISMATCH: 관련된 키 요소의 크기가 서로 호환되지 않습니다.CRYPTO_E_KEY_EMPTY: 소스 키의 키 요소가 초기화되지 않았습니다.
동시성 및 제약사항
호출 동작과 관련하여 Csm_KeyCopy은 재진입 가능하도록 설계되었으나 동일한 keyId에 대해서는 적용되지 않는다는 구속력 있는 제한이 있습니다 [SWS_Csm_01034].
이 사용 지침은 사양을 기반으로 AI에 의해 생성되었습니다.
함수 Csm_KeyElementCopyPartial [SWS_Csm_91025] 📄 PDF
Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);
Service Csm_KeyElementCopyPartial.
동기 함수 Csm_KeyElementCopyPartial은 동일한 Crypto 드라이버 내에서 한 키 요소의 정의된 하위 영역을 다른 키 요소로 복사합니다 [SWS_Csm_91025]. 매개변수 keyElementSourceOffset 및 keyElementCopyLength을 통해 소스 요소(keyId 및 keyElementId로 식별됨)가 복사되는 시작 바이트와 길이가 결정됩니다. 대상 요소(targetKeyId, targetKeyElementId)의 시작 위치는 keyElementTargetOffset을 통해 지정됩니다 [SWS_Csm_91025].
반환값은 실행 상태 및 특정 오류 원인을 제공합니다 [SWS_Csm_91025]:
E_OK: 복사 프로세스가 성공적으로 실행되었습니다.CRYPTO_E_BUSY: Crypto 드라이버 객체가 사용 중입니다.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: 일반적인 이유로 요청이 실패했습니다.
이 함수는 재진입 가능(reentrant)하도록 구현되었으나, 동일한 keyId에 대해 동시에 호출되어서는 안 됩니다 [SWS_Csm_91025]. 또한 이 인터페이스는 소스와 대상이 동일한 Crypto 드라이버에서 관리될 것을 전제합니다 [SWS_Csm_91025]. 선언은 헤더 Csm.h을 통해 제공됩니다 [SWS_Csm_91025].
본 사용 지침은 AUTOSAR CP R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_RandomSeed [SWS_Csm_01051] 📄 PDF
Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);
Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager
사용법 및 호출 컨텍스트
동기 함수 Csm_RandomSeed은(는) 키의 키 엘리먼트 CRYPTO_KE_RANDOM_SEED을(를) 전달받은 난수 값(시드)으로 채우는 역할을 합니다 [SWS_Csm_01051]. 호출 시 keyId을(를) 통해 대상 키의 식별자, seedPtr을(를) 통해 시드 데이터가 있는 메모리 위치에 대한 포인터, seedLength을(를) 통해 바이트 단위의 시드 길이가 전달됩니다 [SWS_Csm_01051].
상호 작용
실행 시 CSM이 오류를 감지하지 못하면, 함수 Csm_RandomSeed은(는) 서비스 호출을 Crypto Interface의 CryIf_RandomSeed(으)로 직접 전달합니다 [SWS_Csm_01052].
오류 처리 및 반환값
이 함수는 유형 Std_ReturnType의 상태 값을 반환합니다 [SWS_Csm_01051]:
E_OK: 요청이 성공했습니다[SWS_Csm_01051].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_01051].CRYPTO_E_BUSY: 해당 Crypto Driver Object가 현재 사용 중이므로 실행에 실패했습니다 [SWS_Csm_01051].CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않아 요청이 거부되었습니다 [SWS_Csm_01051].
동시성 및 제약사항
동시성 동작과 관련하여 Csm_RandomSeed은(는) reentrant로 구현되어 있으나, 동일한 keyId에 대해 동시에 호출되어서는 안 됩니다 [SWS_Csm_01051].
이 사용 지침은 AUTOSAR 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeyGenerate [SWS_Csm_00955] 📄 PDF
Std_ReturnType Csm_KeyGenerate (uint32 keyId);
Generates new key material and store it in the key identified by key Id.
동기식 함수 Csm_KeyGenerate은 새로운 암호화 키 매터리얼을 생성하는 역할을 하며 매개변수 keyId을 통해 지정된 키에 이를 직접 저장합니다 [SWS_Csm_00955]. 이 인터페이스는 헤더 파일 Csm.h을 통해 제공되며 서비스 ID 0x6a를 가집니다 [SWS_Csm_00955].
호출 시 애플리케이션은 매터리얼을 생성할 키의 식별자 keyId(타입 uint32)을 전달하며, 입력/출력 또는 순수 출력 매개변수는 존재하지 않습니다 [SWS_Csm_00955]. 작업 상태는 Std_ReturnType 타입의 반환값을 통해 동기식으로 보고됩니다 [SWS_Csm_00955]:
E_OK: 키 매터리얼의 생성 및 저장이 성공했습니다 [SWS_Csm_00955].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_00955].CRYPTO_E_BUSY: 담당 Crypto 드라이버 객체가 현재 사용 중이어서 실행에 실패했습니다 [SWS_Csm_00955].CRYPTO_E_KEY_NOT_VALID: 대상 키가 “invalid” 상태에 있으므로 요청이 거부되었습니다 [SWS_Csm_00955].CRYPTO_E_KEY_EMPTY: 초기화되지 않은 소스 키 요소로 인해 생성이 실패했습니다 [SWS_Csm_00955].
동시성과 관련하여 Csm_KeyGenerate은 재진입 가능하도록 설계되었으나, 동일한 keyId에 대해 동시에 호출되어서는 안 됩니다 [SWS_Csm_00955].
이 텍스트는 사양을 기반으로 AI에 의해 작성되었습니다.
함수 Csm_KeyDerive [SWS_Csm_00956] 📄 PDF
Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);
Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.
동기식 함수 Csm_KeyDerive은 지정된 원본 키에서 새로운 암호화 키를 파생하는 역할을 합니다 [SWS_Csm_00956]. 이 함수는 헤더 파일 Csm.h에 선언되어 있으며 서비스 ID 0x6b을 가집니다 [SWS_Csm_00956].
사용법 및 매개변수
이 동기식 호출은 두 개의 입력 매개변수를 처리합니다 [SWS_Csm_00956]:
keyId: 비밀번호 및 솔트용 키 요소를 포함하는 원본 키의 식별자 [SWS_Csm_00956].targetKeyId: 대상 키의 식별자이며, 파생된 키 매터리얼은 ID가 1인 키 요소에 저장됩니다 [SWS_Csm_00956].
반환값 및 오류 처리
반환값으로 함수는 Std_ReturnType 상태를 반환합니다 [SWS_Csm_00956]. 성공적인 실행 시 E_OK 및 일반적인 오류 시 E_NOT_OK 외에도 특정 암호화 오류가 정의되어 있습니다 [SWS_Csm_00956]:
CRYPTO_E_BUSY: Crypto 드라이버 객체가 사용 중(busy)입니다 [SWS_Csm_00956].CRYPTO_E_KEY_READ_FAIL: 키 요소를 읽는 것이 허용되지 않습니다 [SWS_Csm_00956].CRYPTO_E_KEY_WRITE_FAIL: 대상 키 요소에 쓰는 것이 허용되지 않습니다 [SWS_Csm_00956].CRYPTO_E_KEY_NOT_VALID: 키의 상태가 유효하지 않습니다 [SWS_Csm_00956].CRYPTO_E_KEY_SIZE_MISMATCH: 키 요소의 크기가 호환되지 않습니다 [SWS_Csm_00956].CRYPTO_E_KEY_EMPTY: 소스의 키 요소가 초기화되지 않았습니다 [SWS_Csm_00956].
동시성 및 상호 작용
이 함수는 재진입 가능하지만, 동일한 keyId에 대해서는 명시적으로 재진입할 수 없습니다 [SWS_Csm_00956]. CSM에서 오류가 발견되지 않으면 서비스는 실행을 CryIf_KeyDerive로 즉시 전달합니다 [SWS_Csm_01018].
이 텍스트는 AUTOSAR 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_KeyExchangeCalcPubVal [SWS_Csm_00966] 📄 PDF
Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.
동기식 인터페이스 Csm_KeyExchangeCalcPubVal(서비스 ID 0x6c, Csm.h를 통해 사용 가능)은 키 교환 프로토콜을 위한 현재 사용자의 공개 값을 계산하고, 포인터 publicValuePtr이 가리키는 메모리 주소에 공개 키를 저장합니다 [SWS_Csm_00966].
매개변수 및 버퍼 관리
이 함수는 세 개의 전달 매개변수를 처리합니다 [SWS_Csm_00966]:
keyId(입력): 키 교환 프로토콜에 사용할 키의 식별자를 포함합니다 [SWS_Csm_00966].publicValuePtr(출력): 결과 공개 키 값이 저장될 메모리 영역을 가리키는 포인터입니다 [SWS_Csm_00966].publicValueLengthPtr(입력/출력): 길이 정보를 가리키는 포인터입니다. 호출 시 이 매개변수는 버퍼publicValuePtr의 제공된 크기를 포함해야 하며, 실행이 완료된 후 계산된 값의 실제 길이가 여기에 저장됩니다 [SWS_Csm_00966].
오류 처리 및 반환값
실행 상태는 Std_ReturnType을 통해 보고됩니다 [SWS_Csm_00966]:
E_OK: 요청이 성공했습니다[SWS_Csm_00966].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_00966].CRYPTO_E_BUSY: Crypto 드라이버 객체가 사용 중이어서 요청이 실패했습니다 [SWS_Csm_00966].CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않아 요청이 실패했습니다 [SWS_Csm_00966].CRYPTO_E_KEY_EMPTY: 초기화되지 않은 소스 키 요소로 인해 요청이 실패했습니다 [SWS_Csm_00966].
동시성
이 함수는 재진입 가능하도록 설계되었으나 동일한 keyId에 대해 동시에 호출되어서는 안 됩니다 [SWS_Csm_00966].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
함수 Csm_KeyExchangeCalcSecret [SWS_Csm_00967] 📄 PDF
Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.
동기식 함수 Csm_KeyExchangeCalcSecret은 Crypto Service Manager에서 키 교환 프로토콜의 일환으로 공유 비밀 키(Shared Secret Key)를 계산하는 역할을 합니다 [SWS_Csm_00967]. 이때 keyId를 통해 참조된 키의 키 매터리얼이 통신 상대의 공개 값과 결합됩니다. 그런 다음 계산된 비밀 키는 동일한 키 내부의 키 요소로 직접 저장됩니다 [SWS_Csm_00967].
이 인터페이스는 헤더 Csm.h을 통해 제공되며 세 개의 입력 매개변수를 예상합니다 [SWS_Csm_00967]:
keyId: 프로토콜에 키 매터리얼이 사용될 키의 식별자입니다.partnerPublicValuePtr: 파트너의 공개 값을 포함하는 메모리 영역을 가리키는 포인터입니다.partnerPublicValueLength: 전달된 상대방 값의 바이트 단위 길이입니다.
이 호출은 Std_ReturnType 타입의 반환값으로 성공적인 실행 시 E_OK을, 일반적인 오류 시 E_NOT_OK를 반환합니다 [SWS_Csm_00967]. 특정 오류 사례는 상세한 상태 코드를 통해 신호됩니다: CRYPTO_E_BUSY는 기반 Crypto Driver 객체가 사용 중임을 나타냅니다. 키 상태가 유효하지 않은 경우 CRYPTO_E_KEY_NOT_VALID가 반환되며, CRYPTO_E_KEY_EMPTY은 초기화되지 않은 소스 키 요소를 나타냅니다 [SWS_Csm_00967].
동시성과 관련하여 이 함수는 재진입 가능하도록 설계되었으나, 동일한 keyId에 대해 동시에 호출되어서는 안 됩니다 [SWS_Csm_00967].
AUTOSAR CP R20-11 명세서를 기반으로 자동 생성된 사용 지침입니다.
함수 Csm_JobKeySetValid [SWS_Csm_91027] 📄 PDF
Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);
Stores the key if necessary and sets the key state of the key identified by key Id to valid.
사용
함수 Csm_JobKeySetValid은(는) 필요 시 키를 저장하고 keyId을(를) 통해 식별된 키의 키 상태를 유효함으로 설정합니다 [SWS_Csm_91027]. 이 인터페이스는 헤더 파일 Csm.h을(를) 통해 선언되며, 서명 Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId)을(를) 갖는 서비스 ID 0x7a을(를) 가집니다 [SWS_Csm_91027].
호출 시 uint32 타입의 입력 매개변수 두 개가 전달됩니다 [SWS_Csm_91027]:
jobId: CSM 서비스를 사용하는 작업(job)의 식별자를 보유합니다 [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]. 이 서비스는 서비스 ID 0x84을 가지며, 헤더 파일 Csm.h를 통해 사용할 수 있고 작업 구성에 따라 동기식 또는 비동기식으로 작동합니다 [SWS_Csm_91002].
호출을 위해 다음 매개변수가 전달됩니다 [SWS_Csm_91002]:
jobId: 이 서비스를 사용하는 CSM 작업의 식별자 [SWS_Csm_91002].keyId: 무효화할 키의 식별자 [SWS_Csm_91002].
오류 처리 및 반환값
Std_ReturnType 타입의 반환값은 요청 결과를 보고합니다 [SWS_Csm_91002]:
E_OK: 요청이 성공했습니다[SWS_Csm_91002].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_91002].CRYPTO_E_BUSY: 담당 Crypto Driver Object가 사용 중이어서 요청이 실패했습니다 [SWS_Csm_91002].
동시성
이 인터페이스는 재진입 가능으로 명시되어 있습니다 [SWS_Csm_91002]. 추가 입력 또는 출력 매개변수는 존재하지 않습니다 [SWS_Csm_91002].
이 텍스트는 사양을 기반으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_JobRandomSeed [SWS_Csm_91028] 📄 PDF
Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);
Provides a new seed for the specified key that is used for an associated random number generator.
사용법 및 호출 컨텍스트
함수 Csm_JobRandomSeed은 할당된 난수 생성기에 사용되는 지정된 키에 대해 새 시드를 제공하는 역할을 합니다 [SWS_Csm_91028]. 선언은 헤더 Csm.h에서 사용할 수 있습니다 [SWS_Csm_91028]. 이 함수는 서비스 ID 0x7b를 가지며 4개의 입력 매개변수를 처리합니다. 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]. 또한 오류 CRYPTO_E_KEY_NOT_VALID를 방지하기 위해 실행 전에 keyId을 통해 주소 지정된 키가 유효한지 확인해야 합니다 [SWS_Csm_91028].
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
함수 Csm_JobKeyGenerate [SWS_Csm_91029] 📄 PDF
Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);
Generates new key material and stores it in the key identified by key Id.
사용
함수 Csm_JobKeyGenerate은 새로운 키 재료를 생성하여 keyId을 통해 식별된 키에 저장합니다 [SWS_Csm_91029]. 매개변수 jobId을 통해 CSM 서비스를 사용하는 작업(Job)의 식별자가 전달됩니다 [SWS_Csm_91029]. 실행은 해당 작업의 구성에 따라 동기 또는 비동기적으로 수행됩니다 [SWS_Csm_91029]. 이 서비스는 서비스 ID 0x7c을 포함하여 헤더 파일 Csm.h을 통해 선언됩니다 [SWS_Csm_91029].
반환값 및 오류 처리
Std_ReturnType 유형의 반환값은 요청 결과에 대한 정보를 제공합니다 [SWS_Csm_91029]:
E_OK: 요청이 성공했습니다[SWS_Csm_91029].E_NOT_OK: 요청이 실패했습니다[SWS_Csm_91029].CRYPTO_E_BUSY: 서비스가 현재 여전히 사용 중입니다 [SWS_Csm_91029].CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않습니다(invalid) [SWS_Csm_91029].CRYPTO_E_KEY_EMPTY: 초기화되지 않은 소스 키 요소로 인해 요청이 실패했습니다 [SWS_Csm_91029].
동시성 및 제약사항
이 함수는 재진입 가능한 것으로 명시되어 있습니다 [SWS_Csm_91029]. 해석: 사양에 특정 실행 컨텍스트가 지정되어 있지 않으므로 일반적으로 태스크 컨텍스트에서 호출될 것으로 추정됩니다. 질문 Q-236d699ed655e285 (열림)
본 사용 지침은 AUTOSAR CP R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
함수 Csm_JobKeyDerive [SWS_Csm_91030] 📄 PDF
Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);
Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto
사용법 및 의미론
함수 Csm_JobKeyDerive은 keyId로 식별된 키의 비밀번호 및 솔트용 키 요소를 사용하여 새로운 암호화 키를 파생합니다 [SWS_Csm_91030]. 결과는 targetKeyId으로 정의된 대상 키의 ID 1인 키 요소에 저장됩니다 [SWS_Csm_91030]. 호출은 jobId을 통해 해당 작업을 전달하여 서비스 ID 0x7d과 함께 헤더 파일 Csm.h를 통해 수행됩니다 [SWS_Csm_91030].
처리는 전달된 작업의 구성에 따라 동기 또는 비동기적으로 수행됩니다 [SWS_Csm_91030]. 이 함수는 재진입 가능한 것으로 명시되어 있습니다 [SWS_Csm_91030].
오류 처리 및 반환값
반환값으로 이 함수는 Std_ReturnType 유형을 반환합니다. 요청의 성공적인 실행은 E_OK을 통해 확인됩니다 [SWS_Csm_91030]. 오류가 발생하거나 전제 조건이 충족되지 않는 경우 특정 반환값이 보고됩니다 [SWS_Csm_91030]:
E_NOT_OK: 요청이 실패했습니다[SWS_Csm_91030].CRYPTO_E_BUSY: 서비스가 현재 여전히 사용 중이므로 요청이 실패합니다 [SWS_Csm_91030].CRYPTO_E_KEY_READ_FAIL: 키 요소를 읽는 것이 허용되지 않습니다 [SWS_Csm_91030].CRYPTO_E_KEY_WRITE_FAIL: 대상 키 요소에 쓰는 것이 허용되지 않습니다 [SWS_Csm_91030].CRYPTO_E_KEY_NOT_VALID: 키의 상태가 유효하지 않습니다 [SWS_Csm_91030].CRYPTO_E_KEY_SIZE_MISMATCH: 관련된 키 요소 크기들이 서로 호환되지 않습니다 [SWS_Csm_91030].CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다 [SWS_Csm_91030].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
함수 Csm_JobKeyExchangeCalcPubVal [SWS_Csm_91031] 📄 PDF
Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
Calculates the public value of the current user for the key exchange and stores the
사용
함수 Csm_JobKeyExchangeCalcPubVal은 키 교환 프로토콜을 위한 현재 참여자의 공개 값을 계산하고 이를 지정된 대상 메모리에 저장합니다 [SWS_Csm_91031]. 할당된 작업의 구성에 따라 처리는 동기식 또는 비동기식으로 수행됩니다 [SWS_Csm_91031].
매개변수 전달은 다음 인터페이스 데이터를 통해 이루어집니다 [SWS_Csm_91031]:
jobId: 암호화 서비스를 사용하는 CSM 작업의 식별자입니다.keyId: 키 교환 프로토콜에 사용되는 키의 식별자입니다.publicValuePtr: 계산된 공개 키가 저장되는 버퍼 영역을 가리키는 포인터입니다.publicValueLengthPtr: 길이 정보를 가리키는 포인터입니다. 함수 호출 시 이 매개변수는 버퍼publicValuePtr의 용량을 포함해야 하며, 실행이 완료된 후 계산된 값의 실제 길이가 기록됩니다.
오류 처리
Std_ReturnType 타입의 반환값은 요청의 실행 상태에 대한 정보를 제공합니다 [SWS_Csm_91031]:
E_OK: 요청이 성공적으로 실행되었습니다.E_NOT_OK: 요청이 실패했습니다.CRYPTO_E_BUSY: 요청된 서비스가 현재 다른 작업에 사용 중입니다.CRYPTO_E_KEY_NOT_VALID: 키 상태가 유효하지 않습니다.CRYPTO_E_KEY_EMPTY: 소스 키 요소가 초기화되지 않았습니다.
동시성 및 통합
이 인터페이스는 재진입 가능으로 선언되어 있고 서비스 ID 0x7e을 가지며 헤더 파일 Csm.h을 통해 제공됩니다 [SWS_Csm_91031].
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
함수 Csm_JobKeyExchangeCalcSecret [SWS_Csm_91032] 📄 PDF
Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.
사용법 및 의미론
함수 Csm_JobKeyExchangeCalcSecret은 keyId을 통해 식별된 키의 키 자료와 통신 상대의 공개 키를 사용하여 키 교환을 위한 공유 비밀 키(Shared Secret Key)를 계산합니다 [SWS_Csm_91032]. 상대 키의 메모리 주소는 partnerPublicValuePtr을 통해 전달되고 바이트 단위의 길이는 partnerPublicValueLength를 통해 정의됩니다 [SWS_Csm_91032]. 계산된 공유 비밀은 동일한 키 내에 키 요소로 직접 저장됩니다 [SWS_Csm_91032].
입력 매개변수 jobId을 통해 사용하는 CSM 작업을 식별합니다. 실행 동작은 각 작업 구성에 따라 동기식 또는 비동기식입니다 [SWS_Csm_91032].
오류 처리 및 반환값
Std_ReturnType 타입의 반환값은 서비스 요청 상태를 보고합니다 [SWS_Csm_91032]:
E_OK: 서비스 요청이 성공했습니다 [SWS_Csm_91032].E_NOT_OK: 서비스 요청이 실패했습니다 [SWS_Csm_91032].CRYPTO_E_BUSY: 기본 서비스가 아직 사용 중이어서 요청이 실패합니다 [SWS_Csm_91032].CRYPTO_E_KEY_NOT_VALID: 참조된 키가 'invalid' 상태에 있으므로 요청이 실패합니다 [SWS_Csm_91032].CRYPTO_E_KEY_EMPTY: 필요한 소스 키 요소가 초기화되지 않아 계산에 실패합니다 [SWS_Csm_91032].
동시성 및 통합
이 함수는 재진입 가능하도록 설계되었으며, 서비스 ID 0x7f을 가지고 헤더 파일 Csm.h을 통해 선언됩니다 [SWS_Csm_91032].
이 텍스트는 AI에 의해 생성되었습니다. 공식 사양만이 기준이 됩니다.
함수 Csm_SaveContextJob [SWS_Csm_91063] 📄 PDF
Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);
The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.
함수 Csm_SaveContextJob은 Crypto Driver가 해당 암호화 작업의 내부 컨텍스트를 애플리케이션 측 버퍼에 저장하도록 지시합니다[SWS_Csm_91063]. 이 서비스는 헤더 파일 Csm.h에 선언되어 있으며 서비스 ID 0x86을 갖습니다[SWS_Csm_91063].
이 인터페이스는 다음 매개변수들을 요구합니다[SWS_Csm_91063]:
jobId(입력): CSM 서비스를 사용하는 작업의 고유 식별자를 지정합니다.contextBufferLengthPtr(입출력): 길이 값에 대한 포인터입니다. 호출 시 대상 버퍼에서 사용 가능한 최대 용량을 지정하며, 실행 후에는 실제로 기록된 데이터 길이를 포함하거나 오류 발생 시0값을 포함합니다.contextBufferPtr(출력): 컨텍스트 데이터가 기록될 애플리케이션의 메모리 영역에 대한 포인터입니다.
실행은 작업 구성에 따라 동기 또는 비동기로 수행됩니다[SWS_Csm_91063]. 또한 이 함수는 재진입 가능하도록 규정되어 있습니다[SWS_Csm_91063].
작업 상태의 피드백을 위해 다음과 같은 반환값이 정의되어 있습니다[SWS_Csm_91063]:
E_OK: 컨텍스트 데이터가 버퍼에 성공적으로 저장되었으며 길이 정보가 업데이트되었습니다.E_NOT_OK: 값이 유효하지 않아 컨텍스트 데이터를 제공할 수 없었습니다. 반환되는 길이는0로 설정됩니다.CRYPTO_E_BUSY: 기반이 되는 암호화 서비스가 아직 사용 중이어서 요청이 실패했습니다.
이 사용 지침은 사양 데이터를 기반으로 자동 생성되었습니다.
함수 Csm_RestoreContextJob [SWS_Csm_91064] 📄 PDF
Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);
The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.
사용법 및 의미론
함수 Csm_RestoreContextJob은 외부 버퍼로부터 암호화 작업의 내부 상태를 복원하여 후속 작업이 이전 저장 시점의 정확한 위치에서 계속되도록 하는 데 사용됩니다 [SWS_Csm_91064]. 매개변수 jobId를 통해 대상 작업이 지정되며, contextBufferPtr은 페이로드를 가리키고 contextBufferLength는 해당 바이트 크기를 가리킵니다 [SWS_Csm_91064]. 실행은 해당 작업의 구성에 따라 동기 또는 비동기적으로 수행됩니다 [SWS_Csm_91064].
반환값 및 오류 처리
이 함수는 Std_ReturnType 유형의 반환값을 통해 작업 결과를 반환합니다 [SWS_Csm_91064]:
E_OK: 컨텍스트 데이터를 성공적으로 읽어왔으며 내부 드라이버 상태가 복원되었습니다 [SWS_Csm_91064].E_NOT_OK: 컨텍스트 복원에 실패했습니다 [SWS_Csm_91064].CRYPTO_E_BUSY: 기본 암호화 서비스가 현재 사용 중이어서 요청이 거부되었습니다 [SWS_Csm_91064].
동시성 및 제약사항
이 인터페이스는 재진입 가능한 것으로 명시되어 있으며 Csm.h을 통해 제공됩니다(서비스 ID 0x87) [SWS_Csm_91064]. 해석: 작업이 비동기로 구성된 경우, 호출자는 복원이 실제로 완료될 때까지 contextBufferPtr의 버퍼가 변경되지 않고 유효하게 유지되도록 관리해야 할 것으로 추정됩니다. 질문 Q-8ab0cb179f807bd4 (열림)
이 텍스트는 AI에 의해 작성되었습니다. 이는 AUTOSAR 사양의 검토를 대체하지 않습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_CancelJob [SWS_Csm_00968] 📄 PDF
Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);
Cancels the job processing from asynchronous or streaming jobs .
사용법 및 호출 컨텍스트
함수 Csm_CancelJob(서비스 ID 0x6f)은(는) 모듈 Csm 내에서 비동기식 또는 스트리밍 작업 처리의 동기식 취소를 수행하는 역할을 합니다 [SWS_Csm_00968]. 이 인터페이스는 헤더 Csm.h을(를) 통해 제공됩니다 [SWS_Csm_00968]. 함수는 취소할 작업의 식별자를 job(유형 uint32)을 통해 전달받으며, 사용되지 않고 순전히 인터페이스 호환성만을 위한 매개변수 mode(유형 Crypto_OperationModeType)도 함께 전달받습니다 [SWS_Csm_00968].
반환값 및 취소 동작
취소 호출의 결과는 Std_ReturnType 유형의 반환값을 통해 동기식으로 전달됩니다 [SWS_Csm_00968]:
E_OK: 취소가 즉시 성공적으로 이루어졌으며, 해당 작업이 모든 대기열 및 잠재적으로 암호화 드라이버 하드웨어에서 직접 제거되었습니다 [SWS_Csm_00968].E_NOT_OK: 취소 요청이 실패했습니다 [SWS_Csm_00968].CRYPTO_E_JOB_CANCELED: 즉각적인 취소가 불가능했습니다. 취소는 다음 적절한 처리 단계에서 수행되며, 이후 작업의 부정 완료 콜백을 통해 전달됩니다 [SWS_Csm_00968].
동시성 및 제약사항
명세에서는 Csm_CancelJob을(를) 동기식 및 재진입 불가(Non Reentrant)로 정의합니다 [SWS_Csm_00968]. 따라서 호출 컴포넌트는 함수에 대한 동시 호출이 발생하지 않도록 해야 합니다.
이 사용 지침은 자동으로 생성되었으며, AUTOSAR Classic Release R20-11의 명세 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_CallbackNotification [SWS_Csm_00970] 📄 PDF
void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).
동기 인터페이스 Csm_CallbackNotification은 헤더 파일 Csm.h을 통해 선언되며, 암호화 작업 완료를 Crypto Service Manager(CSM)에 알리기 위한 하위 계층(CRYIF)의 피드백 함수 역할을 합니다 [SWS_Csm_00970]. 이 함수는 반환값이 없으며 두 개의 입력 매개변수를 받습니다: Crypto_JobType* 타입의 완료된 작업에 대한 포인터 job 및 기본 암호화 작업의 실행 결과를 전달하는 Crypto_ResultType 타입의 result [SWS_Csm_00970].
동시성과 관련하여 Csm_CallbackNotification의 실행은 재진입 가능하도록 명시되어 있습니다 [SWS_Csm_00970]. 특정 반환 코드나 별도의 DET 또는 DEM 오류 메시지는 해당 요소에 정의되어 있지 않으며, 암호화 처리의 오류 상태 및 실행 결과는 대신 전달된 인자 result를 통해 직접 제공됩니다 [SWS_Csm_00970].
상호작용의 일환으로 이 함수는 작업의 처리 모드를 확인합니다: job->jobPrimitiveInputOutput.mode 필드에 CRYPTO_OPERATIONMODE_FINISH 비트가 설정된 경우 사양은 Csm_CallbackNotification에 구성된 콜백 함수를 호출하도록 규정합니다 [SWS_Csm_01044]. 해석: FINISH 플래그가 암호화 작업 시퀀스의 최종 완료를 알리므로, 이 호출은 상위 애플리케이션 계층에 대한 알림일 것으로 추정됩니다. 질문 Q-32da2433b15ba3a9 (열림)
본 사용 지침은 AUTOSAR CP R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 Csm_MainFunction [SWS_Csm_00479] 📄 PDF
void Csm_MainFunction (void);
API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_
사용
함수 Csm_MainFunction은 요청된 암호화 작업을 처리하기 위해 주기적으로 호출됩니다 [SWS_Csm_00479]. 이 함수는 전달 매개변수가 없으며(void), 반환값을 반환하지 않습니다 [SWS_Csm_00479]. 선언은 헤더 SchM_Csm.h를 통해 제공됩니다 [SWS_Csm_00479].
역할 및 상호작용
주기적 실행의 일환으로 이 함수는 내부 대기열에서 보류 중인 작업을 확인하고 이를 하위 계층인 CRYIF로 전달합니다 [SWS_Csm_00479].
인스턴스화 및 호출 컨텍스트
구성된 인스턴스마다 Csm_MainFunction_<shortName> 형태의 전용 함수가 구현되며, 여기서 <shortName>은 ECU 구성의 구성 컨테이너 단축 이름에 해당합니다 [SWS_Csm_00479]. 이 인터페이스는 SchM_Csm.h을 통해 제공되므로 주기적 호출은 정기 태스크에서 BSW 스케줄러(SchM)에 의해 계획대로 수행될 것으로 보입니다. 질문 Q-ffb62942b1f517b3 (열림)
오류 처리 및 제약 조건
특정 오류 코드, DET 또는 DEM 보고 및 명시적인 재진입 요구사항은 본 사양 발췌본에 설명되어 있지 않습니다 [SWS_Csm_00479].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
함수 <Csm_ApplicationCallbackNotification> [SWS_Csm_00971] 📄 PDF
void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);
CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".
구성 가능한 콜백 함수 <Csm_ Application Callback Notification>은 Crypto Service Manager(CSM)가 처리 작업의 종료를 애플리케이션에 동기식으로 알리는 역할을 합니다 [SWS_Csm_00971]. 함수의 식별자는 고정되어 있지 않으며 구성 매개변수 {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func를 통해 프로젝트별로 정의됩니다 [SWS_Csm_00971]. 이 인터페이스는 서비스 ID 0x82를 가지며 헤더 파일 Csm.h를 통해 제공됩니다 [SWS_Csm_00971].
시그니처에는 반환값이 없으며(void) 평가를 위해 애플리케이션에 두 개의 입력 매개변수를 전달합니다 [SWS_Csm_00971]:
jobId(uint32): 콜백을 트리거한 암호화 작업의 고유 ID를 지정합니다 [SWS_Csm_00971].result(Crypto_ResultType): 실행된 암호화 작업의 결과 또는 상태를 전달합니다 [SWS_Csm_00971].
동시성과 관련하여 알림 함수는 재진입 가능하도록 명시되어 있습니다 [SWS_Csm_00971]. 콜백 자체에 대해 특정 DET 또는 DEM 오류 코드는 정의되지 않으며, 이전 작업에서 발생한 오류는 result을 통해 직접 평가해야 합니다 [SWS_Csm_00971]. 인터페이스가 재진입 가능으로 선언되어 있으므로 애플리케이션 측 구현은 서로 다른 작업에 대한 동시 알림을 스레드 안전하게 처리할 수 있도록 설계되어야 할 것으로 보입니다. 질문 Q-79504ea3461f8d61 (열림)
이 텍스트는 AUTOSAR 명세를 바탕으로 자동으로 생성되었습니다.
타입 Csm_ConfigType [SWS_Csm_01085] 📄 PDF
Configuration data structure of Csm module
타입 Crypto_AlgorithmFamilyType [SWS_Csm_01047] 📄 PDF
Type Crypto_AlgorithmFamilyType.
타입 Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF
Type Crypto_AlgorithmModeType.
열거형 Crypto_AlgorithmModeType은(는) [SWS_Csm_01048]에 따라 암호화 알고리즘의 작동 모드를 지정합니다. 이 타입은 헤더 파일 Crypto_GeneralTypes.h을(를) 통해 사용할 수 있으며, Crypto Service Manager에서 암호화 방식의 표준화된 구성 및 런타임 선택에 사용됩니다.
사용법 및 값 범위:
- 클래식 블록 암호 모드: 무엇보다도
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을 통한 자체 오류 처리를 보유하지 않으며 재진입성 규정의 적용을 받지 않습니다. 질문 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 (열림)
이 텍스트는 AI에 의해 작성되었습니다. 모든 정보는 오직 AUTOSAR R20-11 명세만을 기반으로 합니다.
타입 Crypto_JobStateType [SWS_Csm_01028] 📄 PDF
Enumeration of the current job state.
열거형 타입 Crypto_JobStateType은 CSM에서 암호화 작업의 현재 처리 상태를 정의합니다 [SWS_Csm_01028]. 이는 헤더 파일 Crypto_GeneralTypes.h를 통해 제공되며 작업 수명 주기의 두 가지 주요 상태를 구분합니다 [SWS_Csm_01028]:
CRYPTO_JOBSTATE_IDLE(0x00): 작업의 유휴 상태를 나타냅니다. 이 상태는Csm_Init()호출 후 초기에 시작되거나 완료 작업(“Finish” 상태)이 완료되는 즉시 시작됩니다 [SWS_Csm_01028].CRYPTO_JOBSTATE_ACTIVE(0x01): 작업이 활발히 처리 중이며 이미 입력 데이터가 처리되었거나 중간 결과가 있음을 나타냅니다. 이 상태는 시작 또는 업데이트 작업이 성공적으로 완료되는 즉시 도달합니다 [SWS_Csm_01028].
사용 및 상호 작용과 관련하여 이 타입은 스트리밍 또는 다단계 암호화 작업의 진행 상황을 반영합니다 [SWS_Csm_01028]. CRYPTO_JOBSTATE_ACTIVE로의 전환은 암호화 컨텍스트가 초기화되었거나 지속적으로 중간 결과를 보유하고 있음을 나타내며, CRYPTO_JOBSTATE_IDLE로의 전환은 종료를 표시하고 해당 작업이 새 프로세스를 위해 준비되었음을 나타냅니다 [SWS_Csm_01028].
이 텍스트는 AI에 의해 작성되었습니다. 이는 CSM 모듈(R20-11)의 명세서 데이터에만 전적으로 기반합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Crypto_JobPrimitiveInputOutputType [SWS_Csm_01009] 📄 PDF
Type Crypto_JobPrimitiveInputOutputType.
타입 Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
데이터 구조체 Crypto_JobPrimitiveInfoType은 암호화 작업 및 기본 프리미티브에 대한 추가 정보를 번들링합니다 [SWS_Csm_01012]. 이 구조체는 Classic AUTOSAR 스택에서 헤더 파일 Crypto_GeneralTypes.h를 통해 제공됩니다 [SWS_Csm_01012].
구성 요소 및 사용법
사양 [SWS_Csm_01012]에 따르면 이 구조체는 다음 필드들로 구성됩니다:
callbackId(uint32): 구성된 서비스의 실행이 완료되는 즉시 CSM 모듈에 의해 호출되는 콜백 함수의 내부 식별자[SWS_Csm_01012]입니다.primitiveInfo(const Crypto_PrimitiveInfoType*): 암호화 원시(primitive)의 추가 구성을 포함하는 데이터 구조체에 대한 포인터[SWS_Csm_01012]입니다.cryIfKeyId(uint32): 암호화 인터페이스(CryIf)용 키의 식별자[SWS_Csm_01012]입니다.processingType(Crypto_ProcessingType): 실행 동작을 정의하며 작업이 동기식으로 처리되는지 비동기식으로 처리되는지 결정합니다[SWS_Csm_01012].
실행 컨텍스트 및 시맨틱
processingType 필드는 작업 처리의 동기 또는 비동기 시맨틱을 제어합니다[SWS_Csm_01012]. callbackId를 통해 등록된 콜백 함수는 호출자에게 서비스 종료를 알리기 위해 주로 비동기 모드에서 관련이 있을 것으로 보이며, 포인터 primitiveInfo은 유효한 원시 구성을 가리켜야 합니다[SWS_Csm_01012]. 질문 Q-791dae4fb6a83f99 (열림)
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
타입 Crypto_ServiceInfoType [SWS_Csm_01031] 📄 PDF
Enumeration of the kind of the service.
타입 Crypto_JobRedirectionInfoType [SWS_Csm_91026] 📄 PDF
Type Crypto_JobRedirectionInfoType.
타입 Crypto_AlgorithmInfoType [SWS_Csm_01008] 📄 PDF
Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.
사용
데이터 구조 Crypto_AlgorithmInfoType은 암호화 알고리즘의 정확한 구성을 결정하며 헤더 파일 Crypto_GeneralTypes.h을 통해 제공됩니다 [SWS_Csm_01008]. 이는 다음 요소들로 구성됩니다:
family(Crypto_AlgorithmFamilyType): 알고리즘의 기본 패밀리.secondaryFamily(Crypto_AlgorithmFamilyType): 알고리즘의 보조 패밀리.keyLength(uint32): 비트 단위로 사용할 키 길이.mode(Crypto_AlgorithmModeType): 알고리즘의 의도된 작동 모드.
모든 알고리즘이 구조체의 모든 요소를 채워야 하는 것은 아닙니다 [SWS_Csm_01008]. 암호화 작업의 종류에 따라 작동 모드나 보조 패밀리와 같은 개별 필드는 사용되지 않은 채로 유지될 수 있습니다.
제약 사항 및 오류 처리
[SWS_Csm_01008]에 따르면 AUTOSAR에서는 구조체 요소의 유효한 조합만 나타날 수 있습니다. 일치하지 않는 작동 모드나 특정 알고리즘 패밀리에 허용되지 않는 키 길이와 같은 잘못된 조합은 허용되지 않습니다. 매개변수 조합의 유효성 검사는 구성 도구에 의해 또는 서비스 호출 시 CSM에 의해 수행될 것으로 보입니다. 질문 Q-da4984170bba173c (열림)
이 텍스트는 AI에 의해 작성되고 큐레이션되었습니다.
타입 Crypto_ProcessingType [SWS_Csm_01049] 📄 PDF
Enumeration of the processing type.
타입 Crypto_PrimitiveInfoType [SWS_Csm_01011] 📄 PDF
Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager
구조체 Crypto_PrimitiveInfoType은 Crypto Service Manager(CSM)에서 암호화 프리미티브([SWS_Csm_01011])에 대한 기본 메타데이터를 제공하는 역할을 합니다. 이는 헤더 파일 Crypto_GeneralTypes.h를 통해 선언되며 각 작업의 정적 특성을 묶어 제공합니다([SWS_Csm_01011]).
이 구조체는 두 가지 요소로 구성됩니다([SWS_Csm_01011]):
service(타입:const Crypto_ServiceInfoType): 열거형을 통해 사용되는 암호화 서비스(예: 암호화(Encrypt))를 지정합니다([SWS_Csm_01011]).algorithm(타입:const Crypto_AlgorithmInfoType): 사용된 알고리즘에 대한 세부 정보를 포함합니다([SWS_Csm_01011]).
두 요소 모두 const으로 타입화되어 있으므로, 구성 시점에 정의되고 런타임에 드라이버나 CSM에 의해 순수 읽기 전용으로 평가되는 읽기 전용 구성 또는 메타데이터일 것으로 보입니다([SWS_Csm_01011]). 질문 Q-6d53291f7fb8cfe6 (열림) 이 데이터 구조 타입에 대해 특정 오류 코드, 오류 처리 루틴 또는 동시성 제한은 정의되어 있지 않습니다.
이 텍스트는 AI에 의해 생성되었습니다. 안전 관련 세부 사항은 명세서를 참조하여 확인하십시오.
타입 Csm_ConfigIdType [SWS_Csm_00691] 📄 PDF
Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_
타입 Crypto_OperationModeType [SWS_Csm_01029] 📄 PDF
Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".
열거형 Crypto_OperationModeType은 [SWS_Csm_01029]에 따라 암호화 작업 시 수행할 처리 단계를 정의합니다. 이 타입은 비트 마스크로 구성되며, 첫 세 비트는 핵심 단계인 Start(비트 1 / 0x01), Update(비트 2 / 0x02) 및 Finish(비트 3 / 0x04)를 나타냅니다.
열거형 값을 통해 암호화 작업(Job)의 다양한 실행 및 수명 주기 단계가 제어됩니다[SWS_Csm_01029]:
CRYPTO_OPERATIONMODE_START(0x01): 작업을 초기화합니다. 상태가 초기화되어 이전 입력 데이터와 중간 결과가 삭제됩니다.CRYPTO_OPERATIONMODE_UPDATE(0x02): 중간 결과 계산을 위해 입력 데이터를 처리합니다.CRYPTO_OPERATIONMODE_FINISH(0x04): 암호화 작업의 계산을 최종적으로 완료합니다.CRYPTO_OPERATIONMODE_STREAMSTART(0x03): 스트리밍 시나리오를 위해 Start와 Update를 결합합니다.CRYPTO_OPERATIONMODE_SINGLECALL(0x07): 단일 호출에서의 완전한 처리를 위해 Start, Update 및 Finish를 결합합니다.
또한 이 타입은 중단 가능한 프로세스에서 워크스페이스 관리를 지원합니다. 암호화 드라이버는 CRYPTO_OPERATIONMODE_SAVE_CONTEXT(0x08)을 통해 애플리케이션의 현재 워크스페이스 컨텍스트를 제공하는 반면, CRYPTO_OPERATIONMODE_RESTORE_CONTEXT(0x10)는 이전에 저장된 상태를 드라이버의 내부 워크스페이스에 복원합니다[SWS_Csm_01029]. 이 타입은 헤더 Rte_Csm_Type.h를 통해 제공됩니다.
이 사용 지침은 자동으로 생성되었으며 [SWS_Csm_01029]의 정보만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Crypto_VerifyResultType [SWS_Csm_01024] 📄 PDF
Enumeration of the result type of verification operations.
열거형 타입 Crypto_VerifyResultType은 CSM 모듈에서 검증 작업의 기능적 결과를 정의합니다 [SWS_Csm_01024]. 이는 헤더 파일 Rte_Csm_Type.h를 통해 제공되며 암호화 비교가 성공적으로 완료되었는지 여부를 결정하는 데 사용됩니다 [SWS_Csm_01024].
값 범위 및 시맨틱
열거형은 비교 상태를 나타내기 위해 [SWS_Csm_01024]에 따라 두 가지 개별 값을 포함합니다:
CRYPTO_E_VER_OK(값0x00또는0): 검증 결과는 “true”이며, 따라서 비교된 두 요소가 동일합니다 [SWS_Csm_01024].CRYPTO_E_VER_NOT_OK(값0x01또는1): 검증 결과는 “false”이며, 비교된 요소가 동일하지 않습니다 [SWS_Csm_01024].
이 타입은 데이터 일치에 대한 기능적 설명과 작업의 일반적인 실행 상태를 분리합니다. 해석하자면, 이는 데이터가 서로 다를 경우 오류 없이 실행된 검사 루틴이라도 반환값 CRYPTO_E_VER_NOT_OK을 반환할 수 있음을 의미합니다 [SWS_Csm_01024].
사용 및 제한사항
데이터 타입이 Rte_Csm_Type.h을 통해 선언되므로 주로 CSM 검증 서비스의 출력 매개변수로 사용될 것으로 보입니다 [SWS_Csm_01024]. 질문 Q-067a1d2b36ffe56b (열림) DET 또는 DEM 메시지와 같은 특정 오류 처리나 재진입성 또는 동시성에 대한 규정은 타입 자체에 정의되어 있지 않습니다 [SWS_Csm_01024].
이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 공식 AUTOSAR 명세서가 기준이 됩니다.
타입 Csm_KeyDataType [SWS_Csm_00828] 📄 PDF
Array long enough to store any key element of the considered key
타입 Crypto_ResultType [SWS_Csm_91044] 📄 PDF
Return for Std_ Return Type for Cryptostack.
열거형 Crypto_ResultType은 AUTOSAR 암호화 스택 함수의 전용 반환 유형 역할을 하며 헤더 Rte_Csm_Type.h을 통해 제공됩니다 [SWS_Csm_91044]. 이는 암호화 작업에 대한 세분화된 오류 및 상태 메시지로 전통적인 반환 방식을 확장합니다 [SWS_Csm_91044].
일반적인 성공 상태 E_OK(0x00) 및 일반 오류 E_NOT_OK(0x01) 외에도, 이 유형은 다음과 같은 특정 오류 상태를 정의합니다 [SWS_Csm_91044]:
- 실행 및 리소스 상태:
CRYPTO_E_BUSY(0x02)은 아직 사용 중인 서비스를 나타내고,CRYPTO_E_JOB_CANCELED(0x0C)은 작업 취소를 나타내며,CRYPTO_E_ENTROPY_EXHAUSTED(0x04)는 난수 생성기의 엔트로피 소스가 고갈되었음을 나타냅니다 [SWS_Csm_91044]. - 키 및 접근 문제: 읽기(
CRYPTO_E_KEY_READ_FAIL, 0x06) 또는 쓰기(CRYPTO_E_KEY_WRITE_FAIL, 0x07) 시의 접근 거부, 누락된 키(CRYPTO_E_KEY_NOT_AVAILABLE, 0x08), 유효하지 않은 키(CRYPTO_E_KEY_NOT_VALID, 0x09), 올바르지 않은 키 크기(CRYPTO_E_KEY_SIZE_MISMATCH, 0x0A), 그리고 초기화되지 않은 소스 키 요소(CRYPTO_E_KEY_EMPTY, 0x0D)가 명시되어 있습니다 [SWS_Csm_91044].
해석: 호출하는 컴포넌트는 상황에 따라 일시적인 대기 상태와 영구적인 구성 오류를 구분하기 위해 이러한 반환 코드를 평가할 것으로 추정됩니다. 질문 Q-68cfedad7880908c (열림)
이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 AI에 의해 생성되었습니다.
타입 Csm_HashDataType [SWS_Csm_01920] 📄 PDF
Array long enough to store the data which shall be hashed.
Csm_HashDataType의 사용 및 구조
데이터 타입 Csm_HashDataType은(는) [SWS_Csm_01920]에 따라 기본 타입 uint8의 엘리먼트를 갖는 배열로 정의됩니다. 이는 Crypto Service Manager에서 해시값 계산을 거칠 입력 데이터를 저장하기 위한 데이터 버퍼 역할을 합니다. 필드 길이는 해시 처리할 데이터를 온전히 수신하기에 충분하도록 설계되어 있습니다 [SWS_Csm_01920].
구성 및 변형 생성
배열의 실제 크기는 Csm/CsmPrimitives/CsmHash/CsmHashConfig 경로 아래에 정의된 구성 매개변수 CsmHashDataMaxLength을(를) 통해 제어됩니다 [SWS_Csm_01920]. 이를 통해 메모리 영역이 각 해시 구성의 최대 예상 데이터양에 맞게 설계되도록 보장합니다.
또한 Csm_HashDataType_{Crypto} 패턴에 따른 암호화 변형 생성이 존재하며, 여기서 플레이스홀더 {Crypto}은(는) Csm/CsmPrimitives 아래의 각 프리미티브 구성의 SHORT-NAME을(를) 통해 확인됩니다 [SWS_Csm_01920]. 이를 통해 시스템에서 프리미티브 고유의 버퍼 구조가 가능해집니다.
통합 및 경계 조건
이 타입은 헤더 Rte_Csm_Type.h을(를) 통해 제공됩니다 [SWS_Csm_01920]. 이는 이 타입이 소프트웨어 컴포넌트와 CSM 간의 RTE 인터페이스를 통한 표준화된 데이터 전달을 위해 의도되었음을 의미하는 것으로 보입니다. 질문 Q-4240a8394cdd746d (열림) 사용자는 버퍼 할당 시 해시 계산에서의 오버플로를 방지하기 위해 데이터가 구성된 상한 CsmHashDataMaxLength을(를) 초과하지 않도록 유의해야 합니다.
이 텍스트는 AI에 의해 작성되었으며 R20-11 사양 버전을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_HashResultType [SWS_Csm_00912] 📄 PDF
Array long enough to store the data of the hash.
Csm_HashResultType의 사용 및 구조
데이터 타입 Csm_HashResultType은 uint8 요소의 배열을 나타내며, 해시 결과의 데이터를 저장하기에 충분한 크기의 메모리 영역 역할을 합니다 [SWS_Csm_00912].
배열의 구체적인 버퍼 길이는 구성 가능하며 Csm/CsmPrimitives/CsmHash/CsmHashConfig/CsmHashResultLength의 구성 매개변수 CsmHashResultLength을 통해 정의됩니다 [SWS_Csm_00912]. 따라서 데이터 타입의 크기는 해당 암호화 해시 알고리즘의 출력 길이에 직접적으로 좌우됩니다.
타입 정의는 Csm_HashResultType_{Crypto} 패턴에 따른 이름 변경 규칙의 적용을 받으며, 여기서 식별자 {Crypto}은 구성된 프리미티브의 짧은 이름(ecuc/Csm/CsmPrimitives.SHORT-NAME)으로 대체됩니다 [SWS_Csm_00912].
데이터 타입은 헤더 Rte_Csm_Type.h을 통해 사용할 수 있도록 제공됩니다 [SWS_Csm_00912]. 해석: Rte_Csm_Type.h를 통해 제공되므로 이 타입은 주로 소프트웨어 컴포넌트 내에서 또는 RTE 인터페이스에서 해시 반환값을 위한 타입화된 결과 버퍼로 사용되도록 의도되었을 가능성이 높습니다. 질문 Q-4ff10e08b6a5c8c0 (열림)
이 텍스트는 사양 데이터를 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF
Array long enough to store the data from which a MAC shall be generated.
데이터 타입 Csm_MacGenerateDataType은 메시지 인증 코드(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]. 호출하는 소프트웨어 컴포넌트(SWC) 또는 기본 소프트웨어 모듈은 이 타입을 사용하여 CSM의 MAC 생성 서비스를 위한 타입화된 데이터 버퍼를 선언할 수 있습니다.
제한
필드 크기가 최대 길이를 통해 고정 구성되므로, 정적 타입이 동적 길이 조정을 제공하지 않기 때문에 페이로드 데이터가 이 제한을 초과하지 않도록 사용자 수준에서 확인해야 할 것으로 추정됩니다 [SWS_Csm_00935]. 질문 Q-2010ffc7191f874a (열림)
이 사용 지침은 자동으로 생성되었으며 AUTOSAR 버전 R20-11의 사양 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_MacGenerateResultType [SWS_Csm_00927] 📄 PDF
Array long enough to store the data of the MAC.
데이터 타입 Csm_MacGenerateResultType은 [SWS_Csm_00927]에 따라 생성된 메시지 인증 코드(MAC)의 결과 데이터를 수용하는 데 사용되는 바이트 배열(요소 타입 uint8)을 나타냅니다.
사용 및 크기 지정
사양에서는 배열이 MAC 데이터를 저장하기에 충분한 길이를 갖도록 정의합니다([SWS_Csm_00927]). 실제 버퍼 크기는 경로 Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig 아래에 구성되는 구성 매개변수 CsmMacGenerateResultLength을(를) 통해 결정됩니다([SWS_Csm_00927]). 또한 이 타입은 [SWS_Csm_00927]에 따라 프리미티브의 단축 이름({Crypto} 또는 ecuc/Csm/CsmPrimitives.SHORT-NAME)을 통한 암호화 변형의 적용을 받습니다.
가용성 및 인터페이스
이 타입은 헤더 Rte_Csm_Type.h을 통해 제공됩니다([SWS_Csm_00927]). 이는 계산된 MAC 값을 제공하기 위해 주로 RTE 인터페이스를 통한 타입화된 데이터 전달용으로 설계되었음을 보여줍니다.
제한
정적 타입 정의이므로 구체적인 인스턴스화는 MAC 길이의 사전 구성에 따라 달라집니다. 추가 매개변수, 오류 코드 또는 동시성 요구사항은 이 데이터 타입 자체에 명시되어 있지 않습니다([SWS_Csm_00927]).
이 텍스트는 AI에 의해 생성되었으며 AUTOSAR 사양을 기반으로 한 참고용으로 제공됩니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF
Array long enough to store the data for whichs MAC shall be verified.
데이터 타입 Csm_MacVerifyDataType은 uint8 요소의 배열로 지정되며 Message Authentication Code(MAC)를 검증할 데이터를 저장하기 위한 버퍼 역할을 합니다[SWS_Csm_00802].
이 타입의 사용 및 구성에는 다음 규칙이 적용됩니다:
- 버퍼 크기: 배열 크기는 컨테이너
Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig의 구성 매개변수CsmMacVerifyDataMaxLength에 따라 결정됩니다. 이를 통해 검증할 입력 데이터를 완전히 수용할 수 있도록 배열이 충분한 크기로 지정됩니다[SWS_Csm_00802]. - 가변성 및 명명: 정의에는 가변성 기준인
Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}이 포함되어 있어 구체적인 C 타입 식별자가 모듈별로Csm_MacVerifyDataType_{Crypto}형태로 생성됩니다 [SWS_Csm_00802]. - 인터페이스 통합: 해당 타입은 헤더 파일
Rte_Csm_Type.h을 통해 내보내집니다 [SWS_Csm_00802]. 해석: 이 헤더에서 제공된다는 점으로 미루어 볼 때, 이 타입은 주로 소프트웨어 컴포넌트와 CSM 간의 RTE 기반 인터페이스 통신을 위해 지정되었을 가능성이 높습니다. 질문 Q-c49670b3de0ba19c (열림)
애플리케이션 개발자는 검증 가능한 페이로드의 최대 길이가 프리미티브의 정적 구성에 의해 제한되며 입력 데이터가 이 버퍼 용량을 초과해서는 안 된다는 점에 유의해야 합니다 [SWS_Csm_00802].
이 텍스트는 AUTOSAR R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF
Array long enough to store a MAC to be verified.
사용법 및 구조
Csm_MacVerifyCompareType 타입은 [SWS_Csm_00803]에 따라 uint8 요소의 배열로 정의됩니다. 이는 암호화 작업의 일환으로 계산된 MAC과 비교할 대상인, 검증할 Message Authentication Code(MAC)를 저장하는 역할을 합니다.
해당 타입은 RTE 인터페이스를 위한 헤더 Rte_Csm_Type.h을 통해 제공됩니다 [SWS_Csm_00803]. 구체적인 타입 명칭은 Csm_MacVerifyCompareType_{Crypto} 패턴에 따른 프리미티브 이름을 통한 이름 변경 규칙의 적용을 받으며, 여기서 {Crypto}은 프리미티브의 짧은 이름(ecuc/Csm/CsmPrimitives.SHORT-NAME)으로 대체됩니다.
구성 및 크기 결정
배열의 크기는 [SWS_Csm_00803]에 따라 구성(ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength))의 표현식 CsmMacVerifyCompareLength/8에 의해 결정됩니다. 이는 MAC 비교 값의 바이트 단위 길이를 반영합니다.
오류 처리 및 제약 조건
데이터 배열을 위한 순수 타입 정의로서 Csm_MacVerifyCompareType은 자체 반환값을 가지지 않으며 직접적인 오류 코드나 DET/DEM 이벤트를 생성하지 않습니다. 그러나 다음과 같은 애플리케이션 관련 제약 조건이 적용됩니다:
- 버퍼 제공: 호출자는 검증 함수에 전달하기 전에 수신된 참조 MAC으로 배열을 완전히 초기화할 책임이 있을 것으로 보입니다. 질문 Q-94b98958fd778057 (열림)
- 동시성: 데이터 구조이므로 타입 자체는 재진입 가능(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}은(는) 구성된 CSM 프리미티브의 단축 이름(SHORT-NAME)에 해당합니다 [SWS_Csm_01921].
사용 및 제한사항
순수 타입 정의로서 이 엘리먼트는 자체적인 재진입성이나 오류 처리를 갖지 않습니다. 배열 크기가 구성의 최대 버퍼 크기에 고정 결합되어 있으므로, 해석상 호출자는 데이터를 채울 때 제공된 데이터가 버퍼 한계 CsmEncryptDataMaxLength을(를) 초과하지 않도록 주의해야 할 것으로 보입니다 [SWS_Csm_01921]. 질문 Q-4bf70d603b5679d3 (열림)
이 텍스트는 AUTOSAR R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_EncryptResultType [SWS_Csm_01922] 📄 PDF
Array long enough to store the data of the cipher.
용도 및 목적
데이터 타입 Csm_EncryptResultType은(는) 엘리먼트 타입 uint8을(를) 갖는 바이트 배열로 지정되며, 암호화 과정의 암호 데이터(Cipher 결과)를 수신하는 역할을 합니다([SWS_Csm_01922]). 사양에 따르면 배열은 암호문의 모든 데이터를 수신할 수 있을 만큼 충분히 길게 설계되어야 합니다([SWS_Csm_01922]).
구성 및 변형
데이터 타입의 정의는 구성된 암호화 프리미티브에 따른 변형 생성을 따릅니다. 각 프리미티브에 대해 Csm_EncryptResultType_{Crypto} 체계에 따라 타입 고유의 식별자가 생성되며, 여기서 {Crypto}은(는) 각 프리미티브의 단축 이름에 해당합니다([SWS_Csm_01922]). 배열의 정적 필드 크기는 Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ 아래의 구성 매개변수 CsmEncryptResultMaxLength을(를) 통해 결정됩니다([SWS_Csm_01922]).
통합 및 경계 조건
이 데이터 타입은 헤더 파일 Rte_Csm_Type.h을 통해 내보내집니다([SWS_Csm_01922]). 해석: Rte_Csm_Type.h를 통해 제공되므로, 이 타입은 RTE 포트를 통해 애플리케이션 소프트웨어 컴포넌트와 Crypto Service Manager 간의 표준화된 데이터 전달을 위해 설계되었을 것으로 추정됩니다. 질문 Q-6dc06520e3fd9dc6 (열림) 사용자는 버퍼를 제공할 때 암호화 결과가 구성된 최대 길이 CsmEncryptResultMaxLength을 초과하지 않도록 해야 합니다([SWS_Csm_01922]).
이 사용 지침은 AUTOSAR R20-11 명세를 기반으로 자동 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_DecryptDataType [SWS_Csm_01923] 📄 PDF
Array long enough to store the data to be decrypted.
사용 및 데이터 구조
Csm_DecryptDataType 타입은 Crypto Service Manager 사양에서 기본 타입 uint8의 요소를 갖는 배열로 정의됩니다 [SWS_Csm_01923]. 복호화할 입력 데이터를 위한 전용 메모리 버퍼 역할을 합니다 [SWS_Csm_01923]. 배열의 설계는 해당 데이터를 완전히 수용할 수 있도록 용량이 항상 충분히 길어야 한다고 구속력 있게 규정되어 있습니다 [SWS_Csm_01923].
구성 및 변형 생성
배열의 크기 설정은 구성 매개변수 ecuc(Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptDataMaxLength)을 통해 정적으로 수행됩니다 [SWS_Csm_01923]. 또한 이 데이터 타입은 Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}에 따른 암호화 변형의 영향을 받습니다 [SWS_Csm_01923]. 이에 따라 구체적인 프리미티브 구성에 대한 타입 식별자는 해당 단축 이름을 포함하여 Csm_DecryptDataType_{Crypto}로 인스턴스화됩니다 [SWS_Csm_01923].
통합 및 경계 조건
이 정의는 헤더 파일 Rte_Csm_Type.h을 통해 전체 시스템에 제공됩니다 [SWS_Csm_01923]. 해석: Rte_Csm_Type.h에 포함된 것으로 보아, 이 타입은 주로 타입이 지정된 포트 및 RTE를 통한 소프트웨어 컴포넌트와 CSM 모듈 간의 데이터 교환을 위한 것으로 해석됩니다. 질문 Q-6dcc31d5d7258088 (열림) 함수가 아닌 데이터 구조이므로, 사양 범위에는 동기식 또는 비동기식 호출 시맨틱이나 재진입성 규정, 특정 DET 오류 메시지가 정의되어 있지 않습니다 [SWS_Csm_01923].
이 텍스트는 AI에 의해 생성되었습니다. 공식 AUTOSAR 사양에 대한 학습을 대체하지 않습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF
Array long enough to store the data of the decrypted plaintext.
데이터 타입 Csm_DecryptResultType은 [SWS_Csm_01924]에 따라 Csm 모듈에서 uint8 타입의 요소를 갖는 배열로 정의됩니다. 복호화된 일반 텍스트의 결과 데이터를 저장하기 위한 데이터 버퍼 역할을 하며, 전체 일반 텍스트를 수용할 수 있도록 충분히 크기가 설정되어야 합니다.
[SWS_Csm_01924]에 따른 해당 타입의 구성, 제공 및 구조화에는 다음 규정이 적용됩니다:
- 헤더 가용성: 데이터 타입의 정의는 헤더 파일
Rte_Csm_Type.h을 통해 제공됩니다. - 버퍼 크기 설정: 배열의 크기는 구성 매개변수
CsmDecryptResultMaxLength(경로Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength)을 통해 지정되며, 이를 통해 복호화 결과에 대한 최대 메모리 공간이 정적으로 결정됩니다. - 암호화 변형 생성: 타입 이름은
Csm_DecryptResultType_{Crypto}스키마에 따른 프리미티브 변형 생성이 적용되며, 구체적인 형태는 구성 요소Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}을 통해 제어됩니다.
호출 컨텍스트, 동시성 및 오류 처리와 관련하여 [SWS_Csm_01924]에는 자체 기능 로직 없이 오직 타입 정의만 포함되어 있습니다. 해석: 이 타입은 주로 응용 소프트웨어 컴포넌트에서 CSM의 암호화 복호화 작업의 출력 데이터를 수용하기 위한 메모리 구조로 사용될 것으로 추정됩니다. 질문 Q-54c836ed946ee1f2 (열림) 이 데이터 타입에는 특정 DET 또는 DEM 오류 코드가 정의되어 있지 않지만, 구성 담당자는 처리할 모든 일반 텍스트에 대해 구성된 최대 길이가 충분한지 확인해야 합니다.
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADEncryptPlaintextType [SWS_Csm_01925] 📄 PDF
Array long enough to store the plaintext to be encrypted with AEAD.
사용 및 타입 정의
데이터 타입 Csm_AEADEncryptPlaintextType은 [SWS_Csm_01925]에 따라 AEAD(Authenticated Encryption with Associated Data) 암호화 작업의 프레임워크 내에서 처리될 일반 텍스트를 위한 데이터 버퍼 역할을 합니다. 이 타입은 요소 타입이 uint8인 바이트 배열로 정의되며, 암호화할 일반 텍스트를 완전히 수용할 수 있는 충분한 메모리 공간을 제공합니다.
크기 설정 및 변형 생성
구체적인 버퍼 크기는 고정되어 있지 않으며, 각 프리미티브의 구성에 포함된 구성 매개변수 CsmAEADEncryptPlaintextMaxLength에 따라 결정됩니다([SWS_Csm_01925]). 또한 이 타입은 이름 및 구조적 변형의 영향을 받습니다. 즉, 구성된 암호화 프리미티브에 따라 식별자에 프리미티브의 단축 이름이 추가됩니다(Csm_AEADEncryptPlaintextType_{Crypto}).
통합 및 인터페이스
[SWS_Csm_01925]에 따라 이 타입은 헤더 Rte_Csm_Type.h을 통해 제공됩니다. 이는 이 타입이 주로 CSM의 암호화 서비스로 타입이 지정된 일반 텍스트 데이터를 전달하기 위해 애플리케이션 소프트웨어 컴포넌트를 대상으로 AUTOSAR RTE 컨텍스트에서 제공된다는 해석을 뒷받침합니다. 순수한 타입 선언이므로, 사양에서는 데이터 타입 수준에서 자체 오류 코드나 재진입성 규정을 정의하지 않습니다.
이 사용 참고사항은 자동으로 생성되었으며, AUTOSAR 사양 R20-11의 규정을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADEncryptAssociatedDataType [SWS_Csm_01928] 📄 PDF
Array long enough to store the data of the header.
데이터 타입 Csm_AEADEncryptAssociatedDataType은 AEAD 암호화 작업 시 헤더 또는 연관 추가 데이터를 수용하기 위한 버퍼 역할을 하는 기본 타입 uint8의 요소로 구성된 바이트 배열을 정의합니다 [SWS_Csm_01928]. 이 타입은 헤더 파일 Rte_Csm_Type.h을 통해 제공되며 Crypto Service Manager의 AUTOSAR RTE 인터페이스를 통한 타입 지정 데이터 교환을 가능하게 합니다 [SWS_Csm_01928].
타입의 크기 설정 및 형태는 암호화 프리미티브의 구성에 따라 달라집니다 [SWS_Csm_01928]:
- 배열 크기: 버퍼 크기는 구성
Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig내의 구성 매개변수CsmAEADEncryptAssociatedDataMaxLength에 따라 결정되며, 이를 통해 배열이 헤더 데이터에 충분히 길도록 보장됩니다 [SWS_Csm_01928]. - 이름 변형: 해당 요소는 암호화별 이름 변형
Csm_AEADEncryptAssociatedDataType_{Crypto}의 영향을 받으며, 여기서 플레이스홀더{Crypto}은CsmPrimitives.SHORT-NAME에 있는 해당 프리미티브의 단축 이름에 해당합니다 [SWS_Csm_01928].
호출자는 배열을 채울 때 전송할 헤더 데이터의 실제 길이가 구성된 최대 크기를 초과하지 않도록 해야 합니다 [SWS_Csm_01928]. 해석: AEAD 방식에서 연관 데이터는 암호화되지 않은 상태로 유지되지만 인증되므로, 이 데이터 타입은 주로 애플리케이션과 CSM 간에 프로토콜별 메타데이터를 일관되게 전달하는 역할을 할 것으로 보입니다. 질문 Q-26b724044c51253f (열림)
이 텍스트는 AI에 의해 생성되었습니다. 공식 사양에 대한 학습을 대체하지 않습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF
Array long enough to store the data of the cipher.
데이터 타입 Csm_AEADEncryptCiphertextType은 [SWS_Csm_01927]에 따라 Classic AUTOSAR 모듈 Csm에서 암호화 AEAD 암호화 작업 시 암호 데이터를 저장하기 위한 바이트 배열 역할을 합니다.
사양은 해당 데이터 요소를 기본 타입 uint8의 요소로 구성된 배열로 정의합니다 [SWS_Csm_01927]. 고정된 버퍼 크기는 구성 경로 Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig 내의 구성 매개변수 CsmAEADEncryptCiphertextMaxLength를 통해 결정됩니다 [SWS_Csm_01927]. 요구사항에 따라 배열은 암호의 전체 데이터를 수용할 수 있도록 충분히 길게 설정되어야 합니다 [SWS_Csm_01927].
타입 식별자는 프리미티브 종속적인 이름 변형을 나타냅니다. 구성 속성 Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}을 통해 구체적인 타입 이름이 Csm_AEADEncryptCiphertextType_{Crypto}로 확장됩니다 [SWS_Csm_01927]. 이 정의는 헤더 파일 Rte_Csm_Type.h을 통해 애플리케이션 소프트웨어 컴포넌트 및 CSM에 제공됩니다 [SWS_Csm_01927].
실제 사용 시 호출 컴포넌트는 AEAD 작업의 암호화 결과를 수신하기 위해 해당 버퍼를 선언할 것으로 보입니다. 질문 Q-af095525ea319451 (열림) 이 데이터 구조에 대해서는 소스에 특정 호출 컨텍스트, 오류 처리(예: DET 또는 DEM), 반환값 또는 재진입성 규정이 정의되어 있지 않습니다.
이 텍스트는 AI에 의해 생성되었으며, AUTOSAR 버전 R20-11의 사양 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADEncryptTagType [SWS_Csm_01926] 📄 PDF
Array long enough to store the data of the Tag.
데이터 타입 Csm_AEADEncryptTagType은 [SWS_Csm_01926]에 따라 AEAD 암호화 작업 시 인증 태그 데이터를 위한 버퍼 역할을 하는 바이트 배열(요소 타입 uint8)을 정의합니다. 배열은 사양에 따라 태그 데이터를 완전히 수용할 수 있도록 충분히 길게 설계되었습니다 [SWS_Csm_01926].
구조 및 구성과 관련하여 [SWS_Csm_01926]의 다음 규정이 적용됩니다:
- 버퍼 크기: 배열의 크기 설정은
Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig아래의 구성 매개변수CsmAEADEncryptTagLength을 통해 결정됩니다 [SWS_Csm_01926]. - 이름 변형: 타입 이름은 암호화 변형을 가지며
Csm_AEADEncryptTagType_{Crypto}스키마에 따라 형성됩니다. 여기서{Crypto}은 각 프리미티브의 단축 이름(SHORT-NAME)에 해당합니다 [SWS_Csm_01926]. - 헤더 포함: 해당 타입은 헤더
Rte_Csm_Type.h을 통해 제공됩니다 [SWS_Csm_01926].
Rte_Csm_Type.h에서의 가용성을 통해 이 데이터 타입은 표준화된 소프트웨어 인터페이스를 위한 것으로 추정됩니다(해석: 소프트웨어 컴포넌트 포트에서 버퍼 전달을 위한 사용) [SWS_Csm_01926]. 질문 Q-3cd2f6ae1229483e (열림)
이 사용 지침은 Release R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADDecryptCiphertextType [SWS_Csm_00922] 📄 PDF
Array long enough to store the ciphertext to be decrypted with AEAD.
사용법 및 구조
데이터 타입 Csm_AEADDecryptCiphertextType은 [SWS_Csm_00922]에 따라 요소 타입 uint8를 기반으로 하는 바이트 배열을 정의합니다. 이는 AEAD(Authenticated Encryption with Associated Data) 작업의 일환으로 복호화될 암호문을 수용하기에 충분한 크기의 버퍼 역할을 합니다 [SWS_Csm_00922]. 타입 정의는 헤더 파일 Rte_Csm_Type.h를 통해 제공됩니다 [SWS_Csm_00922].
크기 지정 및 가변성
필드의 크기 지정은 구성 브랜치 Csm/CsmAEADDecrypt/CsmAEADDecryptConfig 내의 구성 매개변수 CsmAEADDecryptCiphertextMaxLength에 따라 정적으로 수행됩니다 [SWS_Csm_00922]. 이 배열은 처리할 전체 암호문을 담을 수 있도록 설계되었습니다. 또한 타입 이름은 Csm_AEADDecryptCiphertextType_{Crypto} 패턴에 따른 암호화 가변성의 적용을 받으며, 식별자 부분 {Crypto}는 해당 프리미티브(CsmPrimitives.SHORT-NAME)의 단축 이름으로 구성됩니다 [SWS_Csm_00922].
상호작용 및 경계 조건
Rte_Csm_Type.h의 정의로 인해 이 타입은 주로 RTE 포트를 통해 소프트웨어 컴포넌트(SW-C)를 Crypto Service Gateway 또는 CSM에 타입 지정 방식으로 연결하기 위해 의도된 것으로 추정됩니다 [SWS_Csm_00922]. 질문 Q-35738ff5fc96c699 (열림) 배열 크기가 구성 시점에 고정되어 지정되므로, 런타임에 버퍼 오버플로를 방지하기 위해 호출자는 암호문 데이터가 최대 길이를 초과하지 않도록 보장해야 합니다.
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADDecryptAssociatedDataType [SWS_Csm_00923] 📄 PDF
Array long enough to store the data of the header.
데이터 타입 Csm_AEADDecryptAssociatedDataType은 uint8 타입 요소의 배열로 정의되며 구성 종속적인 이름 패턴 Csm_AEADDecryptAssociatedDataType_{Crypto}을(를) 갖습니다 [SWS_Csm_00923]. 이 데이터 타입의 목적은 인증된 복호화(AEAD Decrypt)의 헤더 데이터 또는 관련 추가 데이터(Associated Data)를 수용하기에 충분한 크기의 메모리 영역을 제공하는 것입니다 [SWS_Csm_00923].
배열의 크기는 구성 경로 Csm/CsmAEADDecrypt/CsmAEADDecryptConfig의 구성 매개변수 CsmAEADDecryptAssociatedDataMaxLength에 따라 결정됩니다 [SWS_Csm_00923]. 가변성 Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}을 통해 Crypto Service Manager에 구성된 각 프리미티브에 대한 타입 식별자가 해당 단축 이름을 통해 특화됩니다 [SWS_Csm_00923]. 이를 통해 각 암호화 프리미티브에 적절한 최대 길이를 가진 특정 버퍼를 선언할 수 있습니다.
이 데이터 타입은 헤더 파일 Rte_Csm_Type.h을 통해 내보내집니다 [SWS_Csm_00923]. 이는 순수한 타입 정의이므로 해당 항목은 오류 코드, DET 메시지 또는 재진입 조건을 명시하지 않습니다. 해석하자면, 이 배열은 RTE를 통해 소프트웨어 컴포넌트와 CSM 간에 암호화되지 않았지만 암호학적으로 검증되어야 하는 부가 데이터를 전달하기 위한 타입화된 데이터 버퍼 역할을 할 것으로 추정됩니다. 질문 Q-2f32bbe9a4489b27 (열림)
이 텍스트는 AUTOSAR R20-11을 기반으로 인공지능에 의해 생성되었으며 참고용으로 제공됩니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADDecryptTagType [SWS_Csm_01074] 📄 PDF
Array long enough to store the data of the Tag.
용도 및 목적
데이터 타입 Csm_AEADDecryptTagType은(는) 엘리먼트 타입 uint8을(를) 갖는 바이트 배열로 정의되며, AEAD 복호화 작업 시 태그 데이터를 수신하기 위한 전용 메모리 영역 역할을 합니다 [SWS_Csm_01074]. 이는 헤더 파일 Rte_Csm_Type.h을(를) 통해 제공됩니다 [SWS_Csm_01074].
크기 결정 및 구성 의존성
배열의 크기는 구성 가능하며 구성된 태그 길이 CsmAEADDecryptTagLength에 따라 결정됩니다 [SWS_Csm_01074]. 엘리먼트 수는 표현식 (({ecuc(Csm/CsmPrimitives/CsmAEADDecrypt/CsmAEADDecryptConfig/CsmAEADDecryptTagLength)}+7)/8)을(를) 통해 결정됩니다 [SWS_Csm_01074]. 이 계산을 통해 비트 단위로 지정된 태그 길이가 온전한 바이트 단위로 변환되며, 8로 나누어떨어지지 않는 비트 길이는 다음 바이트 경계로 올림 처리됩니다.
이 타입은 Csm_AEADDecryptTagType_{Crypto} 체계에 따른 이름 변형을 따르며, 여기서 {Crypto}은(는) 각 프리미티브 구성의 단축 이름(SHORT-NAME)(으)로 대체됩니다 [SWS_Csm_01074]. 이를 통해 구성된 각 AEAD 복호화 프리미티브 인스턴스에 대해 적절히 유형화된 구조가 존재하게 됩니다.
통합 및 제약 조건
Rte_Csm_Type.h을(를) 통한 제공은 이 타입이 주로 AUTOSAR RTE 포트의 소프트웨어 컴포넌트가 Crypto Service Manager에 인증 태그를 전달하도록 하기 위해 의도되었음을 의미하는 것으로 보입니다 [SWS_Csm_01074]. 질문 Q-2a0bebbb8e1d6b76 (열림) 이 타입은 자체적인 제어 흐름이나 동기화 메커니즘을 제공하지 않으므로, 버퍼 데이터의 일관성은 복호화 주기 동안 호출 컨텍스트에 의해 완전히 보장되는 것으로 추정됩니다.
이 텍스트는 AI에 의해 생성되었으며 AUTOSAR R20-11 규격 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_AEADDecryptPlaintextType [SWS_Csm_01075] 📄 PDF
Array long enough to store the data of the plaintext.
사용법 및 구조
데이터 타입 Csm_AEADDecryptPlaintextType 또는 해당 프리미티브 고유 변형 Csm_AEADDecryptPlaintextType_{Crypto}은(는) uint8 타입의 엘리먼트를 갖는 바이트 배열로 정의됩니다 [SWS_Csm_01075]. 이는 AEAD(Authenticated Encryption with Associated Data) 복호화 시 평문 데이터를 저장하기에 충분한 크기의 버퍼를 제공하는 역할을 합니다 [SWS_Csm_01075]. 고정된 배열 크기는 해당 AEAD 복호화 프리미티브의 구성 내에서 구성 매개변수 CsmAEADDecryptPlaintextMaxLength을(를) 통해 결정됩니다 [SWS_Csm_01075]. 헤더 Rte_Csm_Type.h을(를) 통해 소프트웨어 컴포넌트에 데이터 타입이 제공되며, 타입 이름은 변형 Crypto을(를) 통해 구성된 CSM 프리미티브의 단축 이름에 결합됩니다 [SWS_Csm_01075].
오류 처리 및 동시성
순수 타입 정의이므로 이 엘리먼트는 자체적인 반환값, 오류 코드 또는 DET 메시지를 정의하지 않습니다 [SWS_Csm_01075]. 주요 기능적 제약 조건은 정적으로 정의된 최대 길이에 있습니다. 구성된 한계를 초과하는 평문 데이터는 이 버퍼에 담을 수 없습니다 [SWS_Csm_01075]. 해석: 이 타입은 주로 SWC가 복호화 서비스로부터 비동기 또는 동기적으로 결과를 수신할 때 RTE 포트를 통한 형식화된(typed) 데이터 전달에 사용되는 것으로 보입니다. 호출자는 버퍼 한계가 준수되는지, 여러 태스크에 걸친 동시 쓰기 또는 읽기 접근이 스레드 안전하게 동기화되는지 스스로 확인해야 할 것으로 추정됩니다. 질문 Q-2de04243d7f996c8 (열림)
이 사용 참고사항은 AI에 의해 생성되었으며 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을(를) 통한 제공으로 인해, 이 배열 타입은 주로 소프트웨어 컴포넌트와 CSM 모듈 간의 RTE 포트에서 형식화된 데이터 전달을 위해 의도된 것으로 보입니다. 질문 Q-dcc731a5b8961aef (열림)
구성 및 사용 시 CsmSignatureGenerateDataMaxLength이(가) 배열의 고정된 상한을 설정한다는 점에 유의해야 합니다 [SWS_Csm_01083]. 배열이 정적으로 할당되므로, 사용자는 구성 시 버퍼 크기가 작동 중에 발생하는 서명 생성의 모든 입력 데이터에 충분한지 확인해야 합니다.
이 텍스트는 AI에 의해 생성되었습니다. 모든 기술적 정보는 전적으로 사양 소스를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_SignatureGenerateResultType [SWS_Csm_01077] 📄 PDF
Array long enough to store the signature and its length.
데이터 타입 Csm_SignatureGenerateResultType은(는) [SWS_Csm_01077]에 따라 uint8을(를) 기반으로 하는 바이트 배열을 정의하며, 이는 생성된 암호화 서명 및 해당 길이 정보를 수신하는 역할을 합니다. 이 타입은 헤더 Rte_Csm_Type.h을(를) 통해 선언되며 Crypto Service Manager에서 서명 작업을 위한 표준화된 출력 버퍼를 제공합니다.
이 타입의 구조와 크기는 구성 가능합니다:
- 버퍼 크기:
uint8엘리먼트의 수는 각 서명 생성 구성의 구성 매개변수CsmSignatureGenerateResultLength을(를) 통해 지정됩니다([SWS_Csm_01077]). - 이름 변형: 식별자에는 구성된 프리미티브의 단축 이름에 해당하는 접미사
_{Crypto}이(가) 포함됩니다([SWS_Csm_01077]).
순수 타입 정의이므로 [SWS_Csm_01077]은(는) 오류 코드, DET 메시지 또는 재진입 특성에 대한 사양을 포함하지 않습니다. 런타임 시맨틱 및 버퍼 전달은 CSM 서비스 인터페이스의 동기 또는 비동기 호출 규칙을 따르는 것으로 보입니다. 질문 Q-3304c06a29f069a2 (열림) 호출자는 구성된 배열 크기가 길이 값을 포함하여 수신할 서명에 항상 충분한지 확인해야 합니다.
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR 사양 발췌본을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_SignatureVerifyDataType [SWS_Csm_01078] 📄 PDF
Array long enough to store the data for whichs signature shall be verified.
데이터 타입 Csm_SignatureVerifyDataType은(는) [SWS_Csm_01078]에 따라 엘리먼트 타입 uint8을(를) 갖는 바이트 배열로 정의되며 서명을 검증할 데이터를 버퍼링하는 역할을 합니다.
[SWS_Csm_01078]에 따라 이 타입의 구성 및 사용에는 다음 규정이 적용됩니다:
- 배열 크기 결정: 배열의 크기는 구성 경로
Csm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfig의 구성 값CsmSignatureVerifyDataMaxLength에 해당하므로, 배열은 검증할 전체 데이터를 수신하기에 충분한 크기로 지정됩니다. - 이름 변형: 타입 이름은 각 암호화 프리미티브에 따라
Csm_SignatureVerifyDataType_{Crypto}체계에 맞춰 변형되며, 여기서{Crypto}은(는) 단축 이름CsmPrimitives.SHORT-NAME에 해당합니다. - 헤더 제공: 타입 정의는 헤더 파일
Rte_Csm_Type.h을(를) 통해 사용할 수 있습니다.
해석: Rte_Csm_Type.h에서의 제공으로 미루어 볼 때, 이 타입은 주로 소프트웨어 컴포넌트가 RTE 인터페이스에서 서명 검증을 위해 구성된 최대 길이까지의 페이로드를 Crypto Service Manager로 전달할 수 있도록 의도된 것으로 보입니다 [SWS_Csm_01078]. 질문 Q-c1541703c2bcd199 (열림)
이 텍스트는 AI에 의해 생성되었으며 가이드 역할을 합니다. AUTOSAR 사양이 결정적인 기준입니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_SignatureVerifyCompareType [SWS_Csm_01079] 📄 PDF
Array long enough to store a signature to be verified.
타입 Csm_SignatureVerifyCompareType은(는) uint8을(를) 기반으로 하는 바이트 배열을 정의하며, 검증할 암호화 서명을 위한 충분한 저장 공간을 제공합니다([SWS_Csm_01079]). 이는 헤더 Rte_Csm_Type.h을(를) 통해 제공되며 소프트웨어 컴포넌트가 서명 비교 데이터에 형식화된(typed) 방식으로 접근할 수 있도록 합니다([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]).
이 텍스트는 AI에 의해 작성되었습니다. 이는 오로지 AUTOSAR 릴리스 R20-11의 명세서만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 Csm_RandomGenerateResultType [SWS_Csm_00930] 📄 PDF
Array long enough to store the data of the random number.
용도 및 목적
데이터 타입 Csm_RandomGenerateResultType은 배열로 정의되며 생성된 난수의 결과 데이터를 저장하기 위한 구조화된 메모리 영역 역할을 합니다 [SWS_Csm_00930]. 배열의 개별 요소는 기본 타입 uint8을(를) 가지므로, 결과 난수는 연속된 바이트 시퀀스로 매핑됩니다 [SWS_Csm_00930].
구성 및 변형 생성
버퍼 크기는 동적으로 전달되지 않고 모듈 구성을 통해 정적으로 정의됩니다. 배열 요소의 수는 경로 Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig 아래의 구성 매개변수 CsmRandomGenerateResultLength에 따라 결정됩니다 [SWS_Csm_00930]. 또한 식별자는 Csm_RandomGenerateResultType_{Crypto} 스키마에 따른 암호화 관련 이름 변형의 적용을 받으며, 접미사는 각 프리미티브의 단축 이름에 해당합니다 [SWS_Csm_00930]. 이를 통해 난수 생성의 구성된 각 인스턴스는 적절한 길이의 타입 준수 버퍼를 갖게 됩니다.
통합 및 경계 조건
이 타입의 선언은 헤더 파일 Rte_Csm_Type.h을 통해 제공됩니다 [SWS_Csm_00930]. 해석: RTE 헤더를 통해 제공되므로, 이 데이터 타입은 주로 Application Software Component가 포트를 통해 난수 값을 타입 안전하게 수신하도록 하기 위해 의도된 것으로 추정됩니다. 질문 Q-ea993612037bec12 (열림) 구체적인 API 호출 컨텍스트, 오류 코드 또는 동시성 측면은 타입 자체에 고정되어 있지 않고 관련 CSM 서비스에 고정되어 있는 반면, 이 타입은 정적 메모리 요구사항을 보장합니다 [SWS_Csm_00930].
이 사용 지침은 AI에 의해 작성되었으며 AUTOSAR CP R20-11 사양을 기반으로 합니다.
타입 Csm_LengthPtr [SWS_Csm_91045] 📄 PDF
Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.
타입 Csm_VerifyResultPtr [SWS_Csm_91046] 📄 PDF
Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.
사용법 및 의미론
유형 Csm_VerifyResultPtr은 DATA_REFERENCE 카테고리의 AUTOSAR Implementation Data Type이며, 포인터 대상은 Csm_VerifyResultType(형식적으로는 Csm_VerifyResultType*)입니다 [SWS_Csm_91046]. 유형 정의는 헤더 Rte_Csm_Type.h를 통해 제공되므로 RTE를 통한 애플리케이션 컴포넌트 및 기본 소프트웨어 모듈에서 사용할 수 있습니다 [SWS_Csm_91046].
Csm_VerifyResultPtr의 기능적 역할은 비동기 암호화 작업에서 검증 결과를 반환하는 것입니다 [SWS_Csm_91046]. 비동기 실행 시 포인터는 호출자가 예약한 버퍼를 가리키며, 검사가 완료된 후 모듈 Csm가 해당 버퍼에 결과를 기록합니다 [SWS_Csm_91046].
동시성 및 제약사항
Csm_VerifyResultPtr은 명시적으로 비동기 피드백을 위해 제공되므로 [SWS_Csm_91046], 사용자는 참조된 대상 객체의 유효성이 전체 작업 기간 동안 유지되도록 보장해야 합니다. 이때 다음 측면을 고려해야 합니다:
이 사용 지침은 자동으로 생성되었으며 모듈 CSM의 사양 데이터만을 기반으로 합니다.
타입 Crypto_KeyStatusType [SWS_Csm_91102] 📄 PDF
Enumeration for key status.
열거형 Crypto_KeyStatusType은 암호화 키의 유효성 상태를 정의하며 헤더 파일 Rte_Csm_Type.h을 통해 제공됩니다 [SWS_Csm_91102].
값 범위 및 시맨틱
이 유형은 두 가지 값을 포함합니다 [SWS_Csm_91102]:
CRYPTO_KEYSTATUS_INVALID(0x00): 키 상태가 유효하지 않습니다. 이는 예를 들어Csm_KeyElementSet를 사용하여 키 요소를 설정한 후Csm_KeySetValid함수가 아직 실행되지 않은 경우에 발생합니다.CRYPTO_KEYSTATUS_VALID(0x01): 예를 들어Csm_KeySetValid의 성공적인 호출을 통해 상태가 설정된 후 키가 유효한 상태입니다.
순서 조건 및 상호작용
상태 로직은 유효성을 키 관리의 업데이트 프로세스와 직접 결합합니다. 키 요소를 수정할 때마다 키는 유효하지 않은 중간 상태로 전환되며, 이는 Csm_KeySetValid을 통한 명시적 검증을 거쳐야만 종료됩니다 [SWS_Csm_91102]. 해석: 따라서 호출자 및 암호화 서비스는 불완전한 키 데이터로 인한 오작동을 방지하기 위해 암호화 작업을 실행하기 전에 상태 CRYPTO_KEYSTATUS_VALID를 전제 조건으로 삼을 것으로 추정됩니다. 질문 Q-7ad50e0568814efa (열림)
이 텍스트는 AI에 의해 작성되었으며, 사양의 페이로드만을 기반으로 하므로 AUTOSAR 문서의 검토를 대체하지 않습니다.
구현자 가이드 준비 중 (복잡도 I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Csm- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Csm@rel:R20-11#470482e5- Content hash
470482e5- 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 · 독일어 원문