DEENESPTFRRUARHIKOZHNL

类 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"
Scopenamespace ara::crypto::x509

用户指南人工智能生成

提供 X.509 证书检查的结果,包含状态、找到的证书链和错误证书。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 1ece3477b66c 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

提供 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]。
查询验证结果应用CertificateValidationResultGetValidationStatus()Result<CertificateValidationStatus>altValidierung erfolgreich (kValid)GetCertificateChain()Result<Vector<Certificate::Sptrc>>Validierung fehlgeschlagenGetFailedCertificate()Result<Certificate::Sptrc>

时序图:用于查询验证状态、证书链和错误原因的典型流程。来源:[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.

G nara__crypto__x509__CertificateValidationResult372 CertificateValidationResult + GetCertificateChain() + GetFailedCertificate() + GetValidationStatus()

详细视图

请在大纲中选择一个条目。

方法

Get the certificate chain found during certificate validation.

virtual ara::core::Result< ara::core::Vector< Certificate::Sptrc > > GetCertificateChain () const noexcept=0;

Get the certificate that caused the certificate path validation to fail.

virtual ara::core::Result< Certificate::Sptrc > GetFailedCertificate () const noexcept=0;

Get the result of the certificate validation.

virtual ara::core::Result< CertificateValidationStatus > GetValidation Status () const noexcept=0;

类型别名

Sptrc 类型别名

Smart pointer of the interface.

方法文档

函数 GetCertificateChain [SWS_CRYPT_50096] Upstream: RS_CRYPTO_02306

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)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

类 ara::crypto::x509::CertificateValidationResult 的方法 GetCertificateChain 通过头文件 #include "ara/crypto/x509/certificate_validation_result.h" 提供 [SWS_CRYPT_50096]。它用于同步检索在证书验证过程中找到的证书链 [SWS_CRYPT_50096]。

该接口不期待任何参数,并同步返回一个 ara::core::Result<ara::core::Vector<Certificate::Sptrc>> [SWS_CRYPT_50096]。生成的向量包含指向已验证链的证书的智能指针,从索引位置 0 处的叶证书开始 [SWS_CRYPT_50096]。

错误处理

对于此函数,未指定标准化错误 [SWS_CRYPT_50096]。解释:由于返回值仍被类型化为 ara::core::Result,出现的错误情况可能完全归因于厂商特定的实现细节。 问题 Q-967fe725a5505c11 (未决)

并发性与限制

该方法被声明为纯虚函数,标明为 const 以及 noexcept,并明确指定为 thread-safe 以及 exception safe [SWS_CRYPT_50096]。因此,在同一实例上的并行调用是安全可行的,无需外部同步。

相互作用

该函数满足 Adaptive Platform 模块 crypt 中的上层需求 [RS_CRYPTO_02306] [SWS_CRYPT_50096]。

本文本由 AI 系统基于 AUTOSAR R25-11 规范生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/crypto/x509/certificate_validation_result.h"
Scopeclass ara::crypto::x509::CertificateValidationResult
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<ara::core::Vector<Certificate::Sptrc > >A vector containing the found certificate chain, beginning with the leaf certificate at position 0.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50096
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50096@rel:R25-11#cb0101f1
Content hash
cb0101f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50096
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:
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

函数 GetFailedCertificate [SWS_CRYPT_50095] Upstream: RS_CRYPTO_02306

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 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

类 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)

Header-Datei#include "ara/crypto/x509/certificate_validation_result.h"
Scopeclass ara::crypto::x509::CertificateValidationResult
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<Certificate::Sptrc >A result containing the certificate that caused the certificate path validation to fail

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the certificate validation returned kValid, i.e., no certificate caused the validation to fail.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50095
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50095@rel:R25-11#1b13c071
Content hash
1b13c071
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50095
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:
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

函数 GetValidationStatus [SWS_CRYPT_50094] Upstream: RS_CRYPTO_02306

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 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

方法 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)

Header-Datei#include "ara/crypto/x509/certificate_validation_result.h"
Scopeclass ara::crypto::x509::CertificateValidationResult
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<CertificateValidationStatus >The result of the certificate validation, or an implementation specific error.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50094
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50094@rel:R25-11#fe447e15
Content hash
fe447e15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50094
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:
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

类型别名文档

类型别名 Sptrc [SWS_CRYPT_50093] Upstream: RS_CRYPTO_02306

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

Smart pointer of the interface.

Header-Datei#include "ara/crypto/x509/certificate_validation_result.h"
Scopeclass ara::crypto::x509::CertificateValidationResult
SymbolSptrc

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50093
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50093@rel:R25-11#743b7c07
Content hash
743b7c07
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50093
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:
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