AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 253d08fc1def출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
암호화 서비스 및 키 관리를 위한 기본 타입, 오류 도메인 및 팩토리 함수를 제공합니다.
네임스페이스 ara::crypto은 AUTOSAR Adaptive의 암호화 서비스를 위한 공통 기본 타입, 메모리 버퍼 및 전역 팩토리 함수를 제공합니다. 애플리케이션은 LoadCryptoProvider[SWS_CRYPT_20099]와 같은 진입점을 통해 암호화 및 키 스토리지 제공자와 같은 하위 시스템 인스턴스를 결정론적으로 생성하거나 획득합니다. 모든 암호화 작업 및 키 사용은 정의된 사용 플래그와 CryptoErrc[SWS_CRYPT_10099]을 갖는 표준화된 오류 도메인을 통해 엄격하게 모니터링됩니다. 모든 팩토리 인터페이스는 유효한 프로세스 매핑을 전제로 하며 스레드 안전하도록 설계되었습니다.
컨텍스트
네임스페이스 ara::crypto은 AUTOSAR Adaptive Platform의 모든 암호화 서비스, 키 관리 기능 및 인증서 작업을 위한 공통 기반이자 중앙 진입점을 형성합니다. 기본 드라이버 또는 하드웨어 보안 모듈의 구현 세부 정보를 노출하는 대신, 네임스페이스는 표준화된 인터페이스와 전역 팩토리 함수를 정의합니다. 애플리케이션은 이러한 진입점을 통해 특수화된 하위 시스템의 인스턴스를 요청합니다: 일반 암호화 제공자 [SWS_CRYPT_20099], X.509 제공자 [SWS_CRYPT_40099], 키 슬롯에 대한 읽기 및 쓰기 접근 [SWS_CRYPT_50004][SWS_CRYPT_50005], 객체 직렬화를 위한 포맷터 [SWS_CRYPT_50200].
컨텍스트 다이어그램: 애플리케이션 인스턴스, ara::crypto의 진입점 및 제공되는 하위 시스템 객체 간의 상호 작용. 출처: [SWS_CRYPT_20099], [SWS_CRYPT_40099], [SWS_CRYPT_50004], [SWS_CRYPT_50005], [SWS_CRYPT_50200].
싱글톤 및 프로바이더 수명 주기: 함수 LoadX509Provider은(는) 싱글톤 X.509 프로바이더의 고유 인스턴스를 제공합니다 [SWS_CRYPT_40099]. LoadCryptoProvider은(는) ara::core::InstanceSpecifier을(를) 통해 모델링된 암호화 프로바이더의 기존 인스턴스를 생성하거나 참조합니다 [SWS_CRYPT_20099].
동시성 및 소멸: 모든 팩토리 함수와 오류 도메인 헬퍼 GetCryptoErrorDomain[SWS_CRYPT_19952] 및 MakeErrorCode[SWS_CRYPT_19951]은 예외 안전(noexcept) 및 스레드 안전(thread-safe)으로 명시되어 있습니다. 참조된 객체의 해제는 유지되던 마지막 공유 포인터(shared pointer)가 만료되는 즉시 자동으로 수행됩니다.
사용 경로
암호화 작업을 수행하거나 키를 관리하기 위한 일반적인 사용 경로는 다음 단계를 거칩니다:
프로바이더 로드: 애플리케이션은 암호화 작업에 대한 접근 권한을 얻기 위해 적절한 ara::core::InstanceSpecifier과(와) 함께 LoadCryptoProvider을(를) 호출합니다 [SWS_CRYPT_20099].
키 슬롯 참조: 키 기반 절차를 위해 연결된 스토리지 공간이 로드됩니다. LoadKeySlot[SWS_CRYPT_50004]을(를) 통한 읽기 전용 방식 또는 LoadWriteableKeySlot[SWS_CRYPT_50005]을(를) 통한 쓰기 권한 방식입니다.
시퀀스 다이어그램: 프로바이더 및 키 슬롯 로드와 후속 오류 검사를 위한 호출 및 초기화 순서. 출처: [SWS_CRYPT_20099], [SWS_CRYPT_50004], [SWS_CRYPT_19951].
오류 시나리오
ara::crypto의 오류 처리는 전역 오류 도메인 CryptoErrorDomain[SWS_CRYPT_19952]을(를) 기반으로 하며, 해당 열거형 CryptoErrc[SWS_CRYPT_10099]이(가) 모든 특정 오류 코드를 정의합니다:
인수 및 버퍼 오류: 유효하지 않은 인수는 kInvalidArgument(으)로, 알 수 없는 식별자는 kUnknownIdentifier(으)로, 적절하지 않은 파라미터 조합은 kIncompatibleArguments[SWS_CRYPT_10099](으)로 이어집니다. ReadWriteMemRegion[SWS_CRYPT_10031]의 용량이 충분하지 않은 경우 인터페이스는 kInsufficientCapacity[SWS_CRYPT_10099]을(를) 알립니다. 잘못된 입력 크기에서는 kInvalidInputSize이(가) 발생합니다 [SWS_CRYPT_10099].
상태 및 흐름 위반: 올바르지 않은 호출 순서에서는 시스템이 kInvalidUsageOrder[SWS_CRYPT_10099]을(를) 보고합니다. 컨텍스트를 초기화 전에 사용하거나 계산 단계를 완료 전에 쿼리하면 kUninitializedContext, kProcessingNotStarted 또는 kProcessingNotFinished[SWS_CRYPT_10099]이(가) 발생합니다.
권한 및 보안 위반:AllowedUsageFlags에 선언된 권한에 반하는 작업은 kUsageViolation[SWS_CRYPT_10099]을(를) 생성합니다. 인증 태그 검증에 실패하면 kAuthTagNotValid이(가) 트리거됩니다 [SWS_CRYPT_10099].
슬롯 및 매핑 오류: 비어 있거나 호환되지 않는 키 컨테이너는 kEmptyKeySlot 또는 kIncompatibleObject[SWS_CRYPT_10099](으)로 이어집니다. LoadCryptoProvider, LoadKeySlot 또는 LoadWriteableKeySlot 시 InstanceSpecifier이(가) 현재 프로세스에 대해 모델링된 PortPrototype을 가리키지 않는 경우 이는 ProcessMappingViolation(으)로 평가됩니다([SWS_CRYPT_20099], [SWS_CRYPT_50004], [SWS_CRYPT_50005]).
오류 인스턴스는 프로그램 측에서 도우미 함수 MakeErrorCode을(를) 통해 생성되며 예외 없이 CryptoErrorDomain[SWS_CRYPT_19951]을(를) 참조합니다.
KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.
클래스 다이어그램
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
This factory method shall create or return the existing instance of a specific Crypto Provider.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b6b49fc6b39d출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
네임스페이스 ara::crypto의 팩토리 함수 LoadCryptoProvider은 암호화 서비스 제공자의 인스턴스를 생성하거나 이미 존재하는 인스턴스를 검색하기 위한 중앙 진입점 역할을 합니다[SWS_CRYPT_20099]. 통합을 위해 헤더 ara/crypto/common/entry_point.h이 필요합니다[SWS_CRYPT_20099].
호출 매개변수: 전달 매개변수 iSpecify(타입 const ara::core::InstanceSpecifier&)은 호출 프로세스에 할당된 CryptoProviderInterface 타입의 RPortPrototype을(를) 식별합니다[SWS_CRYPT_20099].
반환값: 성공적으로 인스턴스화되면 함수는 로드된 제공자 객체에 대한 공유 포인터를 캡슐화하는 ara::core::Result<cryp::CryptoProvider::Sptr>을(를) 반환합니다[SWS_CRYPT_20099].
동시성: 이 함수는 noexcept(으)로 선언되고 exception safe(으)로 간주되며 명시적으로 thread-safe(으)로 지정되어 병렬 스레드에서의 호출이 허용됩니다[SWS_CRYPT_20099].
오류 처리와 관련하여 사양은 표준화된 오류 코드를 정의하지 않습니다[SWS_CRYPT_20099]. 그러나 작업 실패는 반환된 ara::core::Result의 오류 상태로 매핑될 수 있습니다. 질문 Q-ad283a067489b0eb (열림) 또한 모델링 위반 ProcessMappingViolation이(가) 정의되어 있습니다: 이는 전달된 InstanceSpecifier이(가) CryptoProviderInterface에 의해 타입화되고 현재 프로세스에 유효한 PortPrototype을(를) 참조하지 않는 경우에 발생합니다[SWS_CRYPT_20099].
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoProviderInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
InstanceSpecifier of the RPortPrototype of type CryptoProvider Interface
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1ad37ba369f0출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
네임스페이스 ara::crypto의 LoadFormatter 함수는 Formatter의 인스턴스를 생성하기 위한 팩토리 역할을 합니다 [SWS_CRYPT_50200]. 선언은 헤더 파일 ara/crypto/common/formatter.h을(를) 통해 제공됩니다.
사용법 및 인터페이스: 호출은 동기식으로 이루어지며 전달 매개변수가 필요하지 않습니다. 반환값으로 함수는 성공 시 새로 생성된 Formatter 객체에 대한 공유 포인터를 캡슐화하는 ara::core::Result<ara::crypto::Formatter::Sptr>을(를) 반환합니다 [SWS_CRYPT_50200].
오류 처리: 사양은 LoadFormatter에 대해 표준화된 오류 코드를 정의하지 않습니다 [SWS_CRYPT_50200]. 반환값이 ara::core::Result(으)로 설계되어 있으므로 객체 생성 시 구현별 오류는 이 결과 유형의 오류 채널을 통해 전달될 것으로 보입니다. 질문 Q-dd9ac8319a9ad931 (열림)
동시성 및 실행 안전성: 이 함수는 noexcept(으)로 선언되어 있으며 예외 안전(exception safe) 및 스레드 안전(thread-safe)으로 명시되어 있습니다 [SWS_CRYPT_50200]. 따라서 외부 동기화 조치 없이 서로 다른 스레드에서 병렬로 호출할 수 있습니다.
Load a read-only key slot. This factory method shall load the information associated with the specified KeySlot into a KeySlot object.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8366de538e98출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
네임스페이스 ara::crypto의 함수 LoadKeySlot은 읽기 전용 키 슬롯(read-only key slot)을 로드하기 위한 팩토리 메서드로 설계되었습니다 [SWS_CRYPT_50004]. 동기 호출 시 메서드는 지정된 슬롯과 연관된 메타데이터 및 키 정보를 해당 KeySlot 객체로 로드합니다 [SWS_CRYPT_50004]. 포함을 위해 헤더 파일 ara/crypto/common/entry_point.h이 사용됩니다.
입력 매개변수로 함수는 const ara::core::InstanceSpecifier& 형식의 인스턴스 사양 iSpecify을 전달받습니다 [SWS_CRYPT_50004]. 이 식별자는 로드할 키를 고유하게 식별하는 CryptoKeySlotInterface 또는 CryptoKeySlotClientInterface의 RPortPrototype을 참조해야 합니다 [SWS_CRYPT_50004].
결과로서 메서드는 로드된 KeySlot 객체에 대한 공유 포인터 또는 오류를 제공하는 ara::core::Result<cryp::KeySlot::Sptr>을 반환합니다 [SWS_CRYPT_50004]. 사양에서는 LoadKeySlot에 대해 표준화된 오류 코드를 정의하지 않습니다 [SWS_CRYPT_50004]. 그러나 ProcessMappingViolation이(가) 문서화되어 있습니다: 이는 전달된 InstanceSpecifier이 현재 프로세스를 위해 모델링되고 CryptoKeySlotInterface 또는 CryptoKeySlotClientInterface에 의해 타입화된 포트를 가리키지 않을 때 발생합니다 [SWS_CRYPT_50004].
실행을 위해 함수는 noexcept(으)로 선언되어 있으며 완전한 예외 안전성(exception safe)을 제공합니다 [SWS_CRYPT_50004]. 또한 호출은 스레드 안전(thread-safe)으로 명시되어 있어 여러 스레드의 동시 접근이 지원됩니다 [SWS_CRYPT_50004].
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoKeySlotInterface or CryptoKeySlotClientInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
instance specifier to the RPortPrototype of a CryptoKeySlot Interface or a CryptoKeySlotClientInterface that identifies the key to be loaded
Load a writeable key slot. This factory method shall load the information associated with the specified KeySlot into a WriteableKeySlot object.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 548256d68415출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
함수 LoadWriteableKeySlot은 지정된 키 슬롯의 정보를 cryp::WriteableKeySlot 객체로 로드하기 위한 동기 팩토리 메서드 역할을 합니다 [SWS_CRYPT_50005]. 이 함수는 네임스페이스 ara::crypto에 정의되어 있으며 헤더 ara/crypto/common/entry_point.h를 통해 제공됩니다 [SWS_CRYPT_50005].
매개변수:iSpecify(const ara::core::InstanceSpecifier& 형식)은 CryptoKeySlotInterface의 RPortPrototype을(를) 참조하여 로드할 키를 식별합니다 [SWS_CRYPT_50005].
반환값: 로드된 KeySlot을 공유 포인터로 포함하거나 오류 객체를 포함하는 ara::core::Result<cryp::WriteableKeySlot::Sptr>[SWS_CRYPT_50005].
이 함수에 대해서는 표준화된 오류 코드가 명시되어 있지 않습니다 [SWS_CRYPT_50005]. 발생하는 오류 조건은 반환된 ara::core::Result을 통해 전달될 것으로 추정됩니다. 질문 Q-e2f8966bf78b1569 (열림) 전달된 InstanceSpecifier이 현재 프로세스를 위해 모델링되고 CryptoKeySlotInterface에 의해 타입화된 PortPrototype을(를) 가리키지 않는 경우 아키텍처 또는 구성 오류로 인해 ProcessMappingViolation이(가) 발생합니다 [SWS_CRYPT_50005].
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoKeySlotInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
instance specifier to the RPortPrototype of a CryptoKeySlot Interface that identifies the key to be loaded
This factory method shall create or return the existing instance of the singleton X.509 Provider.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 70f8a61e4c9e출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
ara::crypto 네임스페이스의 LoadX509Provider 함수는 X.509 공급자의 싱글톤 인스턴스를 생성하거나 이미 존재하는 인스턴스를 검색하기 위한 팩토리 메서드 역할을 합니다 [SWS_CRYPT_40099]. 호출을 위해 헤더 파일 ara/crypto/common/entry_point.h을(를) 포함해야 합니다 [SWS_CRYPT_40099]. 호출은 동기식으로 수행되며 전달 매개변수를 받지 않습니다. 함수는 반환 값으로 X.509 공급자의 로드된 인스턴스에 대한 공유 포인터를 제공하는 ara::core::Result<ara::crypto::x509::X509Provider::Sptr>을(를) 반환합니다 [SWS_CRYPT_40099].
오류 처리
사양에는 LoadX509Provider에 대해 표준화된 오류 코드가 정의되어 있지 않습니다 [SWS_CRYPT_40099]. 함수는 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)한 것으로 명시되어 있습니다 [SWS_CRYPT_40099]. 해석: 결과가 ara::core::Result 유형을 통해 캡슐화되므로 공급자 초기화 시 시스템별 오류 상태는 이 Result 객체를 통해 호출자에게 전달될 것으로 보입니다. 질문 Q-c187f4f152ccc89f (열림)
동시성 및 상호 작용
사양에 따르면 LoadX509Provider은(는) 스레드 안전(thread-safe)으로 분류됩니다 [SWS_CRYPT_40099]. 따라서 동일한 싱글톤 인스턴스에 대한 참조를 얻기 위해 추가 동기화 조치 없이 여러 스레드에서 병렬로 호출할 수 있습니다. 기능적으로 이 함수는 상위 수준 요구사항 RS_CRYPTO_02306 및 RS_CRYPTO_02301을(를) 구현합니다 [SWS_CRYPT_40099].
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문