类 ara::crypto::x509::CertificateValidationResult
[SWS_CRYPT_50179] Upstream: RS_CRYPTO_02306
class CertificateValidationResult {...};
X.509 Certificate Validation Result.
| Header-Datei | #include "ara/crypto/x509/certificate_validation_result.h" |
|---|
| Forwarding-Header | #include "ara/crypto/crypto_fwd.h" |
|---|
| Scope | namespace ara::crypto::x509 |
|---|
用户指南人工智能生成
提供 X.509 证书检查的结果,包含状态、找到的证书链和错误证书。
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 1ece3477b66c
来源
未决问题(1)
提供 X.509 证书检查的结果,包含状态、找到的证书链和错误证书。
接口 ara::crypto::x509::CertificateValidationResult 提供 X.509 证书验证的结果,通常作为不可变的 Sptrc 进行管理 [SWS_CRYPT_50093]。应用程序通过其方法查询整体状态、获取位置 0 处为叶证书的完整证书链,或者隔离失败的证书。如果检查成功,则获取错误证书的调用将失败并返回错误代码 ara::crypto::CryptoErrc::kNoSuchValue [SWS_CRYPT_50095]。在此过程中,所有接口方法均被设计为线程安全且异常安全。
上下文
接口 ara::crypto::x509::CertificateValidationResult 封装了 Adaptive 模块 crypto 内部 X.509 证书验证过程的结果。其主要职责是为调用方应用程序提供结构化且一致的检查结果。这既包括证书路径的聚合验证状态,也包括对相关证书对象的访问。作为内部密码学验证机制与安全关键型应用程序之间的中介,该类允许对证书层级进行细分评估。其实例化交互伙伴包括 Certificate::Sptrc 的实例,这些实例既可以组合为完整的证书链,也可以在发生错误时被标明为失败的原因。
生命周期
作为纯虚接口,CertificateValidationResult 没有定义自己的公共构造函数。生命周期和所有权关系主要由类型化智能指针 Sptrc 控制,该指针定义为 std::shared_ptr<const CertificateValidationResult> [SWS_CRYPT_50093]。该常量指针建立了共享的、不可变的所有权模型:在证书验证完成后,结果对象作为不可修改的快照提供。具体实例的创建和初始化大概由平台后端的高级验证函数在内部完成。 问题 Q-a5580dcf443b0905 (未决)由于所有成员函数均被声明为 const 以及 noexcept,并且显式指定为线程安全和异常安全([SWS_CRYPT_50094]、[SWS_CRYPT_50095]、[SWS_CRYPT_50096]),因此多个线程可以并发访问同一实例而无需额外的同步措施,直到最后一个引用被释放。
使用路径
典型的使用路径始于从先前的证书检查中接收到 CertificateValidationResult::Sptrc 实例之后。调用方按照标准化顺序执行评估:
- 首先,应用程序调用
GetValidationStatus(),以将证书验证的基本结果作为 CertificateValidationStatus 查询 [SWS_CRYPT_50094]。
- 如果验证成功,客户端调用
GetCertificateChain(),以将检查过程中找到的证书链作为 ara::core::Vector<Certificate::Sptrc> 获取 [SWS_CRYPT_50096]。根据规范,该链在索引位置 0 处始终以叶证书(Leaf Certificate)开头 [SWS_CRYPT_50096]。
- 相反,如果路径验证失败,调用方调用
GetFailedCertificate(),以专门确定触发了验证错误的证书 [SWS_CRYPT_50095]。
时序图:用于查询验证状态、证书链和错误原因的典型流程。来源:[SWS_CRYPT_50094]、[SWS_CRYPT_50095]、[SWS_CRYPT_50096]
错误场景
该接口的错误管理基于 ara::core::Result,其中所有调用均遵循 noexcept 保证并且是异常安全的:
- 成功验证与
GetFailedCertificate():如果检查成功完成(返回值 kValid),则没有任何证书导致失败。在这种状态下,调用 GetFailedCertificate() 将失败并返回错误代码 ara::crypto::CryptoErrc::kNoSuchValue [SWS_CRYPT_50095]。应用程序必须将该错误解释为无错误证书链的逻辑确认,或者将该调用与否定状态关联起来。
- 实现特定的状态错误:对于
GetValidationStatus() 未定义标准化的错误代码,但实现特定的错误会封装在返回的 ara::core::Result 中 [SWS_CRYPT_50094]。
- 证书链查询:
GetCertificateChain() 同样未指定标准化的错误代码 [SWS_CRYPT_50096];任何内部错误状态均通过生成的 ara::core::Result 发出信号。
本指南完全基于 Release R25-11 中 crypto 模块的 AUTOSAR Adaptive 规范。
成员图
类图
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
详细视图
此版本没有元素数据
方法
Get the certificate chain found during certificate validation.
Get the certificate that caused the certificate path validation to fail.
Get the result of the certificate validation.
类型别名
Smart pointer of the interface.
方法文档
virtual ara::core::Result< ara::core::Vector< Certificate::Sptrc > > GetCertificateChain () const noexcept=0;
Get the certificate chain found during certificate validation.
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: dd73a4abf162
来源
未决问题(1)
本文本由 AI 系统基于 AUTOSAR R25-11 规范生成。
实现者指南即将推出(复杂度 I1)
Rückgabewert
| Typ | Beschreibung |
|---|
| ara::core::Result<ara::core::Vector<Certificate::Sptrc > > | A vector containing the found certificate chain, beginning with the leaf certificate at position 0. |
Fehler
| Fehlercode | Beschreibung |
|---|
| This function does not specify any standardized errors. |
Status: valid/unmigrated
Version: rel:R25-11#f119a26e
Versionshistorie & Revisions (1 transition)
- 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_50096@rel:R25-11#f119a26e
Point-in-Time History:
Historical Snapshot:
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
virtual ara::core::Result< Certificate::Sptrc > GetFailedCertificate () const noexcept=0;
Get the certificate that caused the certificate path validation to fail.
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 416a503d8d3e
来源
使用
类 ara::crypto::x509::CertificateValidationResult 的同步接口方法 GetFailedCertificate 用于有针对性地检索导致证书路径验证失败的证书 [SWS_CRYPT_50095]。该函数可通过头文件 ara/crypto/x509/certificate_validation_result.h 获取,且在调用时不带传入参数 [SWS_CRYPT_50095]。作为返回值,它提供一个类型为 ara::core::Result<Certificate::Sptrc> 的 Result 对象,在成功的情况下封装了指向导致错误的证书的智能指针 [SWS_CRYPT_50095]。
错误处理
相反,如果先前的证书路径验证成功(结果 kValid),则相应地没有证书导致验证错误 [SWS_CRYPT_50095]。在此配置下,GetFailedCertificate 报告错误,并在 Result 对象中提供具有已记录回滚语义的特定错误代码 ara::crypto::CryptoErrc::kNoSuchValue [SWS_CRYPT_50095]。因此,调用组件在访问证书指针之前,必须强制检查 ara::core::Result 是否包含错误代码,以防止错误访问。
并发性与限制
该成员函数被声明为带有修饰符 const 以及 noexcept 的纯查询操作 [SWS_CRYPT_50095]。根据规范要求,它被实现为完全异常安全(exception safe)和线程安全(thread-safe)[SWS_CRYPT_50095]。因此,可以安全地从多个线程并发调用该方法,而无需额外的同步措施。
该文本由 AI 创建,基于 AUTOSAR R25-11 规范。
实现者指南即将推出(复杂度 I1)
Rückgabewert
Fehler
Status: valid/unmigrated
Version: rel:R25-11#a460c4b9
Versionshistorie & Revisions (1 transition)
- 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_50095@rel:R25-11#a460c4b9
Point-in-Time History:
Historical Snapshot:
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
virtual ara::core::Result< CertificateValidationStatus > GetValidation Status () const noexcept=0;
Get the result of the certificate validation.
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6c769a28da81
来源
使用
方法 GetValidationStatus 用于同步检索证书检查的验证结果 [SWS_CRYPT_50094]。它被声明为接口 ara::crypto::x509::CertificateValidationResult 的纯虚常量成员函数,并通过头文件 ara/crypto/x509/certificate_validation_result.h 包含 [SWS_CRYPT_50094]。该函数不接收传入参数,并返回一个 ara::core::Result<CertificateValidationStatus>,在成功的情况下封装了证书验证的状态 [SWS_CRYPT_50094]。
错误处理
对于 GetValidationStatus,未规定标准化的错误代码 [SWS_CRYPT_50094]。如果状态的评估或确定失败,返回的 ara::core::Result 将包含实现特定的错误代码作为替代 [SWS_CRYPT_50094]。因此,调用方在访问实际状态值之前,必须始终检查 Result 对象是否存在错误状态。
并发性与限制
该操作被指定为 noexcept,并明确指定为线程安全(thread-safe)和异常安全(exception safe)[SWS_CRYPT_50094]。因此,它可以安全地在同一实例上由不同线程并发调用,而无需额外的同步机制。
本使用说明基于 AUTOSAR Adaptive R25-11 规范自动生成。
实现者指南即将推出(复杂度 I2)
Rückgabewert
| Typ | Beschreibung |
|---|
| ara::core::Result<CertificateValidationStatus > | The result of the certificate validation, or an implementation specific error. |
Fehler
| Fehlercode | Beschreibung |
|---|
| This function does not specify any standardized errors. |
Status: valid/unmigrated
Version: rel:R25-11#e76328ae
Versionshistorie & Revisions (1 transition)
- 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_50094@rel:R25-11#e76328ae
Point-in-Time History:
Historical Snapshot:
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
类型别名文档
using Sptrc = std::shared_ptr<const CertificateValidationResult>;
Smart pointer of the interface.
Status: valid/unmigrated
Version: rel:R25-11#0adf21c8
Versionshistorie & Revisions (1 transition)
- 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_50093@rel:R25-11#0adf21c8
Point-in-Time History:
Historical Snapshot:
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · 德文原文