Key Manager (KeyM)
Manages lifecycle, storage, and distribution of cryptographic keys and certificates.
Funktionen — Übersicht
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);This function initializes the key management module.void KeyM_Deinit (void);This function resets the key management module to the uninitialized state.void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);Provides the version information of this module.Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true.Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);This function is used to prepare a key update operation.Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);The function is used to finalize key update operations.Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);This function provides the certificate data to the key managem ent module to temporarily store the certificate.Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);This function provides the certificate dataStd_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);This function verifies two certificates that are stored and parsed internally against each other.Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);Service KeyM_VerifyCertificate.Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);Service KeyM_VerifyCertificateChain.Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGet.Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);Service KeyM_CertificateElementGetByIndex.Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);This function provides the total number of data elements that a re available for the specified certificate element.Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetFirst.Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);Service KeyM_CertElementGetNext.Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);This function provides the sta tus of a certificate.void KeyM_MainFunction (void);Function is called periodically according the specified time interval.void KeyM_MainBackgroundFunction (void);Function is called from a pre - emptive operating system when no other task operation is needed.Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto KeyStd_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both...Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this...void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key update operation has been finished.void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Service KeyM_CryptoKeyFinalizeCallbackNotification.void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that a crypto key verify operation has been finished.void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);Notifies the application that the certificate service operation has been finished.Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);Notifies the application that a certificate verification has been finished.
Typen — Übersicht
struct KeyM_ConfigTypeThis structure is the base type to initialize the Key Manager module.KeyM_KH_UpdateOperationTypeSpecifies the type of key handler update operation that was performed in the callback.struct KeyM_CertElementIteratorTypeThis structure is used to iterate through a number of elements of a certificate.KeyM_CryptoKeyIdTypeCrypto key handle.KeyM_CertDataPointerTypeByte - pointer to the data of the certificateKeyM_StartTypeThis type specifies in which mode the key operation will start.KeyM_CertElementIdTypeCertificate Element handle.KeyM_CertificateIdTypeCertificate handle.KeyM_ServiceCertificateTypeThis type specifies the requested service operation and what information is provided with this function.MaxArray long enough to store the key or certificate name.enum KeyM_CertificateStatusTypeType KeyM_CertificateStatusType.KeyM_CertificateElementTypeArray long enough to store dataKeyM_CryptoKeyDataTypeByte - pointer to the input or output dataenum KeyM_ResultTypeSpecifies the result type of an asynchronous key management fu nction.struct KeyM_CertDataTypeThis structure is used to exchange certificate data through interface functions.
Funktionen & Typen — Detailansicht
함수 KeyM_Init [SWS_KeyM_00043] 📄 PDF
void KeyM_Init (const KeyM_ConfigType* ConfigPtr);
This function initializes the key management module.
함수 KeyM_Init은 Key Management 모듈([SWS_KeyM_00043])을 초기화하는 역할을 합니다. 호출은 동기식으로 수행되며 재진입 불가로 정의됩니다([SWS_KeyM_00043]). 유일한 전달 매개변수로 ConfigPtr이 예상되며, 이는 VARIANT-POST-BUILD에 대한 구성 데이터 세트에 대한 포인터입니다. 함수는 반환값이 없습니다([SWS_KeyM_00043]).
다른 모듈 함수와의 상호작용과 관련하여 KeyM_Init은 필수 전제 조건을 나타냅니다. 개발 오류 감지가 활성화된 경우 Key Manager의 다른 모든 함수는 모듈이 이전에 KeyM_Init을 통해 초기화되었고 아직 KeyM_Deinit를 통해 초기화 해제되지 않았는지 확인합니다([SWS_KeyM_00144]). 모듈 함수가 초기화되지 않은 상태에서 호출되면 Key Manager는 개발 오류 KEYM_E_UNINIT를 보고합니다([SWS_KeyM_00144]).
KeyM_Init은 재진입 불가([SWS_KeyM_00043])로 지정되어 있으므로, 시스템 초기화 단계에서 동시 호출을 배제하고 단 한 번만 실행되어야 합니다. 성공적으로 실행된 후 모듈은 헤더 파일 KeyM.h를 통해 사용할 수 있습니다([SWS_KeyM_00043]).
이 사용 지침은 AUTOSAR 사양 페이로드를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_Deinit [SWS_KeyM_00047] 📄 PDF
void KeyM_Deinit (void);
This function resets the key management module to the uninitialized state.
함수 KeyM_Deinit은 Key Manager 모듈을 다시 초기화되지 않은 상태로 되돌리는 역할을 합니다([SWS_KeyM_00047]).
사용법 및 호출 컨텍스트
KeyM_Deinit의 호출은 동기식으로 수행되며 재진입 불가(Non Reentrant)로 지정되어 있습니다. 이 함수는 서비스 ID 0x02을 가지며, 매개변수를 받지 않고 반환값을 반환하지 않습니다([SWS_KeyM_00047]).
동시성 및 상호 작용
재진입 불가 특성으로 인해 KeyM_Deinit은 자기 자신과 동시에 호출되거나 진행 중인 작업과 충돌하여 호출되어서는 안 됩니다. 이 초기화 해제를 실행한 후 모듈은 초기화되지 않은 상태가 됩니다. Development 오류가 활성화된 경우 Key Manager는 후속 함수 호출마다 모듈이 이전에 KeyM_Init()을 통해 초기화되었고 아직 KeyM_Deinit()를 통해 초기화 해제되지 않았는지 확인하며, 그렇지 않은 경우 개발 오류 KEYM_E_UNINIT을 보고합니다([SWS_KeyM_00144]).
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_GetVersionInfo [SWS_KeyM_00049] 📄 PDF
void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
Provides the version information of this module.
함수 KeyM_Start [SWS_KeyM_00050] 📄 PDF
Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true. It intents to allow key update operation.
동기 함수 KeyM_Start은 Key Manager에서 키 업데이트 작업을 승인하는 데 사용됩니다([SWS_KeyM_00050]). 이 함수는 선택 사항이며 구성 매개변수 KeyMCryptoKeyStartFinalizeFunctionEnabled가 true으로 구성된 경우에만 사용할 수 있습니다(AUTOSAR_SWS_KeyManager 35쪽). 이 함수는 KeyM.h를 통해 제공되며 StartType을 통해 실행할 작동 모드를 예상하고 Request Data 및 Request Data Length을 통해 서명과 같은 추가 요청 데이터를 예상합니다.
응답 데이터는 출력 버퍼 Response Data을 통해 반환됩니다. 매개변수 Response Data Length은 입출력 매개변수로 작동합니다. 호출 전에는 버퍼에서 사용할 수 있는 최대 바이트 수를 정의하고, 실행 후에는 실제로 기록된 데이터 길이를 포함합니다([SWS_KeyM_00050]).
오류 처리 및 반환값:
E_OK: 시작 작업이 성공적으로 실행되었으며 이제 키 업데이트가 허용됩니다.E_NOT_OK: 시작 작업이 수락되지 않았습니다.KEYM_E_PARAMETER_MISMATCH: 전달된 매개변수가 예상 값과 일치하지 않습니다.KEYM_E_KEY_CERT_SIZE_MISMATCH: 전달된 매개변수 크기가 예상 크기와 일치하지 않습니다.
이 함수는 재진입 불가(Non Reentrant)로 지정되어 있습니다([SWS_KeyM_00050]). 모듈 내부의 잠금이 설명되어 있지 않으므로, 호출자는 조정되고 직렬화된 실행을 보장해야 할 것으로 보입니다. 질문 Q-82276b712a8dd170 (열림)
이 텍스트는 AUTOSAR R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_Prepare [SWS_KeyM_00051] 📄 PDF
Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
This function is used to prepare a key update operation. The main intent is to provide information for the key operation to the key server. Other operations may start the negotiation for a common secret that is used further to derive key material. This function is only av ailable if Key MCrypto Key Prepare Function Enabled is set to TRUE.
동기 함수 KeyM_Prepare은 키 업데이트 작업(Key Update Operation)을 준비하는 데 사용되며 필요한 정보를 키 서버로 전송하거나 키 파생을 위한 공유 비밀 협상을 시작합니다 [SWS_KeyM_00051]. 이 함수는 서비스 ID 0x05를 가지며, 헤더 KeyM.h을 통해 선언되고, 구성 매개변수 Key MCrypto Key Prepare Function Enabled가 TRUE로 설정된 경우에만 사용할 수 있습니다 [SWS_KeyM_00051].
호출 시 다음 버퍼 및 길이 정보를 전달해야 합니다 [SWS_KeyM_00051]:
Request Data및Request Data Length: 요청을 위한 입력 데이터 및 그 길이 [SWS_KeyM_00051].Response Data: 출력 데이터를 수신하기 위한 버퍼에 대한 포인터 [SWS_KeyM_00051].Response Data Length: 호출 전에는 사용 가능한 최대 버퍼 크기를 지정하고 반환 시에는 실제로 기록된 바이트 수를 포함하는 입출력 매개변수 [SWS_KeyM_00051].
호출이 E_OK으로 확인되면 서비스가 수락되어 내부적으로 처리되며, 최종 결과는 이후 콜백을 통해 제공됩니다 [SWS_KeyM_00051]. 수락이 실패하면 함수는 내부 오류 시 E_NOT_OK를, 매개변수 값이 일치하지 않을 때 KEYM_E_PARAMETER_MISMATCH을, 크기 사양이 맞지 않을 때 KEYM_E_KEY_CERT_SIZE_MISMATCH를 반환합니다 [SWS_KeyM_00051].
KeyM_Prepare은(는) 비재진입(non-reentrant)(Non Reentrant)으로 명시되어 있으므로 동시 호출이나 중첩 호출을 수행해서는 안 됩니다 [SWS_KeyM_00051].
이 텍스트는 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_Finalize [SWS_KeyM_00053] 📄 PDF
Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);
The function is used to finalize key update operations. It is typi cally used in conjunction with the Key M_
함수 KeyM_Finalize은(는) 키에 대한 업데이트 작업을 완료하고 키 작업을 다시 유휴 상태(Idle 모드)로 전환합니다 [SWS_KeyM_00053]. 이는 일반적으로 이전 KeyM_Start 작업과 연계하여 사용됩니다. 호출 후 모듈은 KeyM_Start을(를) 통해 새로운 시퀀스가 시작될 때까지 더 이상의 준비 또는 업데이트 작업(Prepare/Update)을 수락하지 않습니다 [SWS_KeyM_00053]. 또한 업데이트된 키 자료는 영구 저장되며 Csm_KeySetValid 호출을 통해 유효한 상태로 전환됩니다 [SWS_KeyM_00053].
사용법 및 동시성: KeyM_Finalize은(는) 비재진입(Non Reentrant)이며 비동기식으로 작동합니다 [SWS_KeyM_00053]. 해석: 재진입성이 없으므로 호출은 일반적으로 태스크 컨텍스트에서 수행될 것으로 보입니다. 질문 Q-895ebec2d0d2e635 (열림) 이 인터페이스는 구성 매개변수 KeyMCryptoKeyStartFinalizeFunctionEnabled이(가) TRUE(으)로 설정된 경우에만 사용할 수 있으며, KeyM.h을(를) 통해 선언됩니다 [SWS_KeyM_00053].
매개변수 및 반환값: RequestDataPtr 및 RequestDataLength을(를) 통해 요청별 데이터가 전달됩니다. 응답 데이터는 ResponseDataPtr을(를) 통해 제공되며, ResponseMaxDataLength은(는) 입력 시 버퍼 크기 역할을 하고 동기 반환 시 실제 바이트 수를 제공합니다 [SWS_KeyM_00053]. 작업이 수락되어 내부적으로 처리되면 함수는 E_OK을(를) 반환하고(결과는 콜백을 통해 비동기식으로 이어짐) ResponseMaxDataLength은(는) 변경되지 않은 상태로 유지됩니다 [SWS_KeyM_00053].
오류 처리: 오류 발생 시 KeyM_Finalize은(는) 특정 반환값을 통해 실패를 알립니다 [SWS_KeyM_00053]:
E_NOT_OK: 내부 오류로 인해 작업이 수락되지 않았습니다.KEYM_E_BUSY: KeyM이 다른 작업으로 사용 중이어서 아직 유효성 검사를 수행할 수 없습니다.KEYM_E_PARAMETER_MISMATCH: 매개변수가 예상값과 일치하지 않습니다.KEYM_E_KEY_CERT_SIZE_MISMATCH: 매개변수 크기가 일치하지 않습니다.
본 사용 지침은 AUTOSAR CP R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_SetCertificate [SWS_KeyM_00057] 📄 PDF
Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data to the key managem ent module to temporarily store the certificate.
사용
동기 함수 KeyM_SetCertificate은(는) 인증서를 임시로 저장하기 위해 인증서 데이터를 키 관리 모듈에 전달합니다 [SWS_KeyM_00057]. 이 함수는 입력 매개변수로 인증서 ID CertId(타입 KeyM_CertificateIdType) 및 제공할 인증서 구조체를 가리키는 포인터 CertificateDataPtr(타입 const KeyM_CertDataType*)를 필요로 합니다 [SWS_KeyM_00057]. 이 인터페이스는 헤더 KeyM.h을(를) 통해 선언되며 서비스 ID 0x0a을(를) 갖습니다 [SWS_KeyM_00057].
반환값 및 오류 처리
Std_ReturnType 타입의 반환값은 데이터 수락 여부에 대한 정보를 제공합니다 [SWS_KeyM_00057]:
E_OK: 인증서가 성공적으로 수락되었습니다[SWS_KeyM_00057].E_NOT_OK: 인증서를 설정할 수 없습니다[SWS_KeyM_00057].KEYM_E_PARAMETER_MISMATCH: 전달된 매개변수가 예상값과 일치하지 않습니다 [SWS_KeyM_00057].KEYM_E_KEY_CERT_SIZE_MISMATCH: 전달된 인증서 데이터의 크기가 예상 크기와 다릅니다 [SWS_KeyM_00057].
동시성 및 제약사항
이 함수는 비재진입(Non Reentrant)으로 분류되어 있습니다 [SWS_KeyM_00057]. 따라서 경쟁 호출은 호출자 측에서 동기화되거나 배제되어야 합니다. 사양에서 명시적으로 임시 저장을 규정하고 있으므로, 전달된 인증서 데이터는 영구 저장 또는 검증이 이루어지기 전에 우선 모듈의 휘발성 메모리에 유지되는 것으로 추정됩니다. 질문 Q-c35c4b02344d5bc9 (열림)
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_GetCertificate [SWS_KeyM_00058] 📄 PDF
Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);
This function provides the certificate data
사용
동기 함수 KeyM_GetCertificate은 지정된 인증서 식별자에 대한 인증서 데이터를 제공하는 역할을 합니다 [SWS_KeyM_00058]. 호출자는 매개변수 CertId를 통해 원하는 인증서의 식별자를 전달하고, 입출력(Inout) 매개변수 CertificateDataPtr을 통해 인증서 데이터 구조체에 대한 포인터를 전달합니다. 호출자는 구조체 내 포인터가 가리키는 버퍼를 제공할 책임이 있습니다 [SWS_KeyM_00058]. 호출 전에 구조체에 이 버퍼의 최대 길이가 지정되어 있어야 하며, 성공적으로 반환될 경우(E_OK) 길이 필드에는 제공된 인증서 데이터의 실제 길이가 포함됩니다 [SWS_KeyM_00058].
오류 처리
이 함수는 Std_ReturnType 타입의 반환값을 통해 성공 또는 특정 오류를 알립니다 [SWS_KeyM_00058]:
E_OK: 인증서 데이터를 사용할 수 있으며 성공적으로 전달되었습니다.KEYM_E_PARAMETER_MISMATCH: 전달된 인증서 ID(CertId)가 유효하지 않습니다.KEYM_E_KEY_CERT_SIZE_MISMATCH: 제공된 버퍼가 인증서에 비해 너무 작습니다.KEYM_E_KEY_CERT_EMPTY: 인증서 슬롯이 비어 있어 인증서 데이터가 존재하지 않습니다.KEYM_E_KEY_CERT_READ_FAIL: 액세스가 거부되어 인증서를 제공할 수 없습니다.E_NOT_OK: 내부 오류로 인해 작업이 수락되지 않았습니다.
동시성 및 제약사항
이 함수는 재진입 불가능(Non Reentrant)으로 명시되어 있으며 헤더 파일 KeyM.h을 통해 제공됩니다 [SWS_KeyM_00058]. 따라서 호출자는 함수의 병렬 호출이 서로 동기화되도록 보장해야 합니다.
이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 공식 AUTOSAR 명세서가 기준이 됩니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_VerifyCertificates [SWS_KeyM_00059] 📄 PDF
Std_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);
This function verifies two certificates that are stored and parsed internally against each other. The certificat e referenced with Cert Id was signed by the certificate referenced with cert Upper Id. Only these two certificates are validated against each other.
함수 KeyM_VerifyCertificates은 [SWS_KeyM_00059]에 따라 내부적으로 저장되고 파싱된 두 인증서를 서로에 대해 비동기식으로 검증하는 데 사용됩니다. 이때 CertId를 통해 참조된 하위 인증서가 CertUpperId으로 참조된 상위 인증서에 의해 서명되었는지를 유효성 검사합니다.
이 서비스는 재진입 불가(Non Reentrant)로 정의되어 있으므로 중복되는 작업에 대해 동시에 호출되어서는 안 됩니다 [SWS_KeyM_00059]. 실행은 백그라운드에서 비동기식으로 이루어집니다. E_OK의 반환값은 검증 요청이 성공적으로 수락되었음만을 나타냅니다. 실제 검증 결과는 구성된 콜백 함수 KeyMCertificateVerifyCallbackNotificationFunc가 유효하게 구성되어 있는 경우 이를 통해 호출자에게 통지됩니다 [SWS_KeyM_00153].
요청이 수락되지 않은 경우 함수는 오류 처리를 위해 특정 반환값을 제공합니다 [SWS_KeyM_00059]:
KEYM_E_BUSY: Key Manager가 다른 작업으로 사용 중이어서 이 시점에 유효성 검사를 아직 시작할 수 없습니다.KEYM_E_PARAMETER_MISMATCH: 전달된 인증서 ID 중 하나 이상이 유효하지 않습니다.KEYM_E_KEY_CERT_EMPTY: 참조된 인증서 슬롯 중 하나가 비어 있습니다.KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: 상위 인증서(CertUpperId)가 유효하지 않습니다.E_NOT_OK: 내부 오류로 인해 작업이 거부되었습니다.
이 텍스트는 AI에 의해 생성되었으며 AUTOSAR 명세에 따른 기술적 참고용으로 사용됩니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_VerifyCertificate [SWS_KeyM_00060] 📄 PDF
Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);
Service KeyM_VerifyCertificate.
함수 KeyM_VerifyCertificate은 이전에 KeyM_SetCertificate()을 통해 제공된 인증서의 비동기 검증에 사용됩니다 [SWS_KeyM_00060]. 검사는 전달된 인증서 식별자 CertId을 기반으로 Key Manager에 이미 저장된 다른 인증서 ID의 인증서와 비교하여 수행됩니다 [SWS_KeyM_00060]. 선언은 헤더 파일 KeyM.h를 통해 제공됩니다 [SWS_KeyM_00060].
호출 시맨틱 및 반환값
E_OK의 반환값은 검증 요청이 성공적으로 수락되었으며 작업이 백그라운드에서 실행됨을 확인합니다 [SWS_KeyM_00060]. 요청을 수락할 수 없는 경우 특정 오류 코드를 통해 동기식으로 피드백이 제공됩니다 [SWS_KeyM_00060]:
E_NOT_OK: 내부 오류로 인해 작업이 거부되었습니다 [SWS_KeyM_00060].KEYM_E_BUSY: KeyM 모듈이 현재 다른 작업으로 사용 중이어서 검증을 아직 실행할 수 없습니다 [SWS_KeyM_00060].KEYM_E_PARAMETER_MISMATCH: 전달된CertId이 유효하지 않습니다[SWS_KeyM_00060].KEYM_E_KEY_CERT_EMPTY: 필요한 인증서 슬롯 중 적어도 하나가 비어 있습니다 [SWS_KeyM_00060].KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: 신뢰 체인의 상위 인증서가 유효하지 않습니다 [SWS_KeyM_00060].
동시성 및 비동증성
KeyM_VerifyCertificate은 재진입 불가능(Non Reentrant)으로 명시되어 있으므로, 호출자는 동시 호출이나 인터럽트 호출이 발생하지 않도록 해야 합니다 [SWS_KeyM_00060]. 검증 요청이 성공적으로 수락된 후(반환값 E_OK), 백그라운드 작업의 결과는 유효한 함수 이름이 지정된 경우 구성된 콜백 함수 KeyMCertificateVerifyCallbackNotificationFunc로 전달됩니다 [SWS_KeyM_00153].
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_VerifyCertificateChain [SWS_KeyM_00061] 📄 PDF
Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);
Service KeyM_VerifyCertificateChain.
함수 KeyM_VerifyCertificateChain은 전달된 인증서 체인에 대해 인증서를 비동기적으로 검증하는 데 사용됩니다 [SWS_KeyM_00061]. 매개변수로 체인의 마지막 인증서 식별자(CertId), PKI 순서에 따라 정렬된 인증서 배열에 대한 포인터(certChainData), 그리고 인증서 개수(NumberOfCertificates)가 전달됩니다 [SWS_KeyM_00061]. 호출 전에 검증 대상 인증서는 KeyM_SetCertificate()을 통해 등록되어 있어야 하며, 루트 인증서는 목록에 포함되어 있거나 이미 다른 인증서 중 하나에 할당되어 있어야 합니다 [SWS_KeyM_00061].
이 함수는 재진입 불가(Non Reentrant)이며 헤더 파일 KeyM.h을 통해 제공됩니다 [SWS_KeyM_00061]. 다음의 동기 반환값은 작업 수락 상태를 나타냅니다 [SWS_KeyM_00061]:
E_OK: 검증 작업이 수락되었으며 백그라운드에서 실행됩니다 [SWS_KeyM_00061].E_NOT_OK: 내부 오류로 인해 작업이 거부되었습니다 [SWS_KeyM_00061].KEYM_E_BUSY: 모듈이 다른 작업으로 사용 중이어서 아직 유효성 검사를 실행할 수 없습니다 [SWS_KeyM_00061].KEYM_E_PARAMETER_MISMATCH: 전달된 인증서 ID가 유효하지 않습니다 [SWS_KeyM_00061].KEYM_E_KEY_CERT_EMPTY: 필요한 인증서 슬롯 중 하나가 비어 있습니다 [SWS_KeyM_00061].KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: 신뢰 체인의 상위 인증서가 유효하지 않습니다 [SWS_KeyM_00061].
작업이 E_OK으로 수락된 경우 평가는 백그라운드에서 수행됩니다. KeyMCertificateVerifyCallbackNotificationFunc이 유효한 함수로 구성되어 있으면 KeyM은 이 콜백 함수를 통해 검증 작업의 최종 결과를 호출 애플리케이션에 다시 보고합니다 [SWS_KeyM_00061] [SWS_KeyM_00153].
이 사용 지침은 AUTOSAR 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertElementGet [SWS_KeyM_00063] 📄 PDF
Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGet.
사용법 및 호출 컨텍스트
동기 함수 KeyM_CertElementGet은 인증서 슬롯에서 특정 인증서 요소의 데이터를 호출자가 제공한 버퍼로 읽어오는 역할을 합니다 [SWS_KeyM_00063]. 이 함수는 인증서 구성에 저장된 객체 식별자(OID)에 정확히 단일 요소가 할당되어 있는 경우에 사용됩니다 [SWS_KeyM_00063].
호출자는 인증서 식별자 CertId, 요소 식별자 CertElementId 및 대상 버퍼에 대한 포인터 CertElementData를 전달합니다 [SWS_KeyM_00063]. 매개변수 CertElementDataLength는 입력 및 출력 결합 값으로 사용됩니다. 호출 전에는 최대 버퍼 크기를 포함해야 합니다. 성공 시(E_OK) 실제로 기록된 데이터 길이로 덮어쓰여지며, 오류가 발생하면 함수는 참조된 값을 0으로 리셋합니다 [SWS_KeyM_00063].
오류 처리 및 반환값
이 함수는 다음 반환값을 통해 실행 상태를 보고합니다 [SWS_KeyM_00063]:
E_OK: 요소를 찾았으며 버퍼로 성공적으로 복사되었습니다 [SWS_KeyM_00063].E_NOT_OK: 요소 데이터를 찾을 수 없습니다 [SWS_KeyM_00063].KEYM_E_PARAMETER_MISMATCH: 유효하지 않은CertId또는CertElementId[SWS_KeyM_00063].KEYM_E_KEY_CERT_SIZE_MISMATCH: 제공된 버퍼가 해당 요소의 데이터에 비해 너무 작습니다 [SWS_KeyM_00063].KEYM_E_KEY_CERT_EMPTY: 지정된 슬롯에 데이터가 존재하지 않으며, 슬롯이 비어 있습니다 [SWS_KeyM_00063].KEYM_E_KEY_CERT_INVALID: 인증서가 유효하지 않거나 아직 검증되지 않았습니다 [SWS_KeyM_00063].
동시성
이 함수는 재진입 불가능(Non Reentrant)으로 명시되어 있습니다 [SWS_KeyM_00063]. 따라서 서로 다른 태스크나 컨텍스트에서 동시에 호출하는 경우 호출자 측의 동기화가 필요할 것으로 보입니다. 질문 Q-238a3e53ce0e3a45 (열림)
이 텍스트는 AI에 의해 작성되었습니다. 모든 정보는 오직 AUTOSAR 표준 릴리스 R20-11을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertificateElementGetByIndex [SWS_KeyM_91014] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);
Service KeyM_CertificateElementGetByIndex.
동기 함수 KeyM_CertificateElementGetByIndex은 하나의 요소 유형에 여러 항목이 있는 경우 0 기반 인덱스(0..N)를 사용하여 인증서 요소의 데이터를 목표하여 읽어오는 역할을 합니다 [SWS_KeyM_91014]. 따라서 순차적 반복에 대한 직접 액세스 대안을 제공합니다.
사용법 및 매개변수
호출자는 인증서 식별자 CertId, 요소 식별자 CertElementId 및 원하는 Index를 전달합니다 [SWS_KeyM_91014]. 또한 호출자는 CertElementDataPtr를 위한 메모리를 할당하고 CertElementDataLengthPtr를 통해 사용 가능한 최대 버퍼 크기를 전달해야 합니다. 성공적으로 반환되면 CertElementDataLengthPtr은 복사된 데이터의 실제 길이로 덮어쓰여집니다 [SWS_KeyM_91014].
반환값 및 오류 처리
이 함수는 특정 Std_ReturnType 반환값을 통해 결과를 알립니다 [SWS_KeyM_91014]:
E_OK: 요소를 찾았으며 대상 버퍼로 성공적으로 복사되었습니다.KEYM_E_PARAMETER_MISMATCH: 유효하지 않은CertId, 유효하지 않은CertElementId이거나 전달된Index이 유효 범위를 벗어났습니다.KEYM_E_KEY_CERT_SIZE_MISMATCH: 제공된 버퍼가 인증서 요소에 비해 너무 작습니다.KEYM_E_KEY_CERT_EMPTY: 지정된 인증서에 데이터가 없거나 비어 있습니다.KEYM_E_CERT_INVALID: 인증서가 유효하지 않거나 검증에 실패했습니다.E_NOT_OK: 요소 데이터 읽기에 실패했습니다.
동시성
규격에 따라 이 서비스는 재진입 불가능(Non Reentrant)으로 분류됩니다 [SWS_KeyM_91014]. 따라서 호출은 보호되지 않은 상태에서 동시에 실행되어서는 안 됩니다.
이 사용 지침은 AUTOSAR R20-11 규격을 기반으로 AI 어시스턴트에 의해 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertificateElementGetCount [SWS_KeyM_91015] 📄 PDF
Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);
This function provides the total number of data elements that a re available for the specified certificate element. Typically, only one data element is available. But in some cases, several data elements can be assigned to one certificate element in a row. This function retrieves the total number of elements. The indiv idual data elements can then accessed with Key M_ Certificate Element Get By Index(). It is similar to the functions Key M_ Cert Element Get First/ Key M_ Cert Element Get Next to retrieve a group of data elements of one certificate element. AUTOSAR CP R20 - of
동기 인터페이스 KeyM_CertificateElementGetCount은 특정 인증서 요소에 대해 저장된 데이터 요소의 총 개수를 확인하고 그 결과를 버퍼 CountPtr에 기록합니다 [SWS_KeyM_91015].
사용법 및 매개변수
이 함수는 헤더 KeyM.h을 통해 선언되며 서비스 ID 0x1c을 갖습니다 [SWS_KeyM_91015]. 이 함수는 다음 매개변수를 처리합니다:
CertId(IN): 쿼리할 인증서의 고유 식별자입니다([SWS_KeyM_91015]).CertElementId(IN): 인증서 내의 구체적인 요소를 지정합니다([SWS_KeyM_91015]).CountPtr(OUT): 사용 가능한 데이터 요소 개수가 복사될uint16타입 버퍼에 대한 포인터입니다([SWS_KeyM_91015]).
오류 처리 및 반환값
유형 Std_ReturnType의 반환값은 실행 결과에 대한 정보를 제공합니다 [SWS_KeyM_91015]:
E_OK: 카운트 값이 버퍼에 성공적으로 기록되었습니다([SWS_KeyM_91015]).E_NOT_OK: 카운트 값을 제공할 수 없습니다([SWS_KeyM_91015]).KEYM_E_PARAMETER_MISMATCH: 인증서 ID(CertId) 또는 요소 ID(CertElementId)가 유효하지 않거나 허용 범위를 벗어났습니다([SWS_KeyM_91015]).
동시성 및 상호 작용
실행은 동기식이지만 재진입 불가(Non Reentrant)로 분류되므로, 동시 호출을 조정해야 합니다 [SWS_KeyM_91015]. 인증서 요소에는 일반적으로 단일 데이터 요소만 할당되지만, 특정 경우에는 여러 데이터 요소가 연속해서 존재할 수 있습니다 [SWS_KeyM_91015]. 확인된 총 개수는 이후 KeyM_CertificateElementGetByIndex()을(를) 통해 개별 요소를 목적에 맞게 읽어오기 위한 기반으로 사용되며, 이는 기능적으로 KeyM_CertElementGetFirst 및 KeyM_CertElementGetNext을(를) 사용한 반복적 방식과 유사합니다 [SWS_KeyM_91015].
이 사용 지침은 AUTOSAR 명세 SWS_KeyM_91015를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertElementGetFirst [SWS_KeyM_00064] 📄 PDF
Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetFirst.
동기 함수 KeyM_CertElementGetFirst은 [SWS_KeyM_00064]에 따라 인증서 데이터의 반복적 추출을 시작하는 역할을 합니다. 이 함수는 인증서 CertId에서 CertElementId를 통해 주소 지정된 인증서 요소의 최상위 요소를 읽어오고, 이후의 KeyM_CertElementGetNext() 호출을 위해 반복자(iterator) 구조 CertElementIterator를 초기화합니다.
호출 시 [SWS_KeyM_00064]에 따른 다음 매개변수 및 메모리 요구사항을 준수해야 합니다:
CertElementIterator: 호출자가 할당하고 관리하는 구조체에 대한 포인터입니다. 모든 데이터가KeyM_CertElementGetNext()을 통해 조회될 때까지 애플리케이션에서 이를 파괴하거나 수정해서는 안 됩니다.CertElementData: 호출자가 제공한 출력 버퍼에 대한 포인터로, 성공적으로 검색된 경우(E_OK) 페이로드가 복사됩니다.CertElementDataLength: 입력으로 데이터 버퍼의 최대 길이를 전달하며,E_OK이 반환될 때 실제로 기록된 데이터 길이로 덮어쓰여집니다.
동시성과 관련하여 [SWS_KeyM_00064]에 따르면 이 서비스는 재진입 가능하지만 정확히 하나의 반복자에 대해서만 적용됩니다(“Reentrant for one iterator”).
오류가 발생하는 경우 이 함수는 [SWS_KeyM_00064]에 따른 특정 반환값으로 구분합니다. E_NOT_OK은 요소 데이터를 찾을 수 없음을 나타냅니다(이후 반복자를 추가 호출에 사용해서는 안 됩니다). KEYM_E_PARAMETER_MISMATCH는 유효하지 않은 인증서 또는 요소 ID를 알리고, KEYM_E_KEY_CERT_SIZE_MISMATCH은 데이터 버퍼가 너무 작음을, KEYM_E_KEY_CERT_EMPTY는 사용 가능한 데이터가 없는 빈 인증서를, KEYM_E_CERT_INVALID는 유효하지 않거나 성공적으로 검증되지 않은 인증서를 나타냅니다.
이 사용 지침은 AUTOSAR R20-11 사양 데이터를 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_CertElementGetNext [SWS_KeyM_00065] 📄 PDF
Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);
Service KeyM_CertElementGetNext.
동기 함수 KeyM_CertElementGetNext(서비스 ID 0x11, KeyM.h를 통해 제공됨)은 인증서 요소에 여러 레코드가 순차적으로 저장되어 있는 경우 추가 데이터를 연속적으로 읽어오는 역할을 합니다 [SWS_KeyM_00065]. 필수 호출 조건으로서 규격은 이전에 함수 KeyM_CertElementGetFirst()가 최소 한 번 호출되었을 것을 요구합니다 [SWS_KeyM_00065].
모든 매개변수를 위한 메모리 영역은 호출 애플리케이션에서 제공해야 합니다 [SWS_KeyM_00065]:
CertElementIterator: 할당된 반복자 구조체에 대한 포인터로, 모든 요소를 완전히 읽을 때까지 순회 중에 애플리케이션에서 수정하거나 파괴해서는 안 됩니다 [SWS_KeyM_00065].CertElementData: 함수가 성공적으로 실행될 때 페이로드를 복사하는 출력 버퍼에 대한 포인터입니다 [SWS_KeyM_00065].CertElementDataLength: 호출 시 데이터 버퍼의 최대 용량을 전달하며, 성공적으로 반환될 때 복사된 데이터의 실제 길이로 덮어쓰여집니다 [SWS_KeyM_00065].
호출 결과 E_OK이 반환되면 다음 요소를 찾아 버퍼에 기록하고 반복자가 그에 따라 진행된 것입니다 [SWS_KeyM_00065]. E_NOT_OK의 경우 더 이상의 요소 데이터를 찾을 수 없음을 의미하며, 이 경우 반복자를 더 이상 추가 호출에 사용할 수 없습니다 [SWS_KeyM_00065]. 오류 상황은 특정 반환값을 통해 보고됩니다. KEYM_E_KEY_CERT_SIZE_MISMATCH는 너무 작게 지정된 데이터 버퍼를 나타내고, KEYM_E_PARAMETER_MISMATCH는 유효하지 않은 인증서 또는 요소 ID, KEYM_E_KEY_CERT_EMPTY은 빈 인증서, KEYM_E_CERT_INVALID은 유효하지 않거나 성공적으로 검증되지 않은 인증서를 나타냅니다 [SWS_KeyM_00065].
동시성과 관련하여 이 동기 함수는 각각 하나의 반복자에 대해 재진입 가능하도록 명시되어 있습니다 [SWS_KeyM_00065].
이 사용 지침은 AUTOSAR 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertGetStatus [SWS_KeyM_00066] 📄 PDF
Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);
This function provides the sta tus of a certificate.
동기 함수 KeyM_CertGetStatus은 인증서의 상태를 쿼리하고 출력 매개변수를 통해 제공하는 역할을 합니다 [SWS_KeyM_00066]. 함수의 선언은 헤더 파일 KeyM.h를 통해 접근할 수 있으며, 서비스에는 16진수 서비스 ID 0x12이 할당되어 있습니다 [SWS_KeyM_00066].
호출에는 다음 매개변수가 사용됩니다 [SWS_KeyM_00066]:
CertId(IN): 쿼리할 인증서의 식별자를 포함하며 데이터 타입KeyM_CertificateIdType로 전달됩니다 [SWS_KeyM_00066].Status(OUT): 함수가 확인된 인증서 상태를 기록하는KeyM_CertificateStatusType타입 메모리 영역에 대한 포인터입니다 [SWS_KeyM_00066].
Std_ReturnType 타입의 반환값은 상태 쿼리의 결과를 알려줍니다 [SWS_KeyM_00066]:
E_OK: 인증서 상태가 성공적으로 확인되어 제공되었습니다 [SWS_KeyM_00066].E_NOT_OK: 현재 상태를 제공할 수 없습니다 [SWS_KeyM_00066]. 이는 예를 들어 오류 코드KEYM_E_PARAMETER_MISMATCH로 문서화된 유효하지 않은 인증서 ID가 전달될 때 발생합니다 [SWS_KeyM_00066].
실행 및 동시성과 관련하여 이 인터페이스는 순수하게 동기식으로 동작하며 재진입 불가능(Non Reentrant)으로 명시되어 있습니다 [SWS_KeyM_00066]. 따라서 여러 실행 컨텍스트에 걸친 동시 호출은 허용되지 않습니다. 이 인터페이스에는 추가적인 입력 및 출력 매개변수가 정의되어 있지 않습니다 [SWS_KeyM_00066].
이 사용 지침은 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 KeyM_MainFunction [SWS_KeyM_00074] 📄 PDF
void KeyM_MainFunction (void);
Function is called periodically according the specified time interval.
함수 KeyM_MainFunction은 Classic AUTOSAR 모듈 KeyM을 위한 주기적 메인 함수 역할을 합니다 [SWS_KeyM_00074]. 명세에 따르면 이 함수는 16진수 표기의 서비스 ID 0x19과 시그니처 void KeyM_MainFunction (void)를 가집니다 [SWS_KeyM_00074]. 따라서 호출 인스턴스는 입력 매개변수를 전달하지 않으며 반환값을 받지 않습니다 [SWS_KeyM_00074].
시간 제어의 경우 이 함수가 정의된 시간 간격에 따라 주기적으로 호출되도록 명시되어 있습니다 [SWS_KeyM_00074]. 인터페이스 파일로는 헤더 파일 SchM_KeyM.h이 선언되어 있습니다 [SWS_KeyM_00074]. 이로부터 다음과 같은 해석이 도출됩니다. SchM_KeyM.h을 통한 제공을 고려할 때 이 함수의 정기적인 호출은 기본 소프트웨어 스케줄러(SchM)의 컨텍스트에서 수행될 것으로 보입니다 [SWS_KeyM_00074]. 또한 주기적 트리거링은 모듈 내 시간 종속적 프로세스의 내부 처리에 사용되는 것으로 추정됩니다 KeyM. 질문 Q-761ff71812bda3c2 (열림)
오류 처리 및 오류 동작과 관련하여 이 서비스에 대한 반환 코드, 오류 상수 또는 DET나 DEM으로의 메시지는 명세 요소에 문서화되어 있지 않습니다 [SWS_KeyM_00074]. 입력 매개변수가 존재하지 않으므로 호출 시 전달값에 대한 확인 역시 생략됩니다 [SWS_KeyM_00074].
이 사용 참고사항은 AUTOSAR 릴리스 R20-11 명세를 기반으로 AI 시스템에 의해 자동으로 생성되었습니다.
함수 KeyM_MainBackgroundFunction [SWS_KeyM_00075] 📄 PDF
void KeyM_MainBackgroundFunction (void);
Function is called from a pre - emptive operating system when no other task operation is needed. Can be used for calling time consuming synchronous functions such as Key M_ KH_ Update().
사용법 및 호출 컨텍스트
함수 KeyM_MainBackgroundFunction은 시그니처 void KeyM_MainBackgroundFunction(void)을 가지며 서비스 ID 0x1a로 지정되어 있습니다 [SWS_KeyM_00075]. 이 함수는 전달 매개변수를 받지 않으며 호출자에게 반환값을 반환하지 않습니다 [SWS_KeyM_00075]. 연동을 위해 인터페이스는 헤더 파일 SchM_KeyM.h를 통해 선언 및 제공됩니다 [SWS_KeyM_00075].
호출은 처리 대기 중인 다른 태스크 작업이 없을 때 선점형 운영체제에 의해 백그라운드에서 수행됩니다 [SWS_KeyM_00075]. 이 함수의 주요 목적은 KeyM_KH_Update()의 실행에 대해 예시적으로 설명된 것과 같이 KeyM 모듈의 시간이 많이 소요되는 동기식 작업을 위해 중요도가 낮은(uncritical) 백그라운드 컨텍스트를 제공하는 것입니다 [SWS_KeyM_00075].
동시성 및 오류 처리
이 함수는 선점형 운영체제의 백그라운드 컨텍스트에서 실행되므로, 우선순위가 더 높은 임의의 일반 태스크에 의해 언제든지 중단될 수 있을 것으로 보입니다. 질문 Q-a2394a51ba63467f (열림) 이 백그라운드 서비스에 대해 표준은 특정 오류 코드나 DET 또는 DEM으로의 알림을 지정하지 않습니다 [SWS_KeyM_00075]. 또한 제공된 데이터 상태에서는 다른 모듈 함수와 관련된 특별한 재진입 속성이나 고정된 순서 조건이 규정되어 있지 않습니다 [SWS_KeyM_00075].
이 텍스트는 AI에 의해 작성되었으며 페이로드의 명세 데이터에 전적으로 기반합니다.
함수 KeyM_KH_Start [SWS_KeyM_00067] 📄 PDF
Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key
동기 및 재진입 불가능 함수 KeyM_KH_Start은 헤더 KeyM_Externals.h을 통해 선언됩니다 [SWS_KeyM_00067]. 구성 매개변수 KeyMCryptoKeyStartFinalizeFunctionEnabled 및 KeyMCryptoKeyHandlerStartFinalizeEnabled가 TRUE로 설정된 경우, KeyM_Start 호출 시 즉시 실행됩니다 [SWS_KeyM_00067].
매개변수 StartType을 통해 키 작업의 실행 모드가 지정됩니다. 함수는 RequestData 및 RequestDataLength를 통해 서명과 같은 요청별 부가 데이터를 수신합니다. 호출자는 입출력 매개변수 ResponseDataLength을 통해 버퍼 ResponseData에서 사용 가능한 최대 바이트 수를 전달하며, 성공 시 함수는 이를 통해 실제로 기록된 응답 바이트 수를 반환합니다 [SWS_KeyM_00067].
함수는 반환값으로 Std_ReturnType 타입의 상태를 반환합니다 [SWS_KeyM_00067]:
E_OK: 시작 작업이 성공했습니다. 오직 이 반환값을 통해서만 Key Manager가 활성 상태로 전환되므로 후속 키 업데이트(Key Updates)가 허용됩니다.E_NOT_OK: 시작 작업이 수락되지 않았습니다.KEYM_E_PARAMETER_MISMATCH: 전달된 매개변수가 예상값과 일치하지 않습니다.KEYM_E_KEY_CERT_SIZE_MISMATCH: 지정된 매개변수 크기가 예상 크기와 일치하지 않습니다.
KeyM_KH_Start은 재진입 불가능으로 정의되어 있으므로, 병렬 키 작업을 위한 호출이 동시에 발생해서는 안 됩니다 [SWS_KeyM_00067].
본 사용 지침은 AUTOSAR CP R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_KH_Prepare [SWS_KeyM_00068] 📄 PDF
Std_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);
If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both set to TRUE, then this function w ill be called immediately when Key M_ Prepare gets called. The function takes over the task to prepare a key management operation. The response data will be passed on as is to the caller of Key_ Prepare.
사용법 및 호출 컨텍스트
함수 KeyM_KH_Prepare은 헤더 파일 KeyM_Externals.h을 통해 선언되며 키 관리 작업 준비에 사용됩니다 [SWS_KeyM_00068]. 이 함수는 두 구성 매개변수 KeyMCryptoKeyPrepareFunctionEnabled와 KeyMCryptoKeyHandlerPrepareEnabled가 각각 TRUE으로 설정된 경우 KeyM_Prepare 호출 시 즉시 트리거됩니다 [SWS_KeyM_00068]. 실행은 동기식으로 이루어지며 재진입 불가능으로 명시되어 있습니다 [SWS_KeyM_00068].
데이터 전달은 4개의 매개변수를 통해 수행됩니다 [SWS_KeyM_00068]:
RequestData: 요청과 함께 전달되는 입력 데이터입니다 [SWS_KeyM_00068].RequestDataLength: 배열 내 데이터의 길이입니다RequestData[SWS_KeyM_00068].ResponseDataPtr: 함수에서 반환하는 응답 데이터용 버퍼에 대한 포인터로,Key_Prepare의 호출자에게 변경 없이 전달됩니다 [SWS_KeyM_00068].ResponseDataLength: 입출력 매개변수입니다. 호출 시 버퍼에서 사용 가능한 최대 바이트 수를 전달하고, 복귀 후 실제로 기록된 바이트 수를 반환합니다 [SWS_KeyM_00068].
반환값 및 오류 동작
이 함수는 결과로 상태 값 Std_ReturnType을 반환합니다 [SWS_KeyM_00068]:
E_OK: 서비스가 수락되어 내부적으로 추가 처리 중이며, 결과는 콜백을 통해 전달됩니다 [SWS_KeyM_00068].E_NOT_OK: 내부 오류로 인해 서비스가 수락되지 않았습니다 [SWS_KeyM_00068].KEYM_E_PARAMETER_MISMATCH: 매개변수가 예상값과 일치하지 않음 [SWS_KeyM_00068].KEYM_E_KEY_CERT_SIZE_MISMATCH: 매개변수의 크기가 적절하지 않습니다 [SWS_KeyM_00068].
이 텍스트는 AI에 의해 작성되었습니다. 모든 정보는 오직 AUTOSAR 표준 릴리스 R20-11을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_KH_Finalize [SWS_KeyM_00070] 📄 PDF
Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);
If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this function will be called immediately when Key M_
사용 및 위임
함수 KeyM_KH_Finalize은 헤더 파일 KeyM_Externals.h을 통해 선언되며 사용자 정의 키 핸들러 역할을 합니다 [SWS_KeyM_00070]. 구성에서 KeyMCryptoKeyStartFinalizeFunctionEnabled과 KeyMCryptoKeyHandlerStartFinalizeEnabled가 모두 TRUE로 설정된 경우 KeyM_Finalize()은 자체적인 작업을 수행하지 않고 처리를 이 핸들러 함수에 즉시 위임합니다 [SWS_KeyM_00070].
호출 컨텍스트 및 매개변수
KeyM_KH_Finalize 호출은 동기식으로 수행되지만, 재진입 불가능(Non Reentrant)으로 분류되며 보호된 호출 컨텍스트가 필요합니다 [SWS_KeyM_00070]. 데이터 전달은 다음 매개변수를 통해 수행됩니다:
RequestData및RequestDataLength: 요청과 함께 전달된 입력 데이터에 대한 포인터 및 데이터 배열의 길이입니다 [SWS_KeyM_00070].ResponseData: 함수가 제공하는 출력 데이터용 버퍼입니다 [SWS_KeyM_00070].ResponseDataLength: 호출 시 응답 버퍼에서 사용 가능한 최대 바이트 수를 지정하고 복귀 시 실제로 기록된 바이트 수를 포함하는 입/출력 매개변수입니다 [SWS_KeyM_00070].
반환값 및 오류 처리
작업 결과는 Std_ReturnType을 통해 반환됩니다 [SWS_KeyM_00070]:
E_OK: 작업이 수락되어 내부적으로 추가 처리 중이며, 결과는 콜백을 통해 제공됩니다 [SWS_KeyM_00070]. 해석: 함수 인터페이스가 동기식으로 정의되어 있음에도 불구하고 실제 처리는 백그라운드에서 계속 진행될 것으로 보입니다. 질문 Q-02c4aac040570c03 (열림)E_NOT_OK: 내부 오류로 인해 작업이 수락되지 않았습니다 [SWS_KeyM_00070].KEYM_E_BUSY: Key Manager가 다른 작업으로 사용 중이어서 현재 검증을 수행할 수 없습니다 [SWS_KeyM_00070].KEYM_E_PARAMETER_MISMATCH: 매개변수가 예상값과 일치하지 않음 [SWS_KeyM_00070].KEYM_E_KEY_CERT_SIZE_MISMATCH: 전달된 매개변수 크기가 사양과 일치하지 않습니다 [SWS_KeyM_00070].
이 텍스트는 AI에 의해 생성되었으며 가이드 역할을 합니다. AUTOSAR 사양이 결정적인 기준입니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CryptoKeyUpdateCallbackNotification [SWS_KeyM_00077] 📄 PDF
void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key update operation has been finished. This function is used by the key manager.
콜백 함수 KeyM_CryptoKeyUpdateCallbackNotification()은 암호화 키의 업데이트가 완료되었음을 애플리케이션에 알립니다([SWS_KeyM_00077]). 이 함수는 KeyM_Externals.h를 통해 제공되며 동기식이고 재진입 가능하며 반환값이 없습니다([SWS_KeyM_00077]).
매개변수
Result:KeyM_ResultType타입을 통해 업데이트 작업의 결과에 대한 정보를 전송합니다([SWS_KeyM_00077], [SWS_KeyM_00156]).ResultDataLength: 이 작업의 결과 데이터 길이를 지정합니다([SWS_KeyM_00077], [SWS_KeyM_00156]).ResultDataPtr: 결과 데이터에 대한 포인터입니다([SWS_KeyM_00077]).
상호작용 및 버퍼 관리
키 핸들러가 반환되어 작업 유형 KEYM_KH_UPDATE_FINISH를 반환하는 즉시 KeyM_Update()에 의해 KeyM_CryptoKeyUpdateCallbackNotification() 호출이 수행됩니다([SWS_KeyM_00093]). 이때 KeyM_KH_Update::ResultDataPtr의 결과 데이터가 KeyM_Update() 호출 시 전달되었던 버퍼로 복사되고, 키 핸들러의 반환값이 적용됩니다([SWS_KeyM_00093]).
KeyM_Update()이 E_OK로 프로세스를 수락한 경우, 호출 함수는 콜백 알림 KeyM_CryptoKeyUpdateCallbackNotification()이 발생할 때까지 버퍼 ResultDataPtr를 어떠한 경우에도 수정해서는 안 됩니다([SWS_KeyM_00156]). 동일한 버퍼 포인터가 콜백에서 작업 결과가 복사된 ResultDataPtr로 전달됩니다([SWS_KeyM_00156]).
이 사용 지침은 AUTOSAR Classic R20-11 명세를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CryptoKeyFinalizeCallbackNotification [SWS_KeyM_00079] 📄 PDF
void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Service KeyM_CryptoKeyFinalizeCallbackNotification.
콜백 함수 KeyM_CryptoKeyFinalizeCallbackNotification은 키 완료 작업의 완료를 애플리케이션에 알립니다 [SWS_KeyM_00079]. 이 함수는 동기식 및 재진입 가능으로 명시되어 있고 반환값이 없으며 헤더 파일 KeyM_Externals.h를 통해 선언됩니다 [SWS_KeyM_00079].
이 인터페이스는 호출 시 애플리케이션에 다음 매개변수를 전달합니다 [SWS_KeyM_00079]:
Result(타입KeyM_ResultType): 완료된 작업의 결과 및 상태 정보를 전달합니다 [SWS_KeyM_00079].Result Data Length(타입uint16): 이 작업의 결과 데이터 길이를 지정합니다 [SWS_KeyM_00079].Result Data Ptr(타입const uint8*): 이전에 서비스 함수에 제공되었던 결과 데이터가 포함된 버퍼에 대한 포인터입니다 [SWS_KeyM_00079].
구성과 관련하여 콜백 함수는 구성 매개변수 KeyMCryptoKeyStartFinalizeFunctionEnabled이 TRUE로 설정된 경우에만 호출되고 필요합니다 [SWS_KeyM_00079]. 이 콜백 함수에 대한 특정 DET 또는 DEM 오류 메시지는 정의되어 있지 않습니다. 애플리케이션은 이전에 시작된 키 완료의 비동기 결과를 수신하기 위해 이 콜백을 구현하는 것으로 보입니다. 질문 Q-6d9e4e062b008832 (열림)
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CryptoKeyVerifyCallbackNotification [SWS_KeyM_00081] 📄 PDF
void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that a crypto key verify operation has been finished. This function is used by the key manager.
사용법 및 매개변수
콜백 함수 KeyM_CryptoKeyVerifyCallbackNotification은 KeyM 모듈에 의한 암호화 키 검증 작업의 완료를 애플리케이션에 알립니다 [SWS_KeyM_00081]. 해석: 규격에 따르면 해당 요소는 헤더 KeyM_Externals.h를 통해 제공되고 애플리케이션에 알리는 역할을 하므로, 구현은 사용하는 소프트웨어 컴포넌트에 의해 수행되고 호출은 Key-Manager에 의해 수행될 것으로 보입니다 [SWS_KeyM_00081]. 질문 Q-e88e332a7d2cac40 (열림)
호출을 위해 4개의 순수 입력 매개변수가 정의되어 있습니다 [SWS_KeyM_00081]:
Result(KeyM_ResultType): 완료된 검증의 결과를 전달합니다 [SWS_KeyM_00081].KeyId(uint32): 검증이 시작된 키 식별자를 나타냅니다 [SWS_KeyM_00081].ResultDataLength(uint16): 존재하는 경우 결과 데이터의 길이를 포함합니다 [SWS_KeyM_00081].ResultDataPtr(const uint8*): 검증 결과 데이터를 가리킵니다 [SWS_KeyM_00081].
동시성 및 제약사항
이 함수는 반환값(void)이 없으며 출력 매개변수나 입/출력 매개변수도 없습니다 [SWS_KeyM_00081]. 호출은 동기식 및 재진입 가능하게 실행됩니다 [SWS_KeyM_00081]. 이 콜백에는 특정 오류 코드 및 DET 또는 DEM 메시지가 명시되어 있지 않으며, 상태 및 오류 정보는 오직 매개변수 Result을 통해서만 애플리케이션에 전달됩니다 [SWS_KeyM_00081].
이 텍스트는 사양을 기반으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_ServiceCertificateCallbackNotification [SWS_KeyM_00147] 📄 PDF
void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);
Notifies the application that the certificate service operation has been finished. This function is used by the certificate submodule. Thi s callback is only provided if Key MService Certificate Function Enabled is set to TRUE. The function name is configurable by Key MService Certificate Callback Notification Func.
사용법 및 의미론
콜백 함수 KeyM_ServiceCertificateCallbackNotification은 KeyM의 인증서 서브모듈에 의해 호출되어 인증서 서비스 작업의 완료를 애플리케이션에 알립니다 [SWS_KeyM_00147]. 선행 인증서 작업은 비동기식으로 실행되며 완료 시 이 콜백을 실행하여 결과를 애플리케이션에 전달합니다 [SWS_KeyM_00149].
함수 매개변수를 통해 관련된 모든 결과 데이터가 전달됩니다 [SWS_KeyM_00147]:
CertId: 작업이 시작된 인증서의 식별자.Result: 작업의 상태 또는 결과가 포함된KeyM_ResultType타입.ResultDataLength: 결과 데이터의 길이(존재하는 경우).ResultDataPtr: 결과 데이터를 가리키는 포인터.
함수 자체는 반환값을 가지지 않으며(void) 동기식 실행 시맨틱을 갖습니다 [SWS_KeyM_00147].
구성 및 제약 사항
콜백은 헤더 KeyM_Externals.h을 통해 제공되지만, 구성 매개변수 KeyMServiceCertificateFunctionEnabled이 TRUE로 설정된 경우에만 사용할 수 있습니다 [SWS_KeyM_00147]. 알림 함수의 실제 이름은 구성 매개변수 KeyMServiceCertificateCallbackNotificationFunc를 통해 조정할 수 있습니다 [SWS_KeyM_00147].
동시성 및 오류 처리
사양에 따라 이 함수는 재진입 가능으로 분류됩니다 [SWS_KeyM_00147]. 이전 비동기 작업의 오류 또는 성공 상태는 전달 매개변수 Result을 통해 신호 처리되며, 이 콜백 인터페이스에 대한 특정 DET 또는 DEM 메시지는 페이로드에 정의되어 있지 않습니다 [SWS_KeyM_00147].
이 사용 지침은 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 KeyM_CertificateVerifyCallbackNotification [SWS_KeyM_00073] 📄 PDF
Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);
Notifies the application that a certificate verification has been finished. The function name is configurable by Key MCertificate Verify Callback Notification Func. Availabl e via Key M_ Externals.h
사용
콜백 함수 KeyM_CertificateVerifyCallbackNotification은 인증서 검증 완료를 애플리케이션에 알리는 역할을 합니다 [SWS_KeyM_00073]. 선언은 헤더 KeyM_Externals.h를 통해 제공되며, 함수 이름은 구성 매개변수 KeyMCertificateVerifyCallbackNotificationFunc을 통해 구성될 수 있습니다 [SWS_KeyM_00073].
호출 시 두 개의 입력 매개변수가 전달됩니다 [SWS_KeyM_00073]:
CertId(KeyM_CertificateIdType타입): 검증된 인증서의 식별자입니다 [SWS_KeyM_00073].Result(KeyM_CertificateStatusType타입): 검증 작업의 결과에 대한 정보를 포함합니다 [SWS_KeyM_00073].
이 함수는 Std_ReturnType 타입의 상태 값으로 E_OK 값을 반환합니다 [SWS_KeyM_00073].
실행 및 오류 처리
알림 실행은 동기식 및 재진입 가능으로 정의되어 있습니다 [SWS_KeyM_00073]. 이 콜백에는 특정 오류 코드, 다른 반환값 또는 DET나 DEM에 대한 보고가 정의되어 있지 않습니다 [SWS_KeyM_00073]. 해석: 서로 다른 인증서에 대한 동시 호출을 부작용 없이 처리하기 위해 애플리케이션 측 구현은 스레드 안전하게 설계되어야 할 것으로 보입니다. 질문 Q-6bf5313c425fe1a8 (열림)
이 텍스트는 AUTOSAR R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
타입 KeyM_ConfigType [SWS_KeyM_00157] 📄 PDF
This structure is the base type to initialize the Key Manager module. A pointer to an instance of this structure will be used in the initialization of the Key Manager module.
타입 KeyM_KH_UpdateOperationType [SWS_KeyM_00055] 📄 PDF
Specifies the type of key handler update operation that was performed in the callback.
타입 KeyM_CertElementIteratorType [SWS_KeyM_00042] 📄 PDF
This structure is used to iterate through a number of elements of a certificate.
사용
데이터 타입 KeyM_CertElementIteratorType은 [SWS_KeyM_00042]에 따라 구조체(Structure)로 정의되며 헤더 파일 KeyM.h을 통해 제공됩니다. 사양에 따르면 이 타입은 인증서의 일련의 요소를 반복하는 데 사용됩니다([SWS_KeyM_00042]). 데이터 구조의 구체적인 내용은 명시적으로 구현별로 정의되어 있으므로([SWS_KeyM_00042]), 사용자는 이 타입을 불투명한 반복 상태로 간주하고 내부 구조체 필드에 직접 액세스하지 않아야 할 것으로 보입니다. 질문 Q-81b5deb7dcdf2812 (열림)
취급 및 제약 조건
사양에서 도출되는 사용에 대한 실제적인 프레임워크 조건은 다음과 같습니다:
- 구현별 구조:
KeyM_CertElementIteratorType의 필드는 제조업체별로 구현되므로([SWS_KeyM_00042]), 내부 메모리 레이아웃은 각 BSW 구현에 따라 달라집니다. - 상태 관리: 해석: 인증서 필드의 확인 또는 추출 진행 상황을 추적하기 위해 구조체의 인스턴스가 호출자에 의해 반복자 컨텍스트로 할당되고 인증서 요소 순회를 위한 해당 함수에 전달될 것으로 보입니다. 질문 Q-5ddb438001abe656 (열림)
- 동시성: 동일한 인증서에 대해 병렬 액세스가 발생하는 경우, 반복자 인스턴스는 외부 동기화 없이 여러 태스크에 걸쳐 동시에 사용할 수 없을 것으로 추정됩니다. 질문 Q-6b4b8b1cdc35f021 (열림)
이 텍스트는 AI에 의해 작성되었습니다. 이는 AUTOSAR Classic R20-11의 사양 데이터만을 기반으로 합니다.
타입 KeyM_CryptoKeyIdType [SWS_KeyM_00302] 📄 PDF
Crypto key handle.
타입 KeyM_CertDataPointerType [SWS_KeyM_91011] 📄 PDF
Byte - pointer to the data of the certificate
타입 KeyM_StartType [SWS_KeyM_00038] 📄 PDF
This type specifies in which mode the key operation will start. The OEM production mode provides higher privileges compared to workshop mode.
타입 KeyM_CertElementIdType [SWS_KeyM_00300] 📄 PDF
Certificate Element handle.
타입 KeyM_CertificateIdType [SWS_KeyM_00301] 📄 PDF
Certificate handle.
타입 KeyM_ServiceCertificateType [SWS_KeyM_00039] 📄 PDF
This type specifies the requested service operation and what information is provided with this function.
열거형 KeyM_ServiceCertificateType은 헤더 Rte_KeyM_Type.h을 통해 제공되며 키 서버에서 요청한 인증서 서비스 작업과 함수와 함께 전달되는 정보 유형을 지정합니다 [SWS_KeyM_00039]. RTE 헤더 파일의 선언은 이 타입이 주로 소프트웨어 컴포넌트와 Key Manager 모듈 간의 데이터 교환에 사용됨을 나타내는 것으로 보입니다. 질문 Q-37ed693ea3eda646 (열림)
인증서 관리를 위해 다음과 같은 표준화된 작업 코드가 정의되어 있습니다 [SWS_KeyM_00039]:
KEYM_SERVICE_CERT_REQUEST_CSR(0x01): 키 서버가 키 클라이언트에게 인증서 또는 인증서 서명 요청(CSR)을 생성하도록 요청합니다 [SWS_KeyM_00039].KEYM_SERVICE_CERT_UPDATE_SIGNED_CSR(0x02): 서버가 이전에 수신되어 이제 인증 기관(CA)에 의해 서명된 인증서를 반환합니다 [SWS_KeyM_00039].KEYM_SERVICE_CERT_SET_ROOT(0x03) 및KEYM_SERVICE_CERT_UPDATE_ROOT(0x04): 새 루트 인증서를 생성하거나 기존 루트 인증서를 업데이트합니다 [SWS_KeyM_00039].KEYM_SERVICE_CERT_SET_INTERMEDIATE(0x05) 및KEYM_SERVICE_CERT_UPDATE_INTERMEDIATE(0x06): 중간 인증서(CA 인증서)를 추가하거나 업데이트합니다 [SWS_KeyM_00039].KEYM_SERVICE_CERT_UPDATE_CRL(0x07): 인증서 폐기 목록(CRL)을 제공하거나 업데이트합니다 [SWS_KeyM_00039].
필수 전제 조건으로, KEYM_SERVICE_CERT_SET_INTERMEDIATE은 성공적인 검증을 보장하기 위해 중간 인증서를 설정하기 전에 연결된 루트 인증서가 이미 저장되어 있어야 한다고 요구합니다 [SWS_KeyM_00039]. 프로젝트별 확장을 위해 사양은 0x80부터 0x9F까지의 예약된 값 범위를 제공합니다 [SWS_KeyM_00039].
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11 사양을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I2)
타입 Max [SWS_KeyM_91000] 📄 PDF
Array long enough to store the key or certificate name. base Type Encoding = UTF -
타입 KeyM_CertificateStatusType [SWS_KeyM_91003] 📄 PDF
Type KeyM_CertificateStatusType.
열거형 타입 KeyM_CertificateStatusType은 인증서 검사 결과를 나타내며 Key Manager에서 인증서의 현재 검증 및 처리 상태를 반영합니다 [SWS_KeyM_91003]. 이 타입은 헤더 Rte_KeyM_Type.h를 통해 제공되며 호출자가 인증서 검증의 상태 또는 특정 오류 원인을 세분화하여 평가하는 데 사용됩니다 [SWS_KeyM_91003].
열거형 값은 정규 중간 상태 및 성공 상태뿐만 아니라 정확한 오류 상황도 포괄합니다 [SWS_KeyM_91003]:
KEYM_CERTIFICATE_VALID(0x00): 인증서가 성공적으로 파싱되고 검증되었습니다 [SWS_KeyM_91003].KEYM_CERTIFICATE_INVALID(0x01): 구체적으로 명시되지 않은 오류로 인해 인증서가 유효하지 않습니다 [SWS_KeyM_91003].KEYM_CERTIFICATE_NOT_PARSED(0x02): 인증서가 아직 파싱되지 않았습니다 [SWS_KeyM_91003].KEYM_CERTIFICATE_PARSED_NOT_VALIDATED(0x03): 인증서가 파싱되었으나 아직 유효성 검사가 수행되지 않았습니다 [SWS_KeyM_91003].KEYM_CERTIFICATE_NOT_AVAILABLE(0x04): 인증서가 설정되지 않았습니다 [SWS_KeyM_91003].- 오류별 검사 결과: 유효 기간 실패(
KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL, 0x05), 잘못된 서명(KEYM_E_CERTIFICATE_SIGNATURE_FAIL, 0x06), 유효하지 않은 신뢰 체인(KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST, 0x07), 유효하지 않은 타입(KEYM_E_CERTIFICATE_INVALID_TYPE, 0x08), 잘못된 형식(KEYM_E_CERTIFICATE_INVALID_FORMAT, 0x09), 유효하지 않은 내용(KEYM_E_CERTIFICATE_INVALID_CONTENT, 0x0A), 그리고 폐기 또는 유효하지 않은 유효 범위(KEYM_E_CERTIFICATE_REVOKED, 0x0B) [SWS_KeyM_91003].
호출자는 암호화 키를 사용하기 전에 상태를 확인해야 합니다. 일반적으로 작업은 상태가 명시적으로 KEYM_CERTIFICATE_VALID을 나타낼 때만 인증서를 기반으로 진행될 수 있습니다. 이 타입은 Rte_KeyM_Type.h을 통해 선언되므로 주로 KeyM과 애플리케이션 SWC 간의 상호작용을 위한 표준화된 서비스 인터페이스 및 포트에서 사용될 것으로 보입니다. 질문 Q-f3ca10ee673798df (열림)
이 텍스트는 AI에 의해 작성되었습니다. 공식 AUTOSAR 명세에 대한 학습을 대체하지는 않습니다.
구현자 가이드 준비 중 (복잡도 I2)
타입 KeyM_CertificateElementType [SWS_KeyM_91004] 📄 PDF
Array long enough to store data
사용법 및 구조
데이터 타입 KeyM_CertificateElementType은 엘리먼트 타입이 uint8인 바이트 배열로 지정되며 사양에 따르면 인증서 엘리먼트의 데이터를 저장하기에 충분히 큰 메모리 영역 역할을 합니다 [SWS_KeyM_91004]. KeyM 모듈에 대한 데이터 타입의 제공 및 선언은 헤더 파일 Rte_KeyM_Type.h을 통해 이루어집니다 [SWS_KeyM_91004].
구성 및 변형 생성
데이터 타입의 구체적 형태는 모듈의 구성된 매개변수에서 파생되는 구성 종속적 이름 및 크기 변형을 따릅니다 [SWS_KeyM_91004]:
- 이름 패턴: 구체적인 타입 이름은
KeyM_CertificateElementType_{KeyMCertificate}_{KeyMCertificateElement}체계에 따라 엘리먼트별로 생성되며, 여기서 플레이스홀더는 인증서 및 인증서 엘리먼트의 각 인스턴스에 대해 구성된 단축 이름SHORT-NAME에 해당합니다 [SWS_KeyM_91004]. - 배열 크기:
uint8엘리먼트의 수는 배열이 각 엘리먼트의 원시 데이터를 위한 충분한 저장 공간을 제공하도록 구성 매개변수KeyMCertificateElementMaxLength에 의해 결정됩니다 [SWS_KeyM_91004].
제한 사항 및 가정
정의가 Rte_KeyM_Type.h에서 제공되므로 이 타입은 주로 인증서 콘텐츠 교환을 위한 소프트웨어 컴포넌트와의 인터페이스에서 표준화된 버퍼로 사용될 것으로 보입니다 [SWS_KeyM_91004]. 질문 Q-994f8ac6772de3c1 (열림) 이때 처리 가능한 최대 데이터 길이는 구성 시점에 정의된 최대 길이에 정적으로 바인딩된 상태를 유지합니다 [SWS_KeyM_91004].
이 사용 지침은 AUTOSAR 사양을 기반으로 AI에 의해 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 KeyM_CryptoKeyDataType [SWS_KeyM_91012] 📄 PDF
Byte - pointer to the input or output data
사용 및 타입 정의
데이터 타입 KeyM_CryptoKeyDataType은 uint8*에 대한 포인터 타입으로 정의되며 KeyM 모듈 내에서 입력 또는 출력 데이터를 위한 바이트 포인터 역할을 합니다 [SWS_KeyM_91012]. 타입 정의는 헤더 파일 Rte_KeyM_Type.h을 통해 제공됩니다 [SWS_KeyM_91012].
제약 사항 및 메모리 관리
KeyM_CryptoKeyDataType을 바이트 버퍼를 가리키는 포인터로 사용할 때 특정 제약 조건을 고려해야 합니다:
- 해석: 해당 타입이 단순 바이트 포인터(
uint8*)로 지정되어 있으므로 [SWS_KeyM_91012], 참조되는 메모리의 할당, 크기 조정 및 유효성은 각 호출자의 책임일 것으로 추정됩니다. 질문 Q-07c167f400cbfb9c (열림) - 해석: 출력 버퍼로 전달할 때 버퍼 오버플로를 방지하기 위해 참조되는 메모리 영역이 수용할 키 또는 암호화 데이터에 충분한 크기인지 확인해야 할 것으로 보입니다. 질문 (열림)
- 해석: 타입 자체가 동기화 메커니즘을 제공하지 않으므로 참조된 버퍼에 대한 동시 접근을 위해 호출 소프트웨어에 의한 추가적인 동기화 조치가 필요할 것으로 보입니다. 질문 (열림)
통합
암호화 키 또는 인증서 데이터를 KeyM 인터페이스로 전달하거나 이로부터 수신하는 호출자는 Rte_KeyM_Type.h을 포함하여 KeyM_CryptoKeyDataType의 형식화된 포인터 정의에 접근할 수 있습니다 [SWS_KeyM_91012].
이 사용 지침은 자동으로 생성되었으며 오직 KeyM 모듈에 대한 AUTOSAR 사양에만 기반합니다.
구현자 가이드 준비 중 (복잡도 I1)
타입 KeyM_ResultType [SWS_KeyM_91008] 📄 PDF
Specifies the result type of an asynchronous key management fu nction.
열거형 타입 KeyM_ResultType은 키 및 인증서 관리를 위한 KeyM 모듈 비동기 함수의 결과를 명시합니다 [SWS_KeyM_91008]. 이 타입은 헤더 파일 Rte_KeyM_Type.h을 통해 제공되며 요청된 비동기 작업 요청의 결과에 대한 피드백을 제공하는 역할을 합니다 [SWS_KeyM_91008].
값 범위에는 호출자가 차별화된 평가를 수행할 수 있도록 표준화된 상태 및 오류 코드가 포함됩니다 [SWS_KeyM_91008]:
KEYM_RT_OK(0x00): 키 관리 작업이 성공적으로 완료되었습니다 [SWS_KeyM_91008].KEYM_RT_NOT_OK(0x01): 키 관리 작업 중에 일반적인 오류가 발생했습니다 [SWS_KeyM_91008].KEYM_RT_KEY_CERT_INVALID(0x02): 참조된 키 또는 인증서가 유효하지 않아 작업에 사용할 수 없습니다 [SWS_KeyM_91008].KEYM_RT_KEY_CERT_WRITE_FAIL(0x03): 의도한 대상 메모리에 키 또는 인증서를 쓰는 데 실패했습니다 [SWS_KeyM_91008].KEYM_RT_KEY_CERT_UPDATE_FAIL(0x04): 더 구체적인 코드로 명시할 수 없는, 키 또는 인증서 업데이트 중의 일반적인 오류입니다 [SWS_KeyM_91008].KEYM_RT_CERT_INVALID_CHAIN_OF_TRUST(0x05): 신뢰 체인이 유효하지 않아 인증서 검증에 실패했습니다 [SWS_KeyM_91008].
비동기 KeyM 함수의 호출자는 오류 발생 시 유효하지 않은 신뢰 체인, 메모리 액세스 오류 또는 잘못된 키 자료에 맞추어 대응할 수 있도록 이 반환 타입을 평가해야 합니다 [SWS_KeyM_91008].
이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
타입 KeyM_CertDataType [SWS_KeyM_00041] 📄 PDF
This structure is used to exchange certificate data through interface functions.
구조체 KeyM_CertDataType은 모듈 KeyM에서 인터페이스 함수를 통해 인증서 데이터를 전달하고 교환하는 데 사용됩니다 [SWS_KeyM_00041]. 타입 정의는 헤더 파일 KeyM.h을 통해 제공됩니다 [SWS_KeyM_00041].
이 구조체는 두 가지 필수 요소를 묶습니다 [SWS_KeyM_00041]:
certDataLength: 인증서 데이터의 길이를 지정하는uint32타입의 요소 [SWS_KeyM_00041].certData: 호출자의 로컬 데이터 영역에 있는 인증서 데이터를 직접 가리키는 포인터 역할을 하는VoidPtr타입의 요소 [SWS_KeyM_00041].
certData은 호출자의 로컬 컨텍스트에 있는 메모리 영역을 참조하므로 [SWS_KeyM_00041], 버퍼 관리는 호출 인스턴스의 책임입니다. 해석: 호출자는 참조된 메모리가 각 인터페이스 함수의 전체 실행 기간 동안 유효하게 유지되고 최소한 certDataLength에 지정된 바이트 수를 포함하도록 보장해야 할 것으로 보입니다. 질문 Q-7da9d5ed0975ddbd (열림) 또한 인터페이스 함수 내에서 잘못된 메모리 액세스를 방지하기 위해 길이가 0보다 큰 경우 NULL이 아닌 유효한 포인터를 전달해야 할 것으로 추정됩니다.
이 사용 지침은 AUTOSAR R20-11 명세를 기반으로 자동 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_KeyM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_KeyM@rel:R20-11#21426b2f- Content hash
21426b2f- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_KeyManager.pdf#nameddest=SWS_KeyM_00043
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문