DEENESPTFRRUARHIKOZHNL

类 ara::crypto::cryp::SymmetricKey

[SWS_CRYPT_23800] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02403

class SymmetricKey :          public CryptoObject {...};

Symmetric Key interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)CryptoObject

用户指南人工智能生成

封装对称加密密钥并通过共享智能指针控制其生命周期。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: f71a58d7ce35 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

封装对称加密密钥并通过共享智能指针控制其生命周期。

接口 ara::crypto::cryp::SymmetricKey 在 AUTOSAR Adaptive 中用作对称加密密钥的抽象,并继承 CryptoObject 的基本属性。应用程序和加密上下文主要根据头文件 ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801] 通过标准化的智能指针类型 Sptr(std::shared_ptr<SymmetricKey>)管理密钥实例。解释:实例化应通过密钥管理的专用创建例程进行,其中密钥被传递用于配置密码或 MAC。 问题 Q-f76fecc360d2d3a5 (未决)作为决定性的约束条件,共享指针的引用计数决定了生命周期,因此封装的密钥对象仅在最后一个引用释放后才会被销毁 [SWS_CRYPT_23801]。

上下文

类 ara::crypto::cryp::SymmetricKey 在 AUTOSAR Adaptive Platform(Release R25-11,模块 crypto)中构成了表示对称加密密钥的核心接口。作为加密子系统的基础组成部分,该接口封装了对称加密算法所需的所有属性。该类直接派生自 CryptoObject(class SymmetricKey : public CryptoObject),从而融入 Adaptive Platform 加密实体的统一步骤对象层次结构中。该接口在头文件 ara/crypto/cryp/cryobj/symmetric_key.h [SWS_CRYPT_23801] 中声明。

交互方通常表现为加密执行上下文以及密钥管理实例。该接口充当密钥材料的生成或提供与其操作性应用之间的纽带。解释:对称密钥推测主要用于对称密码算法(例如分组密码或流密码)以及消息认证码(MAC)中,以在车辆级别保障机密性和数据完整性。 问题 (未决)通过封装为 CryptoObject,可确保密钥材料与具体的加密转换解耦。

生命周期

ara::crypto::cryp::SymmetricKey 实例的生命周期与现代 C++ 内存管理模式紧密挂钩。根据 [SWS_CRYPT_23801],该类提供了类型别名 Sptr,其定义为 using Sptr = std::shared_ptr<SymmetricKey>;。通过此共享智能指针,接口对象的生命周期通过引用计数进行确定性控制。

解释:在实践中,实例的实际创建和初始化推测通过加密栈的专用密钥生成器、加载例程或密钥管理组件进行,因为接口定义中并未提供用于直接进行原始密钥实例化的公有默认构造函数。 问题 Q-51acf16b99d9ad1b (未决)一旦密钥实例作为 Sptr 创建,它就可以被多个软件组件或加密上下文并发且以共享所有权的方式进行引用 [SWS_CRYPT_23801]。

底层资源的释放会在最后一个活动的 Sptr 被销毁或重置时自动进行。解释:派生自 CryptoObject 表明,内存中的敏感密钥材料会受到特殊保护,并在对象销毁时被安全清除(Zeroization),以防止在生命周期结束后被读取。 问题 (未决)使用 std::shared_ptr 还能保证管理引用计数器时的线程安全性,而对所引用的密钥对象本身的访问则遵循共享资源的常规同步规则。

使用路径

在 Adaptive 应用程序中常规使用 ara::crypto::cryp::SymmetricKey 遵循基于已定义智能指针的结构化流程 [SWS_CRYPT_23801]:

  • 头文件包含:首先,使用方软件组件包含头文件 #include "ara/crypto/cryp/cryobj/symmetric_key.h",以获取对类型定义和别名 Sptr 的访问权限 [SWS_CRYPT_23801]。
  • 密钥获取:应用程序以 ara::crypto::cryp::SymmetricKey::Sptr [SWS_CRYPT_23801] 的形式获取该接口,例如来自上游的密钥配置过程。
  • 有效性检查:在投入操作使用之前,调用方验证所获取的 Sptr 不等于 nullptr 并且指向完好的 CryptoObject。
  • 分配给加密上下文:将密钥指针传递给负责的加密上下文,以配置该上下文用于后续的加密或解密操作以及完整性检查。
  • 释放:在转换完成或应用上下文终止时,该指针被丢弃;密钥的销毁通过自动删除最后一个 Sptr [SWS_CRYPT_23801] 来实现。

本指南基于 AUTOSAR Adaptive Platform Release R25-11 规范。各项陈述均基于所引用的规范元素以及标明为解释的内容。

UML 类图

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

G nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

类型别名

Sptr 类型别名

Shared smart pointer of the interface.

类型别名文档

类型别名 Sptr [SWS_CRYPT_23801] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricKey>;

Shared smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/symmetric_key.h"
Scopeclass ara::crypto::cryp::SymmetricKey
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_23801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_23801@rel:R25-11#7385cc25
Content hash
7385cc25
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_23801
Status: valid/unmigrated Version: rel:R25-11#882653b8 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_23801@rel:R25-11#882653b8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d033faab2026-09-30
  • R19-11rel:R19-11#a0669f0d2026-10-14
  • R20-11rel:R20-11#c490e0a52026-10-14
  • R21-11rel:R21-11#c490e0a52026-10-14
  • R22-11rel:R22-11#b634ae6e2026-10-14
  • R23-11rel:R23-11#cb129b992026-10-14
  • R24-11rel:R24-11#cb129b992026-10-14
  • R25-11rel:R25-11#882653b82026-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