AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 156a618ba987출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
암호화 객체의 스레드 안전한 검사 및 영구 저장을 위한 공통 인터페이스 역할을 합니다.
인터페이스 ara::crypto::cryp::CryptoObject은(는) Adaptive Crypto 스택의 모든 암호화 객체에 대한 공통 추상화를 정의하고 Sptr을(를) 통해 이들의 수명 주기를 제어합니다 [SWS_CRYPT_20501]. 이 인터페이스는 알고리즘 식별자 및 사용 플래그의 스레드 안전한 판독을 가능하게 하며, WriteableKeySlot에서 키 재료의 영구적인 덮어쓰기를 지원합니다 [SWS_CRYPT_20505], [SWS_CRYPT_20517]. 저장 작업 시 롤백 시맨틱이 포함된 정의된 오류 코드가 기본 스토리지 슬롯의 데이터 무결성을 보장합니다 [SWS_CRYPT_20517].
컨텍스트
인터페이스 ara::crypto::cryp::CryptoObject는 Crypto Provider에 의해 인식되고 관리될 수 있는 모든 암호화 객체를 위한 공통 추상화를 형성합니다. 이 클래스는 ara::crypto::Serializable을 확장하며 알고리즘 식별, 사용 제한 및 영속적 저장 메커니즘과 같은 기본 속성을 정의합니다. 일반적인 상호작용 대상은 호출 애플리케이션, 이를 제공하는 Crypto Provider 및 WriteableKeySlot 인스턴스 형태의 대상 저장소입니다.
수명 주기
암호화 객체는 플랫폼 내에서 주로 공유 소유권을 통해 관리됩니다. 이를 위해 클래스는 표준 스마트 포인터 별칭 ara::crypto::cryp::CryptoObject::Sptr를 std::shared_ptr<CryptoObject>[SWS_CRYPT_20501]로 정의합니다. 구체적인 인스턴스는 Crypto Provider의 특화된 팩토리 및 로더 루틴에 의해 인스턴스화되어 이 포인터 타입을 통해 호출자에게 제공될 것으로 추정됩니다. 질문 Q-36e2bd12d7dc8b98 (열림) 인터페이스의 선언된 모든 메서드는 스레드 안전(thread-safe) 및 예외 안전(exception safe, noexcept)으로 명세되어 있어 여러 스레드에 걸쳐 안전한 동시 읽기 및 저장 접근을 보장합니다 [SWS_CRYPT_20505], [SWS_CRYPT_50092], [SWS_CRYPT_20517]. 객체 및 관련 키 자료의 해제는 마지막 Sptr 참조가 소멸되는 즉시 자동으로 수행됩니다.
사용 경로
전형적인 사용 경로는 객체의 암호화 속성 식별과 이후의 영속적 저장을 포함합니다. 먼저 애플리케이션은 GetAlgId()를 통해 객체의 알고리즘 식별자를 ara::crypto::AlgIdString로 조회합니다 [SWS_CRYPT_20505]. 이어서 GetAllowedUsage()를 통해 허용된 사용 플래그(AllowedUsageFlags)를 확인하여 [SWS_CRYPT_50092], 해당 객체가 의도한 작업에 대해 인가되었는지 확인합니다. 영구적인 저장을 위해 애플리케이션은 쓰기 가능한 키 슬롯을 Save() 메서드에 전달합니다 [SWS_CRYPT_20517]. 키 자료 및 관련 메타데이터는 이후 대상 슬롯에 저장되며, 이때 슬롯에 기존에 존재하던 데이터는 덮어써집니다 [SWS_CRYPT_20517].
ara::crypto::CryptoErrc::kIncompatibleObject: 알고리즘 식별자(AlgId)가 서로 다르거나 키 슬롯이 다른 Crypto Provider에 속하는 등의 이유로, 객체가 전달된 WriteableKeySlot와 호환되지 않을 때 발생합니다 [SWS_CRYPT_20517].
ara::crypto::CryptoErrc::kUsageViolation: GetAllowedUsage()를 통해 선언된 키의 사용 플래그에 영속화 권한(kAllowPersist)이 포함되어 있지 않은 경우 부적절한 사용을 알립니다 [SWS_CRYPT_50092], [SWS_CRYPT_20517].
ara::crypto::CryptoErrc::kBusyResource: 기본 저장소 리소스가 일시적으로 사용 중이어서 작업을 즉시 실행할 수 없을 때 반환됩니다 [SWS_CRYPT_20517].
롤백 시맨틱 덕분에 이러한 오류가 발생해도 WriteableKeySlot의 상태는 온전하게 유지되므로, 부분적으로 기록되었거나 손상된 키 데이터가 저장소에 남아 있지 않습니다 [SWS_CRYPT_20517].
이 가이드는 AUTOSAR Adaptive R25-11 명세를 기반으로 하며 ara::crypto::cryp::CryptoObject 인터페이스에 대한 요구사항을 요약합니다.
The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.
The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 0aae854cf6a9출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
인터페이스 ara::crypto::cryp::CryptoObject의 메서드 Save은(는) 키 자료와 관련 메타데이터를 제공된 WriteableKeySlot에 영구적으로 저장하는 데 사용됩니다([SWS_CRYPT_20517]). 실행 시 대상 KeySlot에 이전에 저장된 데이터는 덮어써집니다([SWS_CRYPT_20517]).
매개변수로는 기본 저장 공간을 나타내는 타입 WriteableKeySlot::Sptr의 keyslot이(가) 전달됩니다([SWS_CRYPT_20517]). 이 함수는 noexcept 및 exception safe(으)로 명시되어 있으며, 성공 시 비어 있는 ara::core::Result<void>을(를) 반환값으로 제공합니다([SWS_CRYPT_20517]).
오류 발생 시 롤백 시맨틱이 적용됩니다([SWS_CRYPT_20517]). 구체적으로 다음과 같은 오류 코드가 반환됩니다:
ara::crypto::CryptoErrc::kIncompatibleObject: 예를 들어 서로 다른 AlgId 또는 다른 CryptoProvider에 대한 할당으로 인해 키가 KeySlot과 호환되지 않습니다([SWS_CRYPT_20517]).
ara::crypto::CryptoErrc::kUsageViolation: 키의 허용된 사용 권한에 kAllowPersist 권한이 포함되어 있지 않습니다([SWS_CRYPT_20517]).
ara::crypto::CryptoErrc::kBusyResource: 작업을 일시적으로 실행할 수 없습니다([SWS_CRYPT_20517]).
rollback_semantics if the key is incompatible to the KeySlot, e.g., because the AlgId of the KeySlot is incompatible to the AlgId of the key or because the KeySlot belongs to a different CryptoProvider
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문