애플리케이션에서 보호된 암호화 키 및 데이터의 안전한 압축 해제 및 가져오기에 사용됩니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a42cd9e6f52b출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
애플리케이션에서 보호된 암호화 키 및 데이터의 안전한 압축 해제 및 가져오기에 사용됩니다.
이 인터페이스는 구성된 전송 키 [SWS_CRYPT_50205]을(를) 사용하여 보호된 암호화 데이터 및 키를 안전하게 압축 해제하고 가져오는 것을 가능하게 합니다. 압축 해제된 키 자료는 영구 키 슬롯에 직접 기록되거나 타입화된 키 객체로서 메모리에 로드될 수 있습니다 [SWS_CRYPT_50207]. 모든 메서드는 스레드 안전하게 작동하고 엄격한 롤백 오류 시맨틱을 따르며, Reset은(는) 내부 버퍼의 잔여물 없는 삭제를 보장합니다 [SWS_CRYPT_50212].
컨텍스트
인터페이스 ara::crypto::cryp::ProtectedKeyImportCtx은(는) 비밀 키 자료와 같은 보호된 데이터 구조를 시스템으로 안전하게 가져오고 압축 해제하기 위한 암호화 컨텍스트를 제공합니다. 컨텍스트는 요청하는 애플리케이션, 전송 키 기반 보호 메커니즘 및 AUTOSAR 암호화의 대상 구조 간의 중재자 역할을 합니다. 들어오는 직렬화된 데이터 패킷은 컨텍스트에 의해 인증, 복호화 및 파싱됩니다 [SWS_CRYPT_50207]. 필요한 전송 키의 소스로는 독립적인 대칭 키 객체 [SWS_CRYPT_50205] 또는 키 스토리지의 키 슬롯 [SWS_CRYPT_50206]이(가) 사용됩니다. 싱크로는 압축 해제된 키 객체가 호출 애플리케이션에 직접 전달되거나 쓰기 가능한 키 슬롯으로 즉시 직렬화될 수 있습니다 [SWS_CRYPT_50207].
Import 작업이 성공적으로 실행된 후 컨텍스트는 압축 해제된 데이터 및 메타데이터를 내부 버퍼에 유지하므로 객체 타입을 식별하고 키 객체를 읽어올 수 있습니다 [SWS_CRYPT_50207][SWS_CRYPT_50208]. Reset 메서드를 통해 컨텍스트는 다시 초기 상태로 복원됩니다. 이전에 가져온 데이터가 있는 모든 내부 버퍼가 완전히 정리되고 저장된 전송 키가 제거됩니다 [SWS_CRYPT_50212]. 모든 인터페이스 메서드는 예외 안전 및 스레드 안전으로 지정되어 여러 실행 컨텍스트의 동시 액세스를 제어 가능한 상태로 유지합니다 [SWS_CRYPT_50207].
일반적인 워크플로는 전송 키 구성으로 시작됩니다. 이를 위해 애플리케이션은 SymmetricKey::Sptr[SWS_CRYPT_50205] 또는 KeySlot::Sptr[SWS_CRYPT_50206]과(와) 함께 SetKey을(를) 호출합니다. 다음 단계에서는 직렬화된 데이터 패킷이 ReadOnlyMemRegion(으)로 전달되는 Import 메서드가 실행됩니다 [SWS_CRYPT_50207]. 키를 영구적으로 저장해야 하는 경우, 선택적으로 압축 해제된 자료가 기록될 WriteableKeySlot::Sptr을(를) 직접 전달할 수 있습니다 [SWS_CRYPT_50207].
대상 슬롯이 지정되지 않았거나 키를 휘발성으로 사용해야 하는 경우, 애플리케이션은 GetCryptoObjectType을(를) 통해 마지막으로 가져온 객체의 카테고리를 확인합니다 [SWS_CRYPT_50208]. 이 타입에 따라 애플리케이션은 타입에 맞는 조회 메서드를 호출합니다. 즉, 개인 키의 경우 GetPrivateKey[SWS_CRYPT_50209], 공개 키의 경우 GetPublicKey[SWS_CRYPT_50211], 대칭 키 자료의 경우 GetSymmetricKey입니다 [SWS_CRYPT_50210]. 사용된 가져오기 프로토콜이 발신자에게 피드백을 요구하는 경우(예: SHE-LoadKey 시퀀스의 제어 블록 M4 및 M5의 경우), 이는 GetResponse을(를) 통해 제공된 버퍼에 기록될 수 있습니다 [SWS_CRYPT_41020]. 처리 시퀀스가 완료된 후 Reset을(를) 호출하면 컨텍스트가 다시 초기 상태로 복원됩니다 [SWS_CRYPT_50212].
메서드 호출 중 오류가 발생하면 호출 전의 상태를 유지하는 엄격한 롤백 시맨틱이 적용됩니다. SetKey을(를) 통한 구성 시 키의 사용 플래그에 kAllowKeyUnwrapping 권한이 포함되어 있지 않으면 호출이 CryptoErrc::kUsageViolation(으)로 실패합니다 [SWS_CRYPT_50205][SWS_CRYPT_50206]. 키 객체 또는 참조된 슬롯이 기본적으로 전송 키로 사용할 수 없는 경우 CryptoErrc::kIncompatibleObject이(가) 보고됩니다 [SWS_CRYPT_50205][SWS_CRYPT_50206].
Import 호출 시 입력 데이터의 크기 불일치는 CryptoErrc::kInvalidInputSize을(를) 초래하고 형식 위반은 CryptoErrc::kInvalidArgument을(를) 초래합니다 [SWS_CRYPT_50207]. 보호 계층의 무결성 또는 신뢰성 검사가 실패하면(예: 유효하지 않은 메시지 인증 코드 또는 잘못된 서명으로 인해) 호출은 CryptoErrc::kAuthTagNotValid을(를) 반환합니다 [SWS_CRYPT_50207]. 암호화 컴포넌트가 일시적으로 사용 중인 경우 CryptoErrc::kBusyResource을(를) 통해 신호가 전달됩니다 [SWS_CRYPT_50207].
The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.
virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT responseBuffer -- DEFINED
The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.
The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.
The interface shall return a shared pointer to the unwrapped PrivateKey.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 569ddfa8ee2a출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::ProtectedKeyImportCtx 클래스의 GetPrivateKey 메서드(헤더 #include "ara/crypto/cryp/protected_key_import_ctx.h"을(를) 통해 제공됨)는 사전에 가져와 언팩된 프라이빗 키(PrivateKey::Sptr)에 대한 공유 포인터를 조회하는 역할을 합니다([SWS_CRYPT_50209]). 이 인터페이스는 전달 매개변수가 없으며 결과를 동기식으로 ara::core::Result<PrivateKey::Sptr>(으)로 반환합니다([SWS_CRYPT_50209]).
실행에는 순서, 동시성 및 예외 안전성과 관련된 구속력 있는 요구사항이 적용됩니다: 이 메서드는 thread-safe 및 exception safe(으)로 명세되어 있으며 noexcept(으)로 선언되어 있습니다([SWS_CRYPT_50209]). 성공적인 조회를 위한 필수 전제 조건은 컨텍스트 내에서 사전에 가져오기 연산이 성공적으로 실행되었을 것입니다([SWS_CRYPT_50209]).
제공 중 오류가 발생하면 모든 오류 상황에 대해 롤백 시맨틱이 적용됩니다([SWS_CRYPT_50209]). 이 경우 반환된 Result에는 다음 특정 오류 코드 중 하나가 포함됩니다:
ara::crypto::CryptoErrc::kProcessingNotFinished: 이전 가져오기 단계가 아직 성공적으로 실행되지 않았습니다([SWS_CRYPT_50209]).
ara::crypto::CryptoErrc::kNoSuchValue: 가장 최근에 가져온 CryptoObject이(가) 프라이빗 키가 아닙니다([SWS_CRYPT_50209]).
ara::crypto::CryptoErrc::kUnsupported: 컨텍스트가 프라이빗 키 가져오기를 기본적으로 지원하지 않습니다([SWS_CRYPT_50209]).
The interface shall return a shared pointer to the unwrapped PublicKey.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b41e5e96382c출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::crypto::cryp::ProtectedKeyImportCtx의 메서드 GetPublicKey은(는) 이전에 가져와 언패킹된 공개 키([SWS_CRYPT_50211])에 대한 포인터를 동기식으로 검색하는 데 사용됩니다. 이 함수는 전달 매개변수를 받지 않으며 결과를 타입 안전하게 ara::core::Result<PublicKey::Sptr>(으)로 반환합니다([SWS_CRYPT_50211]).
호출 전에 가져오기 작업이 성공적으로 완료되었어야 합니다. 그렇지 않으면 호출이 실패하고 오류 코드 ara::crypto::CryptoErrc::kProcessingNotFinished을(를) 반환합니다([SWS_CRYPT_50211]). 가장 최근에 가져온 암호화 객체가 공개 키가 아닌 경우 오류 ara::crypto::CryptoErrc::kNoSuchValue이(가) 발생합니다([SWS_CRYPT_50211]). 구체적인 가져오기 컨텍스트가 기본적으로 공개 키 가져오기를 지원하지 않는 경우 ara::crypto::CryptoErrc::kUnsupported이(가) 보고됩니다([SWS_CRYPT_50211]). 지정된 모든 오류에 대해 인터페이스는 롤백 시맨틱을 보장합니다([SWS_CRYPT_50211]).
동시성 및 오류 안전성과 관련하여 이 메서드는 thread-safe 및 exception-safe로 지정되어 있으며 C++ 예외를 발생시키지 않습니다(noexcept)([SWS_CRYPT_50211]).
기능적으로 이 가져오기 메커니즘은 다른 인터페이스와 구별됩니다. 여기서는 보호된 객체가 언패킹되는 반면, ara::crypto::cryp::PrivateKey([SWS_CRYPT_22511])의 동일한 이름을 가진 함수는 예를 들어 사전에 GeneratePrivateKey([SWS_CRYPT_20722])을(를) 통해 생성된 기존 개인 키의 공개 키를 반환합니다.
virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT responseBuffer -- DEFINED
The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.
The interface shall return a shared pointer to the unwrapped SymmetricKey.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: cefc876d47db출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::crypto::cryp::ProtectedKeyImportCtx 클래스의 GetSymmetricKey 메서드는 언팩된 대칭 키(SymmetricKey::Sptr)에 대한 공유 포인터를 반환합니다 [SWS_CRYPT_50210]. 호출은 동기식으로 수행되며, const 및 noexcept(으)로 선언되어 있고 매개변수를 받지 않습니다 [SWS_CRYPT_50210].
사전에 가져오기 프로세스가 성공적으로 완료되었어야 합니다. 그렇지 않으면 호출이 오류 코드 ara::crypto::CryptoErrc::kProcessingNotFinished(으)로 실패합니다 [SWS_CRYPT_50210].
가장 최근에 가져온 암호화 객체가 대칭 키가 아닌 경우 메서드는 ara::crypto::CryptoErrc::kNoSuchValue을(를) 반환합니다 [SWS_CRYPT_50210].
선택한 가져오기 컨텍스트가 대칭 키 가져오기를 전반적으로 지원하지 않는 경우 오류 ara::crypto::CryptoErrc::kUnsupported이(가) 보고됩니다 [SWS_CRYPT_50210].
실행 안전성과 관련하여 이 인터페이스는 스레드 안전(thread-safe) 및 예외 안전(exception-safe)으로 명세되어 있습니다 [SWS_CRYPT_50210]. 정의된 모든 오류 사례는 롤백 시맨틱을 제공하므로 오류 발생 시 컨텍스트의 상태가 변경되지 않고 유지됩니다 [SWS_CRYPT_50210].
The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 89f9277cd6aa출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
클래스 ara::crypto::cryp::ProtectedKeyImportCtx의 동기 메서드 Import은(는) 메모리 영역 serialized([SWS_CRYPT_50207])에서 보호된 키 데이터를 언팩합니다. 데이터 내용을 분석하고 후속 검색을 위해 추출된 키 자료 및 메타데이터를 제공합니다. 선택적으로 WriteableKeySlot이(가) 전달되면 키 자료가 이 슬롯에 직접 직렬화됩니다([SWS_CRYPT_50207]). 해석: keySlot이(가) 전달되지 않으면 키 자료는 가져오기 컨텍스트의 상태에만 남아 있을 것으로 추정됩니다. 질문 Q-130f11475af1bb33 (열림)
오류 처리
이 함수는 ara::core::Result<void>을(를) 반환합니다. 작업이 실패하면 모든 오류 코드에 대해 롤백 시맨틱이 적용됩니다([SWS_CRYPT_50207]):
ara::crypto::CryptoErrc::kInvalidInputSize: serialized의 입력 크기가 예상과 다릅니다([SWS_CRYPT_50207]).
ara::crypto::CryptoErrc::kInvalidArgument: 직렬화된 데이터가 예상된 형식과 일치하지 않습니다([SWS_CRYPT_50207]).
ara::crypto::CryptoErrc::kAuthTagNotValid: 인증 검사(MAC 또는 서명)가 실패했습니다([SWS_CRYPT_50207]).
ara::crypto::CryptoErrc::kBusyResource: 작업을 일시적으로 실행할 수 없습니다([SWS_CRYPT_50207]).
The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 21bf97fcdbf3출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
Reset 메서드는 ara::crypto::cryp::ProtectedKeyImportCtx의 인스턴스를 초기 상태로 재설정합니다 [SWS_CRYPT_50212]. 이때 인터페이스는 Key-Import-Key (KIK)가 더 이상 설정되어 있지 않고 사전에 가져온 모든 데이터가 컨텍스트의 내부 버퍼에서 완전히 삭제되도록 보장합니다 [SWS_CRYPT_50212].
호출은 동기식으로 이루어지며 명세에 따라 thread-safe 및 exception safe(으)로 분류됩니다 [SWS_CRYPT_50212]. 이 메서드는 virtual ara::core::Result<void> Reset() const noexcept = 0; 시그니처를 선언하며 헤더 ara/crypto/cryp/protected_key_import_ctx.h의 포함을 요구합니다 [SWS_CRYPT_50212].
오류 처리
결과는 ara::core::Result<void>을(를) 통해 반환됩니다 [SWS_CRYPT_50212]. 연산이 실패하면 인터페이스는 오류 코드를 반환합니다:
ara::crypto::CryptoErrc::kUnsupported: 특정 컨텍스트가 상태 재설정을 지원하지 않는 경우 발생합니다(롤백 시맨틱) [SWS_CRYPT_50212].
The interface shall configure the context to use the provided symmetric key as transport key.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: bb7a4eb711ea출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::crypto::cryp::ProtectedKeyImportCtx의 SetKey 메서드는 전달된 대칭 키 객체 key(SymmetricKey::Sptr)이(가) 전송 키로 사용되도록 컨텍스트를 구성합니다 [SWS_CRYPT_50205]. 호출은 동기식으로 수행되며 ara::core::Result<void>을(를) 반환합니다 [SWS_CRYPT_50205].
오류 처리
구성 중 오류가 발생하면 롤백 시맨틱과 함께 보고되어 컨텍스트의 이전 상태가 변경되지 않고 유지됩니다 [SWS_CRYPT_50205]. 다음과 같은 오류 코드가 정의되어 있습니다:
ara::crypto::CryptoErrc::kUnsupported: 컨텍스트가 KeySlot의 할당만을 독점적으로 지원하는 경우 반환됩니다 [SWS_CRYPT_50205].
ara::crypto::CryptoErrc::kIncompatibleObject: 제공된 키 객체를 전송 키로 사용할 수 없습니다 [SWS_CRYPT_50205].
ara::crypto::CryptoErrc::kUsageViolation: 키의 사용 플래그에 필요한 권한 kAllowKeyUnwrapping이(가) 포함되어 있지 않습니다 [SWS_CRYPT_50205].
동시성 및 상호 작용
이 연산은 스레드 안전(thread-safe) 및 예외 안전(exception safe)으로 명시되어 있으며 예외를 발생시키지 않습니다(noexcept) [SWS_CRYPT_50205]. SymmetricKeyWrapperCtx과(와) 같은 컨텍스트가 보호 또는 래핑을 위해 키를 바인딩하는 반면 [SWS_CRYPT_24018], 여기서 키는 보호된 키의 가져오기에 사용됩니다. 또한 오류 조건 kUnsupported은(는) 컨텍스트가 대안으로 KeySlot을(를) 통해 구성되는 아키텍처를 가리킵니다 [SWS_CRYPT_50034]. 해석: 전송 키 할당은 후속 가져오기 작업 전에 반드시 완료되어야 할 것으로 보입니다. 질문 Q-f1f3eab5ab896b1b (열림)
The interface shall configure the context to use the key stored in the provided KeySlot at the time the import operation is started as the transport key.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e6e7bd1f753c출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
SetKey 메서드는 가져오기 프로세스 시작 시점에 전달된 KeySlot::Sptr keySlot에 저장된 대칭 키가 전송 키로 사용되도록 컨텍스트 [SWS_CRYPT_50206](ara::crypto::cryp::ProtectedKeyImportCtx)을(를) 구성합니다. 호출은 동기식으로 이루어지며 ara::core::Result<void>을(를) 반환합니다.
ara::crypto::CryptoErrc::kUnsupported: 컨텍스트가 직접적인 SymmetricKey 객체의 설정만을 지원하는 경우 [SWS_CRYPT_50206].
ara::crypto::CryptoErrc::kIncompatibleObject: 슬롯에 포함된 키를 전송 키로 사용할 수 없는 경우 [SWS_CRYPT_50206].
ara::crypto::CryptoErrc::kUsageViolation: KeySlot에 있는 키의 허용된 사용 플래그에 kAllowKeyUnwrapping 플래그가 포함되어 있지 않은 경우 [SWS_CRYPT_50206].
동시성 및 상호 작용
이 함수는 예외 안전(exception safe) 및 스레드 안전(thread-safe)으로 명시되어 있습니다 [SWS_CRYPT_50206]. 키는 후속 가져오기가 시작될 때에만 슬롯에서 평가됩니다 [SWS_CRYPT_50206]. SymmetricKeyWrapperCtx[SWS_CRYPT_50034] 또는 KeyDerivationFunctionCtx[SWS_CRYPT_50010]와(과) 같은 다른 암호화 컨텍스트도 슬롯을 키 소스로 바인딩할 수 있지만, ProtectedKeyImportCtx::SetKey은(는) 키 언팩 권한을 명시적으로 요구합니다.
이 텍스트는 AI 기반 문서화 도구에 의해 생성되었으며 공식 AUTOSAR 사양의 참조를 대체하지 않습니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문