DEENESPTFRRUARHIKOZHNL

类 ara::crypto::x509::Certificate

[SWS_CRYPT_50180] Upstream: RS_CRYPTO_02306

class Certificate :            public ara::crypto::Serializable {...};

X.509 Certificate interface.

Header-Datei#include "ara/crypto/x509/certificate.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::x509
Basisklasse(n)ara::crypto::Serializable

用户指南人工智能生成

表示可序列化的 X.509 证书,以通过不可变智能指针进行安全使用。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4491553b5df1 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

表示可序列化的 X.509 证书,以通过不可变智能指针进行安全使用。

接口 ara::crypto::x509::Certificate 表示 AUTOSAR Adaptive Platform 中的 X.509 证书,并通过基类 ara::crypto::Serializable 实现其序列化。为了实现标准化管理和传递,该类将智能指针类型别名 Sptrc 定义为 std::shared_ptr<const Certificate> [SWS_CRYPT_40202]。其实例通常应由加密提供程序创建,随后作为不可变对象被多个组件并发使用。 问题 (未决)生命周期根据 [SWS_CRYPT_40202] 通过共享指针的引用计数进行自动且安全地管理。

上下文

C++ 类 ara::crypto::x509::Certificate 构成了 AUTOSAR Adaptive Platform 模块 crypto 内用于表示和处理 X.509 证书的核心接口。作为抽象接口,它定义了数字证书的基本抽象,这些数字证书在安全相关的车辆应用中用于对通信伙伴进行身份验证、验证签名以及在公钥基础设施(PKI)框架内使用。该接口通过头文件 ara/crypto/x509/certificate.h 提供,并声明了供应用程序和平台服务使用的标准化智能指针类型别名 Sptrc [SWS_CRYPT_40202]。

根据类语法,Certificate 公有继承自基础接口 ara::crypto::Serializable。由此在架构上确定了每个证书对象都是可序列化的,并且必须具备用于序列化的标准化接口方法。解释:派生自 ara::crypto::Serializable 的目的应在于使证书接口的实例能够转换为标准化的存储或传输格式(例如 ASN.1 DER 或 PEM 编码),或从这种数据流中重构,以确保与下游加密服务、通信栈和持久存储的互操作性。 问题 Q-e1cd76f3904df94a (未决)

生命周期

接口 ara::crypto::x509::Certificate 实例的生命周期主要由类型化智能指针 Certificate::Sptrc 控制,该指针定义为 std::shared_ptr<const Certificate> [SWS_CRYPT_40202]。通过提供该别名,在整个软件系统中实现了基于引用计数的共享所有权(Shared Ownership)。由于该类本身声明为纯接口,具体的证书对象通常应由加密模块的底层工厂方法、证书提供程序或专用加载例程实例化,并作为 Sptrc 直接提供给使用方软件组件。 问题 Q-8faf1e0eae0cf613 (未决)

根据 [SWS_CRYPT_40202],将指针显式定义为指向常量基础类型(const Certificate)是生命周期管理的核心架构设计特征。使用 const 的目的应在于确保一旦证书被加载、解析或验证,其在系统运行期间保持完全不可变(immutable)。 问题 Q-f4406ec44e46f9c4 (未决)因此,使用者可以跨多个线程和软件组件并发且线程安全地共享该证书,而不必担心开销巨大的互斥锁、竞争条件或意外的状态修改。一旦系统中最后一个活动的 Sptrc 实例离开其作用域并被销毁,底层对象的销毁和内存清理就会完全自动且确定性地通过 std::shared_ptr 的引用计数进行。

使用路径

自适应应用程序和平台模块的典型使用路径基于 Certificate::Sptrc 实例的交换、传递和求值 [SWS_CRYPT_40202]。执行加密验证、校验签名或建立安全 TLS 连接的应用或平台服务仅通过该智能指针接收或持有对相关证书的引用。这最大程度减少了大型数据结构的高计算开销复制操作,并防止了在跨软件边界传递时容易出错的手动内存管理。

通过继承的基础接口 ara::crypto::Serializable,证书可在需要时进行序列化,以导出其加密原始数据内容或提供给诊断、配置和日志记录之用。组件将 Sptrc [SWS_CRYPT_40202] 传递给各自负责的加密例程,这些例程提取证书的公钥或对照已配置的信任锚检查完整的证书链。在所有加密操作完成后,智能指针将被简单丢弃,或者保存在证书管理中以供后续通信会话使用。

本类指南基于 Release R25-11 的 AUTOSAR Adaptive 规范,并描述了 X.509 证书的接口要求。

UML 类图

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__x509__Certificate240 Certificate nara__crypto__Serializable855 Serializable nara__crypto__x509__Certificate240->nara__crypto__Serializable855

类型别名

Sptrc 类型别名

Smart pointer of the interface.

using Sptrc = std::shared_ptr<const Certificate>;

类型别名文档

类型别名 Sptrc [SWS_CRYPT_40202] Upstream: RS_CRYPTO_02306

using Sptrc = std::shared_ptr<const Certificate>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/x509/certificate.h"
Scopeclass ara::crypto::x509::Certificate
SymbolSptrc

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_40202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_40202@rel:R25-11#ca6b67b2
Content hash
ca6b67b2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_40202
Status: valid/unmigrated Version: rel:R25-11#c5e0fec3 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_40202@rel:R25-11#c5e0fec3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1b3465f62026-09-30
  • R19-11rel:R19-11#5f231f612026-10-14
  • R20-11rel:R20-11#105261b92026-10-14
  • R21-11rel:R21-11#105261b92026-10-14
  • R22-11rel:R22-11#af7cf3fb2026-10-14
  • R23-11rel:R23-11#c31a109b2026-10-14
  • R24-11rel:R24-11#c31a109b2026-10-14
  • R25-11rel:R25-11#c5e0fec32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill