DEENESPTFRRUARHIKOZHNL

class ara::crypto::x509::CertSignRequest

[SWS_CRYPT_40300] Upstream: RS_CRYPTO_02306

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

Certificate Signing Request (CSR) object interface.

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

User GuideAI-GENERATED

Defines the interface for serializable X.509 certificate signing requests and their shared ownership management.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 3439f3ad3ffa Provenance Open questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Defines the interface for serializable X.509 certificate signing requests and their shared ownership management.

The interface ara::crypto::x509::CertSignRequest serves in AUTOSAR Adaptive as an abstraction for Certificate Signing Requests (CSR) and inherits from ara::crypto::Serializable to make certificate requests serializable for external certificate authorities. Lifetime and shared ownership are primarily governed via the type alias Sptrc, which is defined as std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. This const smart pointer ensures that CSR instances remain immutable after creation and can be safely read concurrently by multiple components.

Context

The C++ class ara::crypto::x509::CertSignRequest provides the abstract interface for certificate signing request objects (CSR) within the Adaptive Platform of AUTOSAR in module crypto. Declared in namespace ara::crypto::x509 and provided via the include path #include "ara/crypto/x509/cert_sign_request.h" [SWS_CRYPT_40301], this interface type forms the fundamental element for representing signing requests for digital certificates. According to its declaration syntax, the class directly inherits from the base interface ara::crypto::Serializable. This inheritance hierarchy establishes that concrete CSR objects are serializable, enabling the export, storage, and transmission of the structured request data across module and network boundaries.

In the overall architecture, CertSignRequest assumes the role of a data container and interaction partner between cryptographic services and application software. When an application wants to have new cryptographic key pairs certified for use in a public key infrastructure, this interface encapsulates all relevant details of the request. Presumably, the interface serves to encapsulate complete PKCS#10 or vendor-specific signing requests in a vendor-independent manner, with the concrete implementation provided by underlying crypto drivers. Question (open) Decoupling via a pure interface protects calling modules from implementation details and ensures functional exchangeability of the cryptographic backends.

Lifecycle

The creation and lifetime management of ara::crypto::x509::CertSignRequest follows the principles of modern C++ memory management for shared resources. For referencing and ownership, the specification defines the type alias Sptrc as std::shared_ptr<const CertSignRequest> [SWS_CRYPT_40301]. This smart pointer forms the authoritative model for ownership and passing of CSR instances between different software components.

Managed via std::shared_ptr, the lifecycle of an instance is subject to automated reference counting. The object exists for exactly as long as at least one active Sptrc pointer refers to it, and is automatically released upon destruction of the last referencing pointer. A central feature of the interface is the explicit binding of the smart pointer to type const CertSignRequest [SWS_CRYPT_40301]. This const qualification enforces semantic immutability: after the initial generation of the request, consumers must not modify the contained fields or signatures. This ensures the integrity of the signing request throughout its entire lifetime.

Regarding concurrency, a significant safety advantage results from the const pointer binding. Since the type alias CertSignRequest::Sptrc [SWS_CRYPT_40301] grants read-only access, multiple threads and system processes can process the same CSR instance concurrently and without additional mutex synchronization. Data races during concurrent read access are structurally excluded by the design of the interface.

Usage Path

The typical usage sequence is structured into provisioning, functional passing, and downstream serialization of the request. In the absence of public constructors in the interface payload, instantiation is typically performed by specialized X.509 providers in the crypto stack. Question Q-166e702484f51ee9 (open) The caller receives the completed instance back in the form of the const smart pointer CertSignRequest::Sptrc [SWS_CRYPT_40301].

Subsequently, the CSR object acts as an input data structure for validation or forwarding processes. Via the functionality inherited from ara::crypto::Serializable, the applying software can serialize the object into a platform-independent byte stream. This serialization likely typically results in standardized ASN.1 DER- or PEM-encoded data structures, which are subsequently transmitted to an external Certificate Authority or persisted in the file system. Question Q-b44960c0a712e65c (open) Across the entire call chain, the lifetime of the instance remains reliably secured by the held Sptrc [SWS_CRYPT_40301].

This guide was generated by an AI based on AUTOSAR Adaptive specification R25-11.

UML class diagram

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

G nara__crypto__x509__CertSignRequest934 CertSignRequest nara__crypto__Serializable855 Serializable nara__crypto__x509__CertSignRequest934->nara__crypto__Serializable855

Type aliases

Sptrc type alias

Smart pointer of the constant interface.

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

Type alias documentation

type alias Sptrc [SWS_CRYPT_40301] Upstream: RS_CRYPTO_02306

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

Smart pointer of the constant interface.

Header-Datei#include "ara/crypto/x509/cert_sign_request.h"
Scopeclass ara::crypto::x509::CertSignRequest
SymbolSptrc

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

Record
AUTOSAR/AP/record/SWS_CRYPT_40301
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_40301@rel:R25-11#76e481f8
Content hash
76e481f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_40301
Status: valid/unmigrated Version: rel:R25-11#aa84db48 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_40301@rel:R25-11#aa84db48
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#76e481f82026-09-30
  • R19-11rel:R19-11#429783692026-10-14
  • R20-11rel:R20-11#f279f00d2026-10-14
  • R21-11rel:R21-11#f279f00d2026-10-14
  • R22-11rel:R22-11#ba0930b52026-10-14
  • R23-11rel:R23-11#c98782022026-10-14
  • R24-11rel:R24-11#c98782022026-10-14
  • R25-11rel:R25-11#aa84db482026-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