DEENESPTFRRUARHIKOZHNL

класс ara::crypto::x509::CertificateValidationCtx

[SWS_CRYPT_50115] Upstream: RS_CRYPTO_02205

class CertificateValidationCtx {...};

Certificate Validation Context.

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::x509

Руководство пользователяСОЗДАНО ИИ

Служит для валидации пути сертификатов X.509 и цепочек сертификатов на основе сконфигурированных якорей доверия.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: aa16fb2bd5c5 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит для валидации пути сертификатов X.509 и цепочек сертификатов на основе сконфигурированных якорей доверия.

Класс ara::crypto::x509::CertificateValidationCtx служит для валидации сертификатов X.509 и полных цепочек сертификатов в соответствии с RFC 5280 ([SWS_CRYPT_50122]). Перед выполнением приложение конфигурирует контекст путем добавления якорей доверия, опциональных промежуточных сертификатов, моментов времени проверки, а также параметров проверки и при необходимости подключает ответы OCSP для проверки отзыва ([SWS_CRYPT_50117]). Если ответы OCSP регистрируются, параметры валидации должны обязательно определять соответствующее поведение OCSP во избежание ошибок несовместимости при проверке пути. Все методы интерфейса являются безопасными относительно исключений и рассчитаны на конкурентный доступ.

Контекст

Класс ara::crypto::x509::CertificateValidationCtx определяет стандартизированный интерфейс для валидации сертификатов X.509 и цепочек сертификатов в соответствии с RFC 5280 ([SWS_CRYPT_50122], [SWS_CRYPT_50123]). В общей системе AUTOSAR Adaptive Platform он берет на себя задачу подтверждения отношений доверия, верификации путей сертификатов и определения статуса криптографических сертификатов перед их использованием в отношениях безопасности.

В качестве центрального партнера по взаимодействию выступает вызывающее приложение, которое снабжает контекст якорями доверия ([SWS_CRYPT_50117]), недоверенными промежуточными сертификатами ([SWS_CRYPT_50118]), а также информацией об отзыве в виде ответов OCSP ([SWS_CRYPT_50124]). Результат валидации предоставляется как CertificateValidationResult ([SWS_CRYPT_50122]).

CertificateValidationCtxKontext Anwendung Anwendung CertificateValidationCtx CertificateValidationCtx Anwendung->CertificateValidationCtx конфигурирует и управляет CertificateValidationResult CertificateValidationResult CertificateValidationCtx->CertificateValidationResult предоставляет результат проверки Certificate Certificate Certificate->CertificateValidationCtx служит якорем доверия или проверяемым объектом OcspResponse OcspResponse OcspResponse->CertificateValidationCtx предоставляет статус отзыва

Контекстная диаграмма: интеграция CertificateValidationCtx между приложением, входными сертификатами, проверками отзыва и объектом результата. Источники: [SWS_CRYPT_50117], [SWS_CRYPT_50122], [SWS_CRYPT_50124].

Жизненный цикл

Экземпляры интерфейса управляются через псевдоним типа Sptr ([SWS_CRYPT_50116]) как std::shared_ptr<CertificateValidationCtx>, что обеспечивает разделяемое владение и гибкое управление временем жизни со стороны использующих программных компонентов. Поскольку речь идет о чисто виртуальном интерфейсном классе, открытый конструктор отсутствует; создание конкретного экземпляра контекста, по всей видимости, осуществляется через соответствующие функции создания провайдерной реализации криптографического стека. Вопрос Q-6ac4ee6766e22994 (открытый)

В отношении конкурентности все виртуальные функции-члены специфицированы как потокобезопасные (thread-safe) ([SWS_CRYPT_50117], [SWS_CRYPT_50120], [SWS_CRYPT_50122]). Кроме того, все методы гарантируют безопасность исключений (exception safe) и объявлены с noexcept ([SWS_CRYPT_50117], [SWS_CRYPT_50122]). С точки зрения состояния контекст ведет себя как конфигурируемый аккумулятор: он принимает параметры проверки, сертификаты и ответы о статусе и сохраняет их для шагов валидации.

Путь использования

Типичное использование контекста валидации подразделяется на структурированную последовательность шагов конфигурации и последующее выполнение валидации:

  1. Сохранение якорей доверия: с помощью AddTrustedCertificate ([SWS_CRYPT_50117]) добавляются один или несколько доверенных сертификатов в качестве исходных точек для валидации пути. Дополнительные недоверенные промежуточные сертификаты могут быть предоставлены через AddUntrustedCertificate ([SWS_CRYPT_50118]).
  2. Конфигурация правил валидации и опорного времени: через SetValidationOptions ([SWS_CRYPT_50120]) передается битовая маска для управления поведением при проверке. С помощью SetCurrentTime ([SWS_CRYPT_50121]) может быть задан явный момент времени для проверок действительности; если этот вызов опущен, контекст автоматически использует системное время ([SWS_CRYPT_50121]). Если требуется исключить из проверки определенные неподдерживаемые критические расширения, их OID можно зарегистрировать через IgnoreCriticalExtension ([SWS_CRYPT_50119]). Это не имеет эффекта, если установлена опция kIgnoreUnknownCriticalExtensions ([SWS_CRYPT_50119]).
  3. Дополнение информации об отзыве: через AddOcspResponse ([SWS_CRYPT_50124]) можно добавить один или несколько ответов OCSP. При этом издатель ответа OCSP должен быть либо предварительно сохранен в контексте в качестве сертификата, либо обладать атрибутом Extended Key Usage id-kp-OCSPSigning того же CA, либо передаваться через опциональный параметр trustedOcspIssuerCertificate ([SWS_CRYPT_50124]).
  4. Выполнение валидации: для проверки целевого сертификата служит ValidateCertificate ([SWS_CRYPT_50122]). В качестве альтернативы ValidateCertificateChain ([SWS_CRYPT_50123]) выполняет валидацию упорядоченной цепочки сертификатов, начиная с конечного сертификата в позиции 0. При этом сертификаты, зарегистрированные ранее через AddUntrustedCertificate, игнорируются, и исключительно переданная цепочка проверяется на соответствие доверенным сертификатам ([SWS_CRYPT_50123]).
Последовательность валидации сертификатаПриложениеCertificateValidationCtxAddTrustedCertificate(caCert)Result<void>SetValidationOptions(options)Result<void>optПроверка OCSPAddOcspResponse(ocspResp, issuerCert)Result<CertificateValidationStatus>ValidateCertificate(targetCert)Result<CertificateValidationResult::Sptrc>

Диаграмма последовательности: типичный порядок вызовов для конфигурации и валидации сертификатов. Источники: [SWS_CRYPT_50117], [SWS_CRYPT_50120], [SWS_CRYPT_50122], [SWS_CRYPT_50124].

Сценарии ошибок

Обработка ошибок осуществляется согласованно через ara::core::Result без исключений C++:

  • Недопустимые параметры конфигурации: если SetValidationOptions вызывается с недопустимой битовой маской, вызов завершается сбоем и возвращает код ошибки ara::crypto::CryptoErrc::kInvalidArgument с семантикой отката ([SWS_CRYPT_50120]).
  • Противоречивая конфигурация OCSP: если хотя бы один ответ OCSP был сохранен через AddOcspResponse без указания поведения для OCSP в CertificateValidationOptions, как ValidateCertificate ([SWS_CRYPT_50122]), так и ValidateCertificateChain ([SWS_CRYPT_50123]) возвращают ошибку ara::crypto::CryptoErrc::kIncompatibleArguments с семантикой отката.
  • Неудачная валидация OCSP: если подпись или происхождение ответа OCSP в AddOcspResponse ([SWS_CRYPT_50124]) не могут быть проверены на соответствие определенным критериям, функция возвращает соответствующий код состояния CertificateValidationStatus или ошибку, специфичную для реализации, вместо kValid.
  • Ошибки, специфичные для реализации: при внутренних неполадках криптографической библиотеки такие методы, как AddTrustedCertificate ([SWS_CRYPT_50117]) или IgnoreCriticalExtension ([SWS_CRYPT_50119]), могут сообщать специфичные для реализации коды ошибок в объекте результата.

Настоящее руководство основано на требованиях спецификации AUTOSAR Adaptive Platform R25-11.

Карта членов

Диаграмма классов

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

G nara__crypto__x509__CertificateValidationCtx565 CertificateValidationCtx + AddOcspResponse() + AddTrustedCertificate() + AddUntrustedCertificate() + IgnoreCriticalExtension() + SetCurrentTime() + SetValidationOptions() + ValidateCertificate() + ValidateCertificateChain()

Подробный вид

Выберите элемент в оглавлении.

Методы

AddOcspResponse функция

Validate and add an OCSP response to be used during certificate validation to the set of previously added OCSP responses. Multiple OCSP responses may be added to one context. In order to validate the OCSP response, the issuer of the OCSP response must have been a) set as a trusted or untrusted certificate in this context previously, or b) the CRL must have been signed by another certificate that has the id-kp-OCSPSigning extended key usage set issued by the same CA, or c) the CRL must be signed by a trusted CA passed to this function using the optional trustedOcspIssuerCertificate parameter.

virtual ara::core::Result< CertificateValidationStatus > AddOcsp Response (OcspResponse::Sptrc ocspResponse, ara::core::Optional< Certificate::Sptrc > trustedOcspIssuerCertificate) noexcept=0;
AddTrustedCertificate функция

Add a trusted certificates to be used during certificate path validation to the set of previously added trusted certificates.

virtual ara::core::Result< void > AddTrustedCertificate ( Certificate::Sptrc trustedCertificate) noexcept=0;

Add an untrusted certificate to be used during certificate path validation to the set of previously added untrusted certificates.

virtual ara::core::Result< void > AddUntrustedCertificate ( Certificate::Sptrc untrustedCertificate) noexcept=0;

Configure the context to ignore an extension during validation of certificates and OCSP responses, even if the extension is marked as critical and the validation context does not support the extension. It is the responsibility of the application to validate such extensions. Multiple invocations of this function lead to ignoring all passed extensions. This function has no effect if the kIgnoreUnknownCriticalExtensions validation option is set.

virtual ara::core::Result< void > IgnoreCriticalExtension (ara::core::StringView ignoredExtensionOid) noexcept=0;
SetCurrentTime функция

Set the reference time point to be used as the current time during certificate validation. If this function is not called, the system time will be used during certificate validation.

virtual ara::core::Result< void > SetCurrentTime (Timestamp current Time) noexcept=0;
SetValidationOptions функция

Set validation options to be used during certificate validation.

virtual ara::core::Result< void > SetValidationOptions (Certificate ValidationOptions CertificateValidationOptions) noexcept=0;
ValidateCertificate функция

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context.

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificate (Certificate::Sptrc certificate) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context. The function ignores any certificates added to the context via Add UntrustedCertificate. Instead, the function validates the provided chain against any trusted certificate that has been set using the function AddTrustedCertificate.

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificateChain (const ara::core::Span< Certificate::Sptrc > certificateChain) noexcept=0;

Псевдонимы типов

Sptr псевдоним типа

Smart pointer of the interface.

Документация методов

функция AddOcspResponse [SWS_CRYPT_50124] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationStatus > AddOcsp Response (OcspResponse::Sptrc ocspResponse, ara::core::Optional< Certificate::Sptrc > trustedOcspIssuerCertificate) noexcept=0;

Validate and add an OCSP response to be used during certificate validation to the set of previously added OCSP responses. Multiple OCSP responses may be added to one context. In order to validate the OCSP response, the issuer of the OCSP response must have been a) set as a trusted or untrusted certificate in this context previously, or b) the CRL must have been signed by another certificate that has the id-kp-OCSPSigning extended key usage set issued by the same CA, or c) the CRL must be signed by a trusted CA passed to this function using the optional trustedOcspIssuerCertificate parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8459f26838c0 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод AddOcspResponse класса ara::crypto::x509::CertificateValidationCtx валидирует переданный ответ OCSP (ocspResponse) и при его действительности добавляет его к набору ранее сохранённых ответов OCSP в контексте валидации [SWS_CRYPT_50124]. К контексту может быть добавлено несколько ответов [SWS_CRYPT_50124]. Через опциональный параметр trustedOcspIssuerCertificate может быть передан конкретный сертификат, считающийся доверенным при проверке ответа OCSP; если этот параметр опущен, валидация использует сертификаты, ранее сконфигурированные с помощью AddTrustedCertificate [SWS_CRYPT_50124].

Синхронный вызов возвращает ara::core::Result<CertificateValidationStatus>, которое при успешном принятии содержит статус kValid или в противном случае отражает результат валидации OCSP либо ошибку [SWS_CRYPT_50124].

Обработка ошибок

Спецификация не определяет стандартизированных кодов ошибок для этого вызова [SWS_CRYPT_50124]. В случае сбоя операции либо в результате передаётся соответствующий статус валидации, либо через объект Result сигнализируется специфичная для реализации ошибка [SWS_CRYPT_50124].

Параллелизм и ограничения

Операция специфицирована как thread-safe и exception-safe [SWS_CRYPT_50124]. Для успешной валидации ответа OCSP должно выполняться одно из следующих условий [SWS_CRYPT_50124]:

  • Издатель был ранее сохранён в контексте как доверенный или несанкционированный сертификат [SWS_CRYPT_50124].
  • Подпись исходит от сертификата с установленным расширением id-kp-OCSPSigning того же центра сертификации (CA) [SWS_CRYPT_50124].
  • Подпись исходит от доверенного CA, переданного напрямую через trustedOcspIssuerCertificate [SWS_CRYPT_50124].

Взаимодействие

Зарегистрированные ответы OCSP учитываются в последующих проверках валидации, таких как выполняемые [SWS_CRYPT_50122] (ValidateCertificate) и [SWS_CRYPT_50123] (ValidateCertificateChain). Интерпретация: по всей видимости, ответы OCSP должны добавляться до запуска валидации пути, чтобы можно было учесть статус отзыва сертификатов. Вопрос Q-fbb0711617fd7895 (открытый)

Этот текст был сгенерирован ИИ на основе данных спецификации.

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
ocspResponseThe OCSP response to be used during certificate validation.
trustedOcspIssuerCertificateIf provided, the certificate to be considered trusted during validation of the OCSP response. If not provided, the certificates added via AddTrustedCertificate are considered trusted.

Rückgabewert

TypBeschreibung
ara::core::Result<CertificateValidationStatus >a result containing kValid if the response was added, or the result of the OCSP response validation, or an implementation specific error otherwise.

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

функция AddTrustedCertificate [SWS_CRYPT_50117] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > AddTrustedCertificate ( Certificate::Sptrc trustedCertificate) noexcept=0;

Add a trusted certificates to be used during certificate path validation to the set of previously added trusted certificates.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 715eb0a30fe3 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод AddTrustedCertificate класса ara::crypto::x509::CertificateValidationCtx дополняет набор доверенных сертификатов для последующих валидаций ещё одним сертификатом [SWS_CRYPT_50117].

Использование

Вызов осуществляется через интерфейс в ara/crypto/x509/certificate_validation_ctx.h. В качестве параметра передаётся trustedCertificate типа Certificate::Sptrc, который считается доверенным при валидации пути сертификации [SWS_CRYPT_50117]. При успешном выполнении функция возвращает пустой ara::core::Result<void> [SWS_CRYPT_50117].

Обработка ошибок

Спецификация не определяет стандартизированных кодов ошибок для этой функции [SWS_CRYPT_50117]. Если во время обработки возникает ошибка, через ara::core::Result возвращается специфичная для реализации ошибка [SWS_CRYPT_50117].

Параллелизм и ограничения

Метод объявлен как noexcept=0, считается исключениебезопасным (exception safe) и явно специфицирован как потокобезопасный (thread-safe) [SWS_CRYPT_50117].

Взаимодействие

Зарегистрированные доверенные сертификаты взаимодействуют с другими функциями контекста валидации:

  • В ValidateCertificateChain цепочка сертификатов валидируется согласно RFC 5280 по доверенным сертификатам, ранее сохранённым через AddTrustedCertificate, в то время как не vàлидные/недоверенные сертификаты игнорируются [SWS_CRYPT_50123].
  • В AddOcspResponse ранее установленный в контексте доверенный сертификат может привлекаться в качестве издателя для проверки действительности OCSP-ответа [SWS_CRYPT_50124].

Это указание по использованию было сгенерировано автоматически на основе версии спецификации R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
trustedCertificatea certificate to be considered trusted during certificate path validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, 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_50117
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50117@rel:R25-11#330ac24b
Content hash
330ac24b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50117
Status: valid/unmigrated Version: rel:R25-11#d31aab33 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_50117@rel:R25-11#d31aab33
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

функция AddUntrustedCertificate [SWS_CRYPT_50118] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > AddUntrustedCertificate ( Certificate::Sptrc untrustedCertificate) noexcept=0;

Add an untrusted certificate to be used during certificate path validation to the set of previously added untrusted certificates.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1896ca7ced68 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод AddUntrustedCertificate типа контекста ara::crypto::x509::CertificateValidationCtx добавляет недоверенный сертификат ко множеству ранее зарегистрированных сертификатов, чтобы он мог быть учтен во время валидации пути сертификации [SWS_CRYPT_50118]. Подключение осуществляется через заголовочный файл #include "ara/crypto/x509/certificate_validation_ctx.h" [SWS_CRYPT_50118]. В качестве параметра передается умный указатель на учитываемый сертификат (Certificate::Sptrc untrustedCertificate) [SWS_CRYPT_50118]. Поскольку метод непосредственно возвращает ara::core::Result<void>, регистрация, вероятно, выполняется синхронно [SWS_CRYPT_50118]. Вопрос Q-879b384ff6efe687 (открытый)

Что касается обработки ошибок, AUTOSAR не специфицирует стандартизированных кодов ошибок для этого интерфейса [SWS_CRYPT_50118]. В случае успеха возвращаемое ara::core::Result не содержит значения (void); в случае ошибки оно возвращает код ошибки, специфичный для реализации [SWS_CRYPT_50118]. Поэтому вызывающие компоненты перед дальнейшим использованием контекста валидации должны проверять объект Result на наличие ошибок. Метод объявлен как noexcept и классифицирован как безисключительный (exception safe), вследствие чего исключения C++ не распространяются через границу интерфейса [SWS_CRYPT_50118].

Операция явно объявлена как потокобезопасная (thread-safe) [SWS_CRYPT_50118]. Таким образом, несколько потоков могут параллельно подавать сертификаты в один и тот же контекст валидации. Вызов целесообразно выполнять до запуска валидации пути, чтобы гарантировать готовность всех необходимых сертификатов для алгоритма валидации [SWS_CRYPT_50118].

Это указание по использованию было сгенерировано ИИ и базируется на версии спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
untrustedCertificatea certificate to be considered untrusted during certificate path validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, 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_50118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50118@rel:R25-11#25dbc9ef
Content hash
25dbc9ef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50118
Status: valid/unmigrated Version: rel:R25-11#6956d0c9 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_50118@rel:R25-11#6956d0c9
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

функция IgnoreCriticalExtension [SWS_CRYPT_50119] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > IgnoreCriticalExtension (ara::core::StringView ignoredExtensionOid) noexcept=0;

Configure the context to ignore an extension during validation of certificates and OCSP responses, even if the extension is marked as critical and the validation context does not support the extension. It is the responsibility of the application to validate such extensions. Multiple invocations of this function lead to ignoring all passed extensions. This function has no effect if the kIgnoreUnknownCriticalExtensions validation option is set.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7db4b0cd4a9e Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод IgnoreCriticalExtension для [SWS_CRYPT_50119] конфигурирует экземпляр ara::crypto::x509::CertificateValidationCtx таким образом, чтобы конкретное расширение сертификата игнорировалось при проверке сертификатов, а также ответов OCSP. Это справедливо и в том случае, если расширение помечено как критическое и изначально не поддерживается контекстом валидации. Параметр ignoredExtensionOid принимает OID игнорируемого расширения как ara::core::StringView. Многократные вызовы приводят к тому, что игнорируются OID всех переданных расширений. Выполнение происходит синхронно и объявлено как noexcept.

Обработка ошибок и параллелизм

Функция не специфицирует стандартизированных кодов ошибок; в случае успеха она возвращает пустое ara::core::Result<void>, тогда как в случае ошибки содержится код ошибки, специфичный для реализации [SWS_CRYPT_50119]. В отношении параллелизма интерфейс специфицирован как потокобезопасный (thread-safe) и безисключительный (exception safe).

Ограничения и взаимодействие

Если критическое расширение игнорируется, содержательная валидация этого расширения полностью лежит на ответственности приложения [SWS_CRYPT_50119]. Если установлен параметр валидации kIgnoreUnknownCriticalExtensions, вызов не оказывает дополнительного действия. Пропуск неподдерживаемых критических расширений, по-видимому, предотвращает сбой последующей проверки пути в рамках [SWS_CRYPT_40203] (например, при определении CertificateValidationStatus). Вопрос Q-a087c9a9543c092a (открытый)

Этот текст был создан ИИ.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
ignoredExtensionOidthe OID of the extension to be ignored during certificate and OCSP response validation

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, 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_50119
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50119@rel:R25-11#c49f4fc5
Content hash
c49f4fc5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50119
Status: valid/unmigrated Version: rel:R25-11#fedabb0a 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_50119@rel:R25-11#fedabb0a
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

функция SetCurrentTime [SWS_CRYPT_50121] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > SetCurrentTime (Timestamp current Time) noexcept=0;

Set the reference time point to be used as the current time during certificate validation. If this function is not called, the system time will be used during certificate validation.

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

Parameter (in)

ParameterBeschreibung
currentTimeThe time point to be used as the current time during certificate validation.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, 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_50121
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50121@rel:R25-11#6a2e1710
Content hash
6a2e1710
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50121
Status: valid/unmigrated Version: rel:R25-11#9a207572 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_50121@rel:R25-11#9a207572
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

функция SetValidationOptions [SWS_CRYPT_50120] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< void > SetValidationOptions (Certificate ValidationOptions CertificateValidationOptions) noexcept=0;

Set validation options to be used during certificate validation.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e7e89f73aaa9 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод SetValidationOptions класса ara::crypto::x509::CertificateValidationCtx служит согласно [SWS_CRYPT_50120] для задания опций выполнения валидации сертификатов. В качестве параметра чисто виртуальная функция ожидает CertificateValidationOptions — битовую маску для идентификации требуемых опций валидации. Вызов предоставляется через заголовочный файл ara/crypto/x509/certificate_validation_ctx.h.

Обработка ошибок

Интерфейс согласно [SWS_CRYPT_50120] возвращает ara::core::Result<void>. При успешном выполнении результат не содержит значения (пустой результат). Если для опций передано недопустимое значение, операция завершается с кодом ошибки ara::crypto::CryptoErrc::kInvalidArgument. При этом действует семантика отката. При возникновении другой ошибки может быть возвращён зависящий от реализации код ошибки.

Параллелизм и ограничения

Согласно [SWS_CRYPT_50120] метод специфицирован как потокобезопасный (thread-safe) и может вызываться конкурентно. Кроме того, он объявлен как исключениебезопасный (exception safe), а также с noexcept, вследствие чего выброс исключений через границу интерфейса запрещён.

Этот текст был сгенерирован ИИ на основе AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
CertificateValidationOptionsA bitmask identifying validation options. The semantics of each option is specified in the CertificateValidationOptions type.

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result on success, or an implementation specific error.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics an invalid CertificateValidationOptions has been provided

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

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

функция ValidateCertificate [SWS_CRYPT_50122] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificate (Certificate::Sptrc certificate) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8c454149c627 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод ValidateCertificate класса ara::crypto::x509::CertificateValidationCtx из заголовочного файла ara/crypto/x509/certificate_validation_ctx.h выполняет синхронную валидацию пути сертификации согласно RFC 5280 [SWS_CRYPT_50122]. Проверка валидации осуществляется на основе предварительной конфигурации контекста экземпляра. В качестве единственного входного параметра проверяемый сертификат передаётся через указатель certificate типа Certificate::Sptrc [SWS_CRYPT_50122].

В качестве типа возвращаемого значения служит ara::core::Result<CertificateValidationResult::Sptrc>, который в случае успеха содержит указатель на результат валидации или в случае ошибки предоставляет код ошибки [SWS_CRYPT_50122]. Наряду со специфичными для реализации ошибками может возникать конкретный код ошибки ara::crypto::CryptoErrc::kIncompatibleArguments [SWS_CRYPT_50122]. Он обладает семантикой отката и возвращается, если с помощью AddOcspResponse был сохранён ответ OCSP, однако сконфигурированные CertificateValidationOptions не специфицируют поведение OCSP.

В отношении безопасности выполнения и конкурентности метод специфицирован как потокобезопасный (thread-safe) и исключебезопасный (exception safe) и не генерирует исключений (noexcept) [SWS_CRYPT_50122]. В качестве условия очерёдности следует учитывать, что контекст валидации должен быть предварительно инициализирован и сконфигурирован, поскольку проверка опирается непосредственно на его предварительные настройки [SWS_CRYPT_50122].

Это указание по использованию основано на спецификации AUTOSAR Adaptive Platform R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
certificateThe certificate to be validated.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if an OCSP response has been set via AddOcspResponse, but the CertificateValidationOptions do not specify the OCSP behavior.

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

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

функция ValidateCertificateChain [SWS_CRYPT_50123] Upstream: RS_CRYPTO_02306

virtual ara::core::Result< CertificateValidationResult::Sptrc > ValidateCertificateChain (const ara::core::Span< Certificate::Sptrc > certificateChain) noexcept=0;

Performs certificate path validation according to RFC 5280 and according to the previous configuration of the context. The function ignores any certificates added to the context via Add UntrustedCertificate. Instead, the function validates the provided chain against any trusted certificate that has been set using the function AddTrustedCertificate.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3d06a1d393b7 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод ValidateCertificateChain в контексте ara::crypto::x509::CertificateValidationCtx выполняет синхронную валидацию пути цепочки сертификатов согласно RFC 5280 [SWS_CRYPT_50123].

Использование и параметры

В качестве входных данных функция ожидает через параметр certificateChain цепочку типа ara::core::Span<Certificate::Sptrc>. При этом элемент 0 представляет конечный сертификат (Leaf Certificate), тогда как каждый последующий элемент должен содержать издателя непосредственно предшествующего сертификата [SWS_CRYPT_50123]. Функция игнорирует сертификаты, ранее зарегистрированные через AddUntrustedCertificate, и валидирует переданную цепочку исключительно относительно якорей доверия, сохраненных с помощью AddTrustedCertificate [SWS_CRYPT_50123].

Обработка ошибок

Результат предоставляется инкапсулированным как ara::core::Result<CertificateValidationResult::Sptrc>, которое содержит либо указатель на результат валидации, либо код ошибки [SWS_CRYPT_50123]. Ошибка ara::crypto::CryptoErrc::kIncompatibleArguments возникает с семантикой отката, если ранее через AddOcspResponse был установлен OCSP-ответ, однако текущие CertificateValidationOptions не определяют поведение OCSP [SWS_CRYPT_50123]. Другие причины ошибок возвращаются в виде зависимых от реализации кодов ошибок [SWS_CRYPT_50123].

Параллелизм и надёжность выполнения

Интерфейс объявлен как noexcept, считается безопасным к исключениям (exception safe) и классифицирован как потокобезопасный (thread-safe) для параллельного доступа [SWS_CRYPT_50123].

Этот текст был сгенерирован ИИ и служит для технической ориентации.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
certificateChainThe certificate chain to be validated. Element 0 contains the leaf certificate and each subsequent certificate contains the issuer of the previous certificate.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if an OCSP response has been set via AddOcspResponse, but the CertificateValidationOptions do not specify the OCSP behavior.

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

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

Документация псевдонимов типов

псевдоним типа Sptr [SWS_CRYPT_50116] Upstream: RS_CRYPTO_02205

using Sptr = std::shared_ptr<CertificateValidationCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/x509/certificate_validation_ctx.h"
Scopeclass ara::crypto::x509::CertificateValidationCtx
SymbolSptr

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

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